While you may not need to directly access the database tables that underlay the system, it is useful to have a model of how they are employed. The database serves as a persistent store for all of the objects served up to the dynamically-generated Metadot Portal Server pages. The system does very little out-of-database caching, and thus performs a set of database queries for each page that it builds.
Here we list some of the more important information objects in the system and the database tables they map to. You may wish to revisit this section after you've read the sections below.
Gizmos: all types of Gizmos (Categories, Discussions, Tables, Items, etc.) use the
instance
table to store their data. In addition, some gizmos utilize secondary tables as well. The Discussion gizmo keeps its messages in the
message
table. The Poll gizmo uses
poll_response
and
poll_vote
.
GizmoTools: The GizmoTool parameter info is in the
gizmoitemparam
table as attribute/value information; and
gizmotoolitem
is used to associate sets of gizmotool parameters with channels.
Basic Tools: The description of a basic tool (e.g. the HTML used to render it) is stored in the
instance
table.
User information is stored in the
user
and
extended_user
tables. Required "core" fields are in the
user
table. Then, subclasses of the default user class map their specific fields to the
extended_user
table, allowing different Metadot sites to be configured to support different user profile information (see Section 4).
Groups: information about groups and the users in each group is stored in the tables
grp
and
grpmembers.
Channels: channel information is stored in
channel
and
channelitem
tables.
The
mypage
table holds information about the `my page' channel selection and layout for each user.
The
permissions
table holds information about the permissions for every Auditable object (see Section 3).
The
session
table holds user session data.
The
uploads
table holds the file "attachments" associated with portal objects (where these objects are typically Gizmos, but need not be).
The
subscription
table holds the
channels
to which each user has subscribed (for example, an external news channel), and info about the form in which they wish to receive the change notifications (e.g., daily digests).
The
params
table holds all of the system parameters; all of the site's configuration information. This includes layout and `look' information as well as the variables that determine site operation (for example, the mail server address).
The
event_log
table is used to log information about nearly every site request. This information can then be displayed in the browser via an administrative interface. The event table is cleaned periodically by one of the portal's "backend" scripts. See the Administrator's guide for more information. (Note: not available in open-source release).