Development/Plans/WebUI

From Glom
< Development‎ | Plans
Revision as of 15:57, 23 November 2010 by Murrayc (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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.