Re: [gnome-db] getting mergeant to 1.0



> Hi
>
> Now that libgda/libgnomedb 1.0 are out, apart from fixing things on
> them, we should now concentrate on getting mergeant to a 1.0 state.
>
> So, since Vivien is being working on libmergeant, I have been thinking
> on the UI.
>
> So, several things:
>
> * Vivien, is libmergeant supposed to be used by external apps, or only
> by mergeant?

The intent of libmergeant is to move as much possible functionnalities out
of mergeant so that other programs can be built with libmergeant. For
example I've built a small program with 10 forms in about 400 lines of
code (and most of that is for menus, etc).

>
> * The current mergeant UI has a lot of problems, so I'd like to take
> advantage of the rewrite to think about the UI and try to come up with a
> very nice one. Things to take in mind, following GNOME guidelines, are
> simplicity, ease of use and, of course, following the HIG.

I totally agree with you about that!

>
> So, I would like to discuss about several things:
>
> * the UI should be more document oriented, or, IMO, should just not use
> a file at all. That is, since we use data sources, it just adds
> confusion to have users opening a .mergeant file and then defining a
> data source for that file. I think we should just use data sources.

Libmergeant needs to store the 'dictionnary' it has built into an XML file
(BTW, there is one such file for each data source to be used, the data
source is indicated within that XML file). I think we could make a nice
GUI which hides that file (in a ~/.mergeant directory if you want).

>
> * the icon and label on the main window when no connections are open is
> just too ugly. I think mergeant should start by asking the user to
> connect to a data source, and just open a new window when the user has
> established the connection.

Right, it should 'remember' which data sources have already been used (by
looking into ~/.mergeant for a 'dictionnary' file) and also propose to use
another data source. If there is a 'dictionnary' file for a datasource,
then opening the connection to the DBMS is not required.

>
> * since mergeant keeps a lot of info in the file, and if we dont use it,
> we could have a private area ($HOME/.mergeant) where all that info is
> kept. A sort of cache, but totally transparent to users.

Yes, see my comments above.

>
> * there should be a clear way to open several data sources. I think we
> could have something like galeon/epiphany, which lets you open pages
> either in tabs or in new windows. We could have something similar.

Yes (maybe each connection in its own window to avoid user confusion).

>
> * we should think on including some scripting support from the
> beginning, so that users can write their own code to manage forms,
> reports, etc.

Forms are directly provided by the libmergeant library, so that feature
should go into it.

>
> I have been looking at some apps for Mac OS:
>
> FileMaker: http://www.filemaker.com/products/fm_home.html
> CocoaMySQL: http://cocoamysql.sourceforge.net/
> DBEdit: http://www.rubicode.com/Software/DBEdit/
>

There is also TORA: http://www.globecom.se/tora/


> Things that I've liked:
>
> * In CocoaMySQL, I like the left pane, where there is a combo box to
> select the kind of types being displayed. I think a UI like that one for
> each tab (each open data source) might look ok. Or, we could use the
> Navicat's tree-based UI
> (http://www.mysqlstudio.com/img/mac_detail_interface01.jpg). I prefer
> myself COCOA's one.

Yes, either have advantages and drawbacks (depending on what information
you need at the same time on the screen). Maybe offer both possibilities ?


Note about Libmergeant's status: I will put it into CVS on Friday (I won't
have the time before that).

Thanks,

Vivien



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]