Describe Your Schema to Help Your Users

Schema

The structure of each Cradle database is defined by it’s schema. This contains many parts, but the most fundamental are the ‘item types‘ for the types of information that Cradle will manage and the category and frame attributes of these item types.

Item Types, Categories and Frames

When you define the schema, you can specify a ‘description‘ for all of these parts, including:

  • Item types
  • Category codes
  • Each value in a category code that is a pick-list of value(s)
  • All frames
Setting schema descriptions in Cradle for categories and their values
Schema Descriptions

Setting Schema Descriptions

These descriptions are very useful to end users, because Cradle will display them as tooltips in the UI (User Interface). For example, when the user moves to set a category value, Cradle will display:

showing descriptions within tooltips for categories, their values and frames
Category and Frame Tooltips
  • The description of the category
  • The description of the current category value

When a user moves into the heading for a frame, the UI will display the description of that frame as a tooltip.

Link Rules

A comment as to the purpose of the link rule can be added to the schema. This is a useful aide-mémoire to those editing the rules. However, if a certain action is prohibited by the rules, then the user is shown why.

In this example two rules have been set up, one to allow user Alan to modify sub-part to component links and another to prevent all users modifying the same link. Because of the top-down sequence of rule matching this has the effect of allowing only Alan to modify cross references of this type. The example shows Dewi trying to modify the link attributes between the Pump parent component and the Pump housing linked as a sub-component. The warning shows why this alteration was prevented. The text from the schema is shown in the dialog.

documenting the link rule purpose in the schema allows the user to be shown the reason an action was rejected
Link Rule Documentation

Groups

Within Cradle item types can have a number of different categories. Some item types may share the same categories, others may use unique values.

The Group field is available across the whole project. When the schema contains a number of entries for the Group field, these can be applied to any item type. If the project defines values for the Group, selection is only from the defined list. If no pick-list is defined, it is simply a free-form text field, to use as the user wishes.

Showing the setup of group descriptions in the schema and tooltips in a form
Group Descriptions

This example shows three types of assets, Capital, Inventory and Liquid. Some item types may only fall into one group, in this example a physical bedroom is going to be a capital asset, the guest supplies are liquid assets. However, when it comes to fittings, the light is being grouped with the Capital assets and the bed and so on in the Inventory group.

However you choose to use this cross item categorisation, the descriptions given to the group show as tooltips when hovering over the group field in a form.

Article updated 17/09/2018 – Cleaned up post