Describes a schema for an entity and contains instances of the entity. In other words, Databases contain Columns which describe the data you want to collect. They also contain Entries which actually store that data. Entries can be moved through a number of Steps which allow you to capure a workflow. Databases are very flexible and allow you to store data the way you want to.
Properties
- Has Steps
- Specifies whether the Database can support workflow through Steps. This means that each Entry can be moved through a series of Steps which need to be defined for the Database.
- Sequential Steps
- When Has Steps is selected, this option indicates whether the defined Steps are to be moved forward or backward one step at a time. This option ensures that every step in a workflow is completed.
- Presentation
- Specifies the XSL transformation to be used for the Database. The Default transformation presents the Database in a basic grid format. A separate XSL transformation can be specified in the HTML Transform field.
- HTML Transform
- The XSL transformation to be used in the Presentation of the Database.
- Page Size
- The number of Entries displayed in each page of the Database.
- Include Descendants
- Specifies whether Entries in descendant Databases, which have the same schema key, will be included in the Database. Selecting this option turns the Database into a summary Item which is able to draw together content (entries) from descendant Items.
- Base Item
- The Item which will be used as the base for the summary. Leaving this option blank will mean that the current Item will be the base Item.
- Schema
- A 32 character string which defines the schema for the Database. If several Databases share this key they can be combined for use in a summary Database. Databases made from a Template will automatically inherit the Schema of the template. Databases created afresh will have a unique key. Generally users should not edit this property, although occasionally it may be edited if users need to align schemas of two Databases.
Columns
Databases are used to store tabular data. Initially Databases must have a schema set up for them. This schema is essentially a number of named Columns of varying types. Each Column can also have validation fields associated with it. Members are able to create Columns with simple types such as boolean, string, date and long. There are also more complex types such as Item and choice list.
The schema is also comprised of a number of Steps if the Database is to support workflow. If Steps are defined for a Database, each Entry in the Database can have a Step allocated to it. For example, if a "Clients" Database was defined, a number of Steps could be added to the schema: Prospective, Hot Prospective, Customer. Each "Client" Entry could be assigned one of these Steps.
Permissions must be set for each Step in the workflow. This is so that the workflow can be controlled by those with the correct authority. In the previous example, Members with the role of "Front Office" and "Manager" may be able to set the "Prospective" Step, whereas on Managers might be able to set the "Customer" Step.
The schema can be entered from scratch, although it will be automatically created if the Database is created from a template. The Member must have Create permissions in order to create a schema.
Entries
Once the schema has been defined users can then begin to add Entries. Each Entry is comprised of a number of fields which relate to each Column defined in the schema. Once an entry has been added to the Database it can then be stepped through a workflow if Steps have been defined for the Database.
Steps
A number of Steps can be defined for each Database if so desired. Once defined, Entries in the Database can be moved through the Steps. Permissions can be set on Steps so that the creator of the Database can define who is able to move an Entry to a certain Step. If the Sequential Steps property is selected, steps must be moved forward or backward in the specified order.
Database Summaries
Databases are special type of Item in that they are also able to summarise a number of other Databases of the same type. If a Database (Database0) is defined as a Template, each subsequent Database (Database1, Database 2, ...) made from this template is deemed to be the same type of Database as the original, Database0. Each Database therefore shares the same schema and this means that the application is able to combine the entries for these Database if the user so desires. ie. It is possible to create a summary Database which reports on a number of contained Databases.
The following stages indicate how such a system can be set up:
- A Database (Database0) is designed to capture certain data. This design will include the required columns, validation and any workflow required.
- A Template is defined for Database0, DatabaseT. This is done by selecting the "Use this item as a template" option for Database0.
- A Member with "Create" permissions then is able to create a new Database called Database1 from the Template, DatabaseT. This is done by clicking "New" when on a Item. The DatabaseT template will show on the right hand side of the page if Databases can be nested under the current Item. Click on the Icon for DatabaseT and complete the form. The new Database1 will be created after the form is submitted. Once created, data can then be entered into Database1.
- The previous step is repeated, this time creating Database2. Database2 will be used for collecting data as well.
- A final Database, Database1-2, needs to be created which will act as a summary Database and will combine the data from Database1 and Database2. Once the Database has been created, the Database needs to be edited and the "Base Path" and "Include Descendants" properties need to be amended. Set the Base Path to a path one level higher than the three Databases. Set the "Include Descendants" property to True. The Database will now gather all entries from similar Databases under the base path - it will combine the entries of Database1 and Database2. Data can also be entered directly into Database1-2 if desired.