**** XSQLMENU: An X-windows frontend for the MiniSQL database engine. **** **** (c) 1996 Kees Lemmens; TU Delft The Netherlands. **** **** Version 1.01 (BETA release) **** General: The popular MiniSQL database engine by David Hughes Technologies in Australia is a simple but very robust database engine that supports also remote access through TCP sockets. The only problem is that it lacks a good and friendly user interface. As we planned to make our student administration a little more sophisticated (up to now we used ASCII files ...) I decided to use the nice Xforms package by T. Zhao and M. Overmars and try to build such a good, flexible and robust interface. This fits into my opinion that although the Unix OS is a very powerful and reliable OS, it won't be able to hold against the pressure of less reliable systems if it doesn't come up with more user friendly interfaces. I hope this package can be of help to setup a good looking and easy to use database environment on Unix systems like Linux. WARNING: This package cannot run without having the the msqld (MiniSQL daemon) running on one of your systems (which not necessarily has to be the same system you're runing xsqlmenu on !). The msqld it is available on most of the large sites. (try for more info about MiniSQL http://Hughes.com.au/ ) Install: The source code is available as Xsqlmenu_1.01s.tar.gz and a distribution with binaries for Linux is available as Xsqlmenu_1.01LinuxBin.tar.gz. There are 2 versions in the binary Linux package: - a statically linked version that can run on any Linux PC (with ELF) - a dynamic version that will only run if you have somewhere libXforms.so.0.* - in your library search path. You only need to have the binary somewhere in your searchpath. Currently no other files are needed to run this program. A few notes: - Don't forget to select a MSQL database server (if not selected it tries to connect to a server on the local host), a database and a table before starting to make any selections or else you won't be able to open any of the subwindows. ( Message: "Select a table first !") - The primary key field is shown in red, all others fields in black. The primary key can't be modified with xsqlmenu (although the Mini SQL database can do that without problems): if you want to change the primary key, you'll have to delete the record and insert a new one. However, you can copy fields from one window to another by one using the mouse. I deciced to keep the primary key field locked to avoid confusion with the users: It's easy to lose important information if you change the primary key by accident as I found out here. - It is no problem to have browsers and search screens open from different tables or even databases simultaneously. But, if you select a new database it will be impossible to modify or select records from windows that still work with the previous database. If you want to update or modify those records you should simply reselect the old database and the previous connection will be reestablished. - If you select a record from the browser and modify or delete it, the browser won't be updated with the new information: it works on a static selection that is stored locally. However, every time you select a record for modification it will be reread from the database server to ensure you have the latest version. - In the SQL Query window you can enter a free SQL query. However, I haven't checked extensively what happens if you use anything else but SELECT queries. Also, because strange things could happen if you select joins from several tables or only select a few fields I decided to block the modify option in the browser. It is simply too difficult to decide what information the user wants to change in what database. I considered to enable the 'modify' option for the SQL Query command (it's only 1 switch in the code !), but I really think this can be too tricky. If you want to modify information: just select the appropriate record on the primary key (with the Modify button in Main Window) or use a Search Form or the normal Browser (Show All). - In the browser you can change the fontsize. However, if the font actually changes with every step depends on the setup of your display font capabilities (scaled fonts, fixed fonts etc.). Also, there is no way to scroll horizontally yet as the Xforms browser simply doesn't provide that option. (although there exists a function to "x_offset" a browser !) However, the browser window is scalable and also the fontsize can be changed, so in most cases you'll be able to see all information without too many difficulties. Comments: If you have any comments, found any bugs or just want some extra features to be added: write email to lemmens@dv.twi.tudelft.nl and I'll see what I can do. Begin3 Title: xsqlmenu Version: 1.01 (BETA) Entered-date: 15Jul96 Description: This is a powerful frontend for the MiniSQL database engine, Description: that allows the user to search the database through easy to use Description: searchforms, select databases and tables from a menu, modify Description: records just by clicking them in a browser and much more. Description: Xsqlmenu supports having multiple tablewindows open at the same Description: time (even from different databases !). Description: Also free SQL SELECT statements are allowed (although they have a Description: few restrictions to avoid confusion). Description: The whole package was developed using the Xforms library. (0.81) Keywords: SQL, database, MiniSQL, Xforms Author: lemmens@dv.twi.tudelft.nl (Kees Lemmens) Maintained-by: Kees Lemmens The Netherlands Primary-site: as yet unknown, but probably Sunsite.Unc.Edu Alternate-site: -- Original-site: -- Platforms: This version: linux on 345-86. Also compiled fine on HPUX and Platforms: Solaris. Copying-policy: Only NON-COMMERCIAL distribution allowed. Redistribution of Copying-policy: modified versions by other people than myself is not allowed. Copying-policy: However, commercial use is no problem as long as the software Copying-policy: is NOT being commercially distributed. Copying-policy: Please send your contributions, bugreports, hints etc. to the Copying-policy: author. Thanks ! End