Technical Features :
- Web-based, only in Mozilla as of now, but could be made cross-browser with a few efforts (help is welcome !)
- Server side : PHP and MySQL or Oracle
- Client side : Javascript only (no fancy Java applet, Plugin or Activex)
- Javascript - SQL DB interaction entirely in Javascript, without reloading the page (No Liveconnect, Java applet, Plugin or Activex - YES it IS possible!!)
- "Subwindows" notion : create as many interfaces you need, and group them as subwindows of one main interface, which will be the entry point of your application.
When calling the main window, all subwindows are 'kicked' at (-10000,-10000), bring them back when and where you need through a simple "bring" function, and "kick" them back after ! - Everything is stored the following tables :
- gui_actions : Your javascript code (escaped), per widget, per event
- gui_text : Your widget labels, per widget, per language
- gui_languagess : Languages used
- gui_select_source : For selector widgets that are filled with DB content, source DB, source table, column for value, column for label, 'where' and 'order' clauses.
Already operational for the target application, but not yet editable through the designer (help welcome !) - gui_subwindows : what interface is a subwindow of another, what is its "top" widget
- gui_widgets : The main table, containing all widgets (for all interfaces), with all their positioning and properties.
- gui_window_templates : for a main interface (not a subwindow), the HTML template that will be populated with your widgets, link to dynamic CSS, and dynamic SCRIPT
- Widgets properties can be "overloaded" through a class and a static CSS. The class name for each widget is stored in the gui_widgets table.
Already operationnal for the target application, but not yet editable through the designer (help welcome!) - A tabindex for each widget is stored in the gui_widgets table.
Already operationnal for the target application, but not yet editable through the designer (help welcome!)