What is UCO-Fosql?

FOrms SQL is a forms data entry interface which is used here for production key entry (we went production 6/13/94) into a Sybase database. It can also be used for browsing, updating, and simple report generation. If you have TclXess, you can dump data from the underlying tables directly into the running spreadsheet, using the form as a query tool. FOSQL should be compatible with Sybase releases 4.8, 4.9, and sys10.

FOSQL is a WYSIAWYG environment in which the developer can create, edit and test forms dynamically, and the ordinary user can use the same forms but without the editing features (in other words, it is modal).

The design of the form is done in the same GUI environment as the deployment. The designer edits widgets (my generic slang for entities within the form) using an attribute-editor popup of a kind that will be familiar to xfig or xf users (and users of many another Xt or Tk product). The widgets appear on the form dynamically as the designer proceeds. However, they are only altered by attribute editing, not by drag-n-drop positioning (sorry, there are only so many weeks before I have to deliver working forms!)

The designer sees the form exactly as the user sees it, and can test it even in a partial state (widgets mostly become functional as soon as they are defined and placed).

FOSQL is a rather complex package, but the basic idea is that it can handle implicit 1/1 joins in a single form, has implicit correct SQL generation for basic Insert/Update/Delete operations, proper privilege checking and use of primary keys, hyper-help (which ties in to the database dictionary tables we use here), etc. In other words, it uses Sybase internal "sys" tables to infer as much as possible about the target table(s), rather than hard coding such knowledge into the forms app.

The users have received it so far with considerable enthusiasm. It is suitable for routine data entry. It is designed explicitly for Sybase, with all the business intelligence residing in the server and not in the form (use triggers to impose your business rules, in other words).

FOSQL requires a number of support tables in the server. All the forms are themselves table-driven (sometimes with single or multiple indirection) and the initial setup of those tables is not for the naive. This is a tool that the DBA should install and test, or that one experienced Sybase user could put up for private use. I do not yet have really good installation instructions. It was never installed here, only incrementally built. I'm looking for a beta site.

The FOSQL user can expand the FOSQL functionality in any direction at all, since all buttons and entries, etc., are configurable by the designer. X11 key bindings are editable on all entities in the form.

SQR reports are available which will print documentation of the forms package, including schematic facsimiles of each form showing certain essential information about the form elements as well as their relative positions.

Without getting hopelessly long-winded, I think this package has considerable potential for a low-cost (free except for the installation experience) and very flexible user data entry interface / front end to Sybase data. I would be very happy to acquire a collaborator for further extensions of the design and features.