Project Administration Integrity Checks – Item Integrity Checker

There are situations, as with any database, where integrity issues may occur with the data not matching what is defined in the schema. This could be due to a number of reasons such as:

  • Items of data that have not yet been populated
  • Mandatory categories or frames that have not been populated

With Cradle also providing the facility for data to be imported and captured in a number of different ways, it is inevitable that the integrity of this data may be questionable. Document Loader, capture add-ins and import are some of these mechanisms and, despite some protective settings in these tools, it is still possible to bring in data that does not match the current schema.

In addition to this, it is possible to import a project schema itself or modify the project setup which would impact the data that already exists in the database:

  • Changing item attributes, categories and frames
  • Changing link rules

For these reasons, Cradle provides two utilities in WorkBench that check the data in comparison to Project Setup:

  • Item Integrity Check
  • Cross Reference Integrity Check

For both of these utilities, the user MUST have ACCESS_BYPASS privilege to instigate any changes to the data. It is highly recommended that there are no other active users in the database when the checkers are ran. One way to ensure this is to lock the project using Project Manager.

We also recommend that you take a backup of your database and/or create a snapshot prior to making any changes with these utilities.

In this blog we will focus on the Item Integrity Checker.

Item Integrity Checker

The Item Integrity Checker is split into two parts:

  • Frame version checks
  • Item checks
Item Integrity Checker
Item Integrity Checker

Frame Version Checks

Cradle item types contain a type of attribute called a frame. Each frame can store or manage up to 1 TByte of any kind of data. An item can contain any number of frame attributes.

In practice, most frames store a small amount of text.

These item types also have a mechanism called edit history that records any changes that are made to an item. Each edit contains:

  1. The date and time the edit occurred
  2. The Cradle username of the person who performed the edit
  3. The reason the edit was performed, this description is optional
  4. A list of all the attributes (predefined, category values and frames) that were changed in the edit and their old and new values

For frames, it records the frame version numbers before and after the edit. All the frames versions are held within the item’s frame.

These frame version checks detect:

  • Missing version of any frames
  • Missing records in any version of any frame

To run this utility, select the item type(s) you want to check or All to check all item types. Then press the left-most Check button.

Frame Version Checks
Frame Version Checks

This will check all of the items in each item type selected to ensure each frame has a version of 0 and that all history for that frame, occurs in an accumulative sequence of 0, 1, 2, 3 etc and produce both a report and a summary in the dialog.

Frame Integrity Check report
Frame Integrity Check report

Notice in the dialog, that the Fix button becomes activated.

Fix button in frame version checks
Fix button in frame version checks

Pressing this button will repair the history records and can be checked by repeating the process:

Recheck frame versions
Recheck frame versions
Frame Integrity Check Report - No issues
Frame Integrity Check Report – No issues

Item Checks

On the right-hand side of the Item Integrity Check dialog, you will see a list of item checks that can be selected, or press All to select and run all checks.

These item checks compare the data that is held in the database with the currently defined settings in Project Setup to ensure they are consistent. If they are not, the utility will list any possible issues.

Item Checks
Item Checks

Once you have pressed the Check button, a report is produced and a summary appears in the dialog:

Item check results
Item check results
Database Item Integrity Check report
Database Item Integrity Check report

As with the frame integrity check, there is a Fix button but this can only apply to a number of checks. The ones that cannot be automatically fixed will appear on the report and will require some user intervention to correct the issue.

Below is a list of the issues that can be automatically fixed:

Issues that can be fixed
Issues that can be fixed


In this post we have addressed some of the checks that can be run on items in the database to confirm their data integrity using the Item Integrity Checker.

Please remember that the user MUST have ACCESS_BYPASS privilege to instigate any changes to the data and it is highly recommended that there are no other active users in the database.

Next we will discuss the Cross Reference Integrity Checker.

Adding Data to Multiple Selected Item Frames using CSV Export / Import


WorkBench has the ability to select multiple items and modify some attributes and categories using the Properties dialog.

Properties for Multiple Selected Items

However, what if you wanted to add data into selected item’s FRAMES?

In this example, we will show how this can be achieved using CSV export / import.

Adding data to multiple selected item FRAMES

Create a CSV File

  • Export your item type to CSV. You only need to map the default attributes Identity, Type, Draft and Version that are already pre-set. The other attributes/frames/categories do not need to be exported.
    Export Control
    Export Items Dialog

    CSV Export Mapping
    Setting Required Attributes
  • Open the CSV file in Excel and add a column representing the new frame.
    In this example, we are adding a new frame named TEST and adding the text “My Text” in this frame for all (or selected) items.
    You could, of course, add different text content for each of these cells.

    Example CSV
    Add Frame Column to Excel

    Add a Frame in your WorkBench Project

  • If you don’t already have the frame, you can add a new frame to the item type in Project Setup now. This is the frame where we will add content en bloc.
Frame Setup
Frame Setup

Importing The CSV File

  • Select Import with the file type CSV and the required item type ensuring that the Overwrite option is set to Merge and press Import.
    Note also that there are options here to update the modification date / last modifier and also whether to add an entry to the items’ edit history.
Import Options
Import Options
Import Dialog
Import Dialog
  • Map the fields ensuring that the added frame is mapped
CSV Fields
CSV Fields
  • You will see that the new frame has been added with content for all items and the previous content remains intact
Updated Frame in WorkBench
Updated Frame in WorkBench

Additional Frames for Change Requests and Change Tasks

Additional frames for Change Requests and Change Tasks can be defined within WorkBench Project Setup.

The Configuration Management System provides a formal mechanism to make changes to items in baselines. The formal change mechanism is based on:

  • Change Requests (CHRs) which are concerned with general statements of the issue to be addressed, or the problem to be solved, or the defect to be corrected
  • Change Tasks (CHTs) which are concerned with the mechanics of implementing and effecting the change(s) required by one or more CHRs

Both CHRs and CHTs are distinct types of items in the Cradle database and can contain any number of frames. As with standard item types, CHRs and CHTs are provided with some default frames to populate when raising either the CHR or CHT. These are TEXT and NOTES where TEXT is a mandatory frame as this provides the detail.

However, you can also specify in Project Setup whether these item types have any additional frames defined. This can be:

  • Text
  • Graphic
  • Word
  • PDF

or any other format defined as a frame type:

Project Setup
Project Setup showing Item Types tab







Frame Setup dialog
Frame Setup dialog for Change Requests


You can also specify the frames to be mandatory so that the CHR or CHT cannot be raised until those frames are populated. As you can see in the example above the Mandatory checkbox is selected for the JUSTIFICATION frame.

This allows you to ensure that all information is provided for your formal changes.

Handwriting Day 2018


The art of a carefully crafted sentence with beautiful ink on a crisp page is becoming a rarity. Handwriting day serves to remind us of that skill.

These days we can even create ‘handwriting’ in our electronic documents with cursive fonts. We can Digitally sign documents using a pass-phrase. However, there is still room for a quick hand written posty note, a card or a signature on a document as a stamp of authority.

Storing Handwriting in Cradle

There are a few ways that you could store hand written information  in Cradle.

  • As an image
  • As part of a PDF / Word Document /RTF document.
  • As part of some other user defined binary frame

Coupled with ‘Skills’  restricting access to the frame storing the signature, Cradle can also protect access to say a signature  of authorisation.

screenshot showing an image containing handwriting stored in Cradle
Handwriting in Cradle

Whether it is a handwritten requirement / letter / alteration  from your customer or an authorisation signature, you can store them in Cradle. As part of Change Management you may wish to record a picture of a whiteboard discussion, a snapshot of the back of that envelope or even a scan of the letter sent by a customer.

In this month’s newsletter we asked you to email us when you last “hand wrote  a date”. There’s still time to drop us a line and get a mention  next month. Or if you really want to practice your writing for handwriting day 2018, drop us a letter.

Update frame types in your projects

Want to update your existing frame types?

Do you want to update your existing frame types which were originally supplied by 3SL or add any newly supplied frame types from 3SL, to your project?

Has your project been running for a long time, if so does your project support the latest types of files used by third party programs for example Microsoft®’s .vxdx extension files. No need to worry, 3SL supply a range of popular frame types and give you the option to easily update your existing projects to include these.

In project setup under frames types there is an update button which when clicked will bring up a “Update Frame Types” dialog that shows:

  1. All supplied frame types
  2. Whether the frame type already exists in your project
Update frames types dialog
Update frames types dialog

If you click OK the frames which are missing will be added to your project schema but your existing frames will remain untouched.

You also have the option to tick the “Overwrite existing frame types” which, as well as adding the missing frames, will update all the existing frame types with the latest settings supplied by 3SL.

For further information on frame types please refer to the Cradle online help.


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