Chapter 4. Desktops

A desktop in Theon is an encapsulation of a business workflow that helps users access and maintain the information held in a database. A module data set for TheonUI would have one or more desktops defined within it. After opening a TheonUI session in the browser, users choose from the menu a particular desktop to work with. The desktop chosen would be appropriate to what they needed to work on. Only one desktop can be open at a time in each instance of TheonUI, but users can have more than one desktop open within a browser session. This can be done by opening multiple instances of TheonUI and choosing a different desktop in each.

A desktop contains one or more panels, each of which is like a sophisticated HTML entry form. Each panel in a desktop can be completely independent of the others, or can be "attached" to another in some fashion (so that the data available on it is constrained by the data currently on another panel). A panel combines one or more tables (views and table functions as well but only if they are defined in a particular way) in a database into a single updateable construct. In this way users do not need to have much understanding of the underlying physical database structure in order to view the data and make changes.

TheonUI is simply a vehicle for presenting data in desktops, and pushing data changes made via desktops back to the database itself. The server and client implementation have no database-specific knowledge and work solely from the shared module configuration data which is ultimately defined in a model in Theon.

TheonUI also provides a browser mode for direct access to the content of individual tables. The configuration data driving this is automatically derived from the representation of the physical database structure, ultimately defined in a model in Theon. Hence, for the content of a database managed via Theon to be available under TheonUI, it would not technically be necessary for any desktops to be defined. However, for anything beyond very simple changes - and if the defined database has anything more than a very simple structure - it is very likely that desktops will need to be defined to support common operations. This would certainly be the case where the users had no technical database experience.

See Part IV, “TheonUI” for more details.