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.