Mergeant, 1999,2002 (c)  Vivien Malerba <malerba@linuxave.net>
___________________________________________________________


****  WARNING  ****
*    
*    This program is still considered as beta software, and thus it might
*    corrupt your data. So do not use this software for production
*    purposes. See the BUGS and TODO files for more information.
*
*******************



Mergeant is a program which helps administer a DBMS database using the gnome-db
framework (see http://www.gnome.org/gnome-db/ for more information about
gnome-db). Basically, it memorizes all the structure of the database, and some
queries, and does the SQL queries instead of the user (not having to type all
over again those SQL commands, although it is still possible to do so). 

The program requires the Gnome libraries, gnome-db and Gtk to be installed 
correctly. You will also need a working DBMS installation (with some DB you can
access with Mergeant).

Mergeant is distributed under the terms of the GNU General Public License V2.0
(read the COPYING file provided with this package).



****  DISCLAIMER  ****

    Mergeant comes with NO WARRANTY AT ALL!!! Take a look at
    the COPYING file for more info. Basically, if it breaks something
    (for example your beloved DB), or whatever you are not happy with,
    IT'S NOT MY FAULT!



**** Gnome-db, libgda, CORBA, Bonobo, OAF, GConf, ... ****
    All these are new technologies, some are already part of the 
    GNOME installation, and some are for future versions of GNOME.
    This means that before Mergeant can work, you need to install all these
    libraries/programs. 



**** Compiling and Installing is (relatively) easy ****

    Before trying to compile or use Mergeant, make sure you have a fully 
    configured and working gnome-db (and libgda) installation.    

    Configuring Mergeant is a simple matter or runing the "configure" script. The
    option --with-gnome-db=/path/to/gnome-db can be used if the script cannot
    find where gnome-db is installed (see configure --help for more information
    on all the options)

    Bonobo usage:
    From version 0.5.3, Mergeant uses bonobo, and from version 0.5.5 its use
    is mandatory.

    So to configure and build Mergeant, do something like: 
    ./configure 
		AND 
    make 
    make install   <-- probably as ROOT depending of $prefix



**** Bonobo, gnome-db and Mergeant ****

    Mergeant uses Bonobo to display and allow the user to modify some 
    information which are heavily dependant on the DBMS accessed (like users
    list, users access control, etc). Some DBMS do not yet implement those 
    possibilities, so you may get some errors from Mergeant. If you wnat to help,
    have a look at the gnome-db homepage (http://www.gnome.org/gnome-db/).



**** Using the program ****

- Calling the program with the --help argument will give you all the possible
  options. You can call Mergeant with an optionnal XML file (to avoid having to
  open it with the file/open menu...)
- If you want the additional information given to the program (links, queries)
  to be saved, you must either open an existing file (XML format) or ask to 
  SAVE AS the current session, BEFORE YOU DISCONNECT from the backend 
  (otherwise all the informations of the previous session will be lost). 
- The program will automatically store your last connection parameters and load
  them back the next time you launch it (except for your password). 
- The first time you connect to a DBMS, Mergeant will have to fetch all the 
  information needed, and this will take some time. If you save your work, the
  next time you connect to the same DBMS (and open the file in which you saved
  your work), you will be asked if you want to update these informations. 
  If nothing has changed since, you can say NO and start to work. 



**** Example ****

This a PostgreSQL example. If you are using another DBMS, feel free to 
port it to your DBMS. However, DO NOT use the sales.xml file since it contains
some data types and functions specific to Postgres. Rather create a new one
from Mergeant.

There is one example under the directory examples. To use it, proceed as:
- create a db to hold that example (named computers for example):
	> createdb sales
- create the structure and insert some data:
	> psql sales
		> \i sales.sql

- if you did not install in the default (/usr/local) directory (you gave a --prefix=DIR argument to 
  the configure script) then you will have to modify the 2nd line of the sales.xml file to 
  reflect the prefix you have chosen. Then launch Mergeant with the sales.xml file:
	> gasql sales.xml

- if you have not already set up the gnome-db data sources, do it now by
  either running 'gnomedb-mgr' or selecting the 'Settings->Database manager'
  menu. From there you can manage all the connections Mergeant will possibly
  use. For this example, create one (by clicking on the 'Add' button):
  * GDA Name: Sales
  * Provider: the postgres one which is proposed
  * DSN:  DATABASE=sales;HOST=localhost
  * Description: Postgres Example for Mergeant 
  * Username: guest
  * Config: let it empty

- if your username is not "guest", click on the "Preferences" button, and 
  replace "guest" with your username.

- start enjoying...




Do not hesitate to mail me some comments (bugs, features you would like to
see,...) 
