OpenWGA 7.9 - OpenWGA Concepts and Features

Design and development » HDBModel framework

Basics

Data in HDBModel is stored in a document hierarchy. This hierarchy is stored as pages in the OpenWGA content store of the application, but inside a special area named "hdb-content". Because of this it is possible to use both traditional content management data and HDBModel data inside the same application, while in most situations you will create applications that exclusively use HDBModel content.

The HDBModel document hierarchy knows two types of documents:

  • A storage is a document whose purpose is to categorize data. Itself it does not contain any data. You may think of them like folders in a file system. Storages are predefined in the HDBModel data structure and are automatically created by OpenWGA. The root documents of a HDBModel structure are always storages.
  • A content is a document that actually contains data. Multiple contents may be created below a single storage document, which normally is done by users via dedicated WebTML functionality. Below each content there again may be storages that categorize dependent contents further down the hierarchy.

The following is an example document hierarchy from a HDBModel application, as shown in DB-Explorer:

screenshot_13.jpeg

Both root documents "customers" and "projects" inside area "hdb-content" are storages. They divide up the content documents by their type. All documents directly below those storages are contents, representing customer definitions or projects respectively.

Below project content "Project X" you see another level of storages named "bills", "documents" and "tasks". They again group contents by their type that are dependent on the project. So under "tasks" you see content documents representing tasks to be done on "Project X".

According to WebTML, TMLScript and the WGAPI all "HDBModel documents" are actually normal pages, consisting of a single struct entry and content document. They are only divided up into storages and "real" contents dependent on their role in HDBModel. However the known functionalities for content documents in WebTML and the such are still usable for any of those "documents".

Table of contents: