Marking Category Values as Obsolete

When setting up a single value pick list or multiple category, you can define any number of possible values. These can be chosen by a user as the value of the category in an item.

However, over time, category values may no longer be relevant.

Removing the values from the project schema would be the wrong course of action as values could still exist in items (possibly in old baselines) that would raise errors in item integrity checks and could cause problems when data is imported. For example, data that used to be valid can no longer be imported unless extra import options are selected to ignore the validation of data.

Set Category Values as Obsolete

Instead of deleting those values from the project schema, you can set category values as obsolete so that the value can no longer be entered by users but the historical values remain valid.

In this example, Project A might have been completed so is no longer valid to set for future items. Also, Department 1 might not be responsible for any future items but they were responsible for historical ones.

Obsolete category value option
Marking a multiple value category value as obsolete
Obsolete category value option
Marking a single value category value as obsolete

Once set, any items that had been set to the obsolete value remain valid. However, users can only enter the values that are currently valid; not the ones that are marked as obsolete.

Categories in a form
Items only allow valid values to be set

When querying the database, you can still set the query criteria to search for items that are marked as obsolete.

Querying for obsolete category values
Querying the database on category values marked as obsolete

Any validation checks on items in the database will return without error because the value remains defined in the schema.

Specifying Custom Number Format in Free Text Categories

In a project, you may wish to enter a supporting reference number for an item of data. For example, an Equipment Number. This number might require a given format.


Project Code –  4 alpha characters
Equipment Code – 5 numerical characters

Supporting Reference Number
Supporting Reference Number for a Project

You can achieve this by creating a user-defined category with no category values defined and include a Category Verification Test using a Regular Expression.

Example Category Verification Test for Reference Number category
Example Category Verification Test

In this example, the regular expression ^[A-Z]{4}(?:-[0-9]{5})?$ can be broken down into:

Regular ExpressionDescription
^The beginning of the string
[A-Z]{4}The project code must be 4 alpha characters long in uppercase
?:-A hyphen separator
[0-9]{5}The equipment code must be 5 numeric characters
$The end of the string

Applying Category to the Item

Once you have defined the category, you can assign this to an item type:

Assigning Categories
Assign Category to Item Type

Creating/Editing an Item

If you now create or modify an item of data, Cradle will present you with an error message on saving if the category value does not match what you have specified in the Category Verification Test.

Reference Number
Reference Number in Categories
Invalid Category Value dialog
Invalid Category Value dialog

Here the validation test would fail because you have not included a hyphen separator.

Validation Test result
Validation Test result

You will also receive an error if the incorrect case is used. E.g. demo-12345.

Invalid Validation Test
Invalid Validation Test

However, if you enter a value such as DEMO-12345, this would save without any warning or error message.

Example saved category
Example saved category


Regular expressions can be used in many areas of the tool. Using this functionality to enforce an input in free text categories can be a very useful feature.

For further information about regular expressions (regexes) please refer to the page

Attribute Sets

Uniqueness Across Single or Multiple Parameters

There are occasions where you want a number of components of an item to be unique, aside from its Identifier. Attribute sets allow you to specify combinations of attributes that are to be unique for an item type.

Set Components

They can be defined for requirements and  system notes. Each attribute set can contain one or more attributes chosen  from:

  • Key
  • Category (single value and multiple value categories)


You can define as few as one or as many as thirty three attributes (all categories and the key) for each set.

An item type can have multiple attribute sets.

In Practice

As an easy to explain concept, this example shows an asset register. The managers of the multiple Town Lodge sites each have assets installed in the building. To aid maintenance and asset recording, they want to ensure combination of:

  • the Building it’s in
  • the Location within the building
  • the Item type for the equipment
  • and an identifying index

are unique.

By setting each of these components as categories in the  ASSET item type, and then selecting Attribute Sets adding an Attribute Set called “Asset identifier” made from these categories, they can check for uniqueness.

Setting an attribute set in Cradle project schema
Attribute Set – Setup


As the user is assigning new items into the asset register, when they attempt to save the item, a uniqueness check is calculated. In this instance the combination has been used before, so the user is not allowed to save this item. In this case all they need to do is up the index of the ‘routers’ in the reception area. Obviously this can be any meaningful combination for your project.

seeing the user interface warning when an attribute entered is not unique
Attribute Set – Operation


These Attribute Sets checks are not as restrictive as an item’s identity.  You would not be allowed to create a duplicate ID/Version/Draft of an item in the database. It is applied when editing and saving an item. This allows you to freely copy items without having to decide on multiple unique combinations at the instant of copying. On subsequently editing and attempting to save the item, the checks would be performed. In a similar manner to ‘Mandatory Categories’.

How to Colour Code Categories and Frames?

Did you know you can Colour Code your Frames to match the Priority you have set in Categories?

To enable this colour code you will need to navigate to Project Setup, inside here go to Item Definitions – Categories. For my example I have used Req Priority, in my Category Values I have :

  • URGENT – Red
  • MEDIUM – Orange
  • LOWEST – Yellow
  • TBD – Blue


Project Schema category colour code setup dialog.
Single Value Category Setup


Ensure you have assigned this Category to a Frame in an Item Type. For my example I have put mine into Item Type – Requirements and the Frame is TEXT

As you can see in my example, whenever I change my Req Priority the text colour changes in “Detailed Description” Frame.

For further information regarding Frames click here

Article updated 05/12/2018 – Changed to be a FAQ

Skill Based Access of a Category

If you require only some users to be able to make a change to a category or categories, then you can use a skill to stop other users from accessing it but they will still be able to see the options set.

Setting the skill on a category

In Project Setup, select the Item Type the category is set for. With the Assign Categories dialog open, select the category you wish to restrict. There is a ‘Required skill:’ option which can be set differently for each category in each item type. This means that a category can be used Requirements and SYSTEM REQs but have different skills for each item type and so can be altered by different users.

Use a skill to restrict access
Setting a skill for a category to restrict access

Once Project Setup is Saved and Closed any users that now login, that do not have the required, will be able to see the option set but not alter it.

Using the DEMO project as an example, I set the category skill for Req Priority to REQUIREMENT. The ADMIN user does not have the REQUIREMENT skill and so once set, is able to see the as option set but not able to alter it.

No skill, so no access
No access for this user

When logged in as REQMAN who does have the REQUIREMENT skill, they can see and alter the category option.

User has skill to has access
User has access

This restriction works throughout WorkBench including in queries, forms and Item Properties.

This also works in Web Access forms and queries.

Setting Categories in Project Setup

National Tea Day – 21st April 2017

Support a Charity While You Have a Cuppa.

There are a number of ways you can get involved with National Tea Day least of all you can ensure you get a good brew on for elevenses. Maybe nip out at lunch time and get a packet of scones and share afternoon tea with your work colleagues. Ask for donations in a Tea Cup and pick a local charity!

There’s an awful lot of Tea drunk by engineers at 3SL towers…….

Large amounts of tea drunk at 3SL
3SL – Tea

Now the tricky bit, how on earth do we make this blog entry have something to do with Cradle? Ah! Multivalue Picklist Categories is how. If you have a set of premises that you manage, these can be set as items within Cradle. Each café could have a number of supplies that the café offers, and these could be recorded in a multiple value category.

If there was a shortage of Oolong, it would be simple to run a query to list each of the premises that need to be contacted. For further reading on categories, you could read ‘Multiple Value Categories’

Showing that multivalue categories can be used for everything, including tea
Multi Value Categories Representing Product Supplies



Multiple Value Categories


In the database each item can have a number of categories assigned to it. These are indexes by which you want to sort and retrieve your items. Some values are plainly single, an item’s Customer Approval can’t be Approved and Rejected at the same time. However, Colours could be Red and Blue on the same item. These are multiple value categories. They are used to classify an item when the attribute itself can have multiple non mutually exclusive values.

The values that can be held by the category are defined in the Project Schema. Each value is allocated to a ‘slot’ each item holds a set of flags indicating which slots (values) are ‘selected’ for that item.

When shown in a View or Form, the values for the slots are shown to the user.

Showing selecting a multiple value category
Multiple Category Value Selection

New Cradle-7.2 Project Setup Feature

It’s now even easier to set up multiple value categories in Project Setup.

Project setup of multiple value category
Multiple Value Category Setup

The new options are:

  • Clear – Clears the value from the list but leaves the slot blank
  • Copy – Copies the selected value
  • Paste – Pastes the copied value into the selected slot
  • Delete – Deletes the value and all values below this value are moved up
  • Insert – Inserts a slot so you can add a value, all values below this slot are moved down
  • Up – Exchanges the currently selected slot with the one above it
  • Down – Exchanges the currently selected slot with the one below it

There is consequence on existing items in the database for all of the operations above so a warning message will be shown when attempting one of these operations.

If slots 1, 2, 3 are Red, Blue and Green and item AA1 has flags set for 1, 2 it will be seen as Red and Blue. If a subsequent change is made to the schema (after items exist as drafts or baseline items), making slot 1, 2, 3 Red, Orange, Blue and Green, will result in item AA1 being defines as Red and Orange. This is because the flags tally with the slot. Users should query on existing data to see which items will be affected and subsequently update those they wish to change individually, or using “Item Properties”.

RAGs from Rule Sets

Auto-set Categories  via Rule Sets

In Cradle you can define Rule Sets for your Item Types which can be used in a number of ways. You are able to auto set a category based on your rules. Your formula, for example, could produce a RAG (Red Amber Green) risk report from two categories such as Probability and Impact categories.

Red Amnber Green auto setting
Use Rulesets to set coloured Categories

However, you’re not just limited to red, amber and green. If you can define a rule and pick a colour, there’s a rainbow of possibilities.

For more information on Rule Sets and how you can use them in your own project please see this Cradle help article on defining them for items.


Describe Your Schema to Help Your Users


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


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

Category Validation

Need to restrict what a user can set in a category?

All categories are set up in the Project Schema. Adding a verification test can be used to ensure only sensible values are added. The types of test that can be set are controlled by the type of data being represented in the category. For example, a date can be tested to be within range, a text category may have a Regex test.

Setup of Category Validation Test
Category Validation

For more information on categories in Cradle, take a look at this useful Cradle help article.

Article updated 17/09/2018 – Added link to Cradle online help