Difference between revisions of "Development/Plans/WebUI"

From Glom
Jump to: navigation, search
Line 19: Line 19:
 
* Database/Document structure: The Web UI implementation may either read the XML file itself, and reimplement some of the logic/constraints, or use the libglom C++ librar. This provides the Document_Glom class, with methods for discovering the complete database structure, layouts, translations, etc.  
 
* Database/Document structure: The Web UI implementation may either read the XML file itself, and reimplement some of the logic/constraints, or use the libglom C++ librar. This provides the Document_Glom class, with methods for discovering the complete database structure, layouts, translations, etc.  
 
* Widgets:
 
* Widgets:
* Use a widget toolkit, such as mochikit or dojo, to keep things high-level, to avoid having to touch low-level Javascript/DOM stuff, and to ensure cross-browser compatibility.
+
** Use a widget toolkit, such as mochikit or dojo, to keep things high-level, to avoid having to touch low-level Javascript/DOM stuff, and to ensure cross-browser compatibility.
* We need some kind of flow-column container, so that layout items flow into the next vertical column when the first vertical column is not high enough, as in the regular Glom application.
+
** We need some kind of flow-column container, so that layout items flow into the next vertical column when the first vertical column is not high enough, as in the regular Glom application.

Revision as of 02:28, 28 April 2006

Glom Web UI

Overview

The Web UI would allow the use of a Glom database from the web browser. This would allow a greater number of people to use a database, because they would not have to install the Glom client software. It would also be attractive to decision makers who simply believe that all database applications should be web-based.

Funtionality

The Web UI would allow users to view, edit, and find data in a Glom database, but it would not offer any developer features. For instance, a developer could not use the Web UI to add tables or to change the fields in a table, to edit reports, or to change user access rights

Report generation should be possible, but this is not essential in the Web UI.

Implementation requirements

I haven't done any web programming for a while, so these thoughts might be irrelevant. Murray

  • Session state: Keep username/password across pages, and keep the database connection alive until log out.
  • Navigation: Each page must know where it is - table, layout, found set, instead of us storing this in the session. Do we store per-page information on the server (with a timed-out lifetime), in the URL, or in the page?
  • Database/Document structure: The Web UI implementation may either read the XML file itself, and reimplement some of the logic/constraints, or use the libglom C++ librar. This provides the Document_Glom class, with methods for discovering the complete database structure, layouts, translations, etc.
  • Widgets:
    • Use a widget toolkit, such as mochikit or dojo, to keep things high-level, to avoid having to touch low-level Javascript/DOM stuff, and to ensure cross-browser compatibility.
    • We need some kind of flow-column container, so that layout items flow into the next vertical column when the first vertical column is not high enough, as in the regular Glom application.