Lifecycle Workflows

Item Progression

Lifecycle workflows allow users to progress items through a defined lifecycle.  This process can set the item’s owner or an attribute in the item to a specific value. A workflow is a defined set of steps through which an item can progress. The stages could describe an items design, production or any other flow that matches your process.

Definition

The lifecycle of an item is described by the combination of stage steps and review steps. The review step specifies the review’s composition, its rules for making a decision, and the actions to be performed if the review approves item(s) or rejects item(s). The stage step will progress the item through the set of stages that represent its lifecycle. You can set the item’s stage to any of the values in the workflow’s stage category. The category must:

  • Be a single value picklist
  • Have a picklist of values defined
  • Have a default value defined
  • Be mandatory
    example implementation steps found in item lifecycle workflows
    Advancement

    Workflows are part of the project schema and managed through Project Setup

Operation

Whist review steps are triggered as an item reaches different stages in the review process (submitted, reviewed, registered and so on) stage steps are triggered by a User issuing an Advance command. This is available on the toolbar or the Configuration Management option on the context menu.

Display

Advance operations for items can be displayed in different forms making available different attributes that are related to the particular phases of their lifecycle.

Lifecycle workflows were introduced in Cradle 7.4, if you’ve not yet upgraded, download now!

Forms – Collapsible Panels

WorkBench Forms

A form is a layout template that is used to display information about items within Cradle. There are multiple attributes of an item that may be displayed, from the name, to categories, to frames.  Forms can soon get complicated, this is where collapsible panels can help.

Collapsible Panels

A feature new in Cradle 7.4

Collapsible panels are placed as a row, or a column on a form definition. These can be barked to display as a normal row/column when opened or to “Show collapsed by default”

The bar at the top of the panel toggles its open state.

Q&A

Some of the questions often asked regarding forms.

Q: What if a user does not have a skill required to see an attribute?

A: The form will not display this particular aspect of the item. There is no need to create a separate form.

Q: I’ve just added some new frames and categories. Do I have to design a new form?

A: No, the Automatic scope forms will generate a basic form with the new elements included.

Q: Do I have to start from scratch designing a form?

A: No, you can choose any existing form (including the automatically generated ones) suitable  for that item type, make your changes and then ‘Save As‘ to store the newly altered definition.

Q : Do you have to show everything that every user needs on a form?

A: No, forms can have a scope of System, Automatic, Project User type, Team User, or Personal. This allows different users to show different aspects of an item most relevant to them.

Q: Can I show related items?

A: Absolutely, linked items can be shown within a form.

Q: Can I convert existing forms?

A: Yes, just select an existing Row or Column and change the Syle from Basic to Panel. then Save or Save As

Email Alerts!

Alerts In Cradle

When working in a multi engineer environment, it is important to communicate. However, when the team is spatially/geographically distributed it’s not easy to shout across the office that you’ve just updated a particular requirement. You may send an email to your colleagues, but it is easy to forget. It’s much easier if the tool you’re using does it for you. Cradle raises alerts for system and item level activities. These can be toggled active, the recipient chosen and the importance set in the Project Schema.

Alert settings in the Cradle Project Schema setup
Cradle Alert Settings

Recipients can be a Cradle individual, a user list, an automatic selection or a category distribution. When the user next signs in they will see their alerts.

showing alerts in the UI
Cradle Alerts

Alerts by Email

Whilst it is really handy to see the alerts that have been raised when working in the tool, it’s not much use if you’re not logged on. Difficult though it may be to believe, not every user is constantly logged onto Cradle! However, most users are able to accept emails. A number of enhancements were made to Cradle’s email alerts in version 7.4. Previously email could only be sent if the user had a MAPI client on their Windows® machine or SMTP on their Linux client. Now Cradle ships with an SMTP program that will connect directly to your company email server. We now provide templates for the emails that you can customise for corporate style or by including/filtering information.

Setup

In the Cradle setup file cradle.ini or cradle.rc find the MAIL_parameters and fill in your company’s settings.
MAIL_HOST = mail.mycompany.co.uk
MAIL_PORT = 587
MAIL_LINE_LEN = 500
MAIL_DEF_SENDER =
MAIL_CMD = "$C_MAILSEND_EXEFILE" -smtp $MAIL_HOST -port $MAIL_PORT -to $RECIPIENT -from $SENDER -name "$SENDNAME" -sub "$SUBJECT" -mime-type "$MIMETYPE" -cs "$CHARACTERSET" -msg-body "$PATH" -q

showing email alert templates
Alert Templates

The email templates exist in %CRADLEHOME%/admin/email_templates where the three main alert types have templates that can be altered. The settings are documented within the template. Specific templates can be added for particular alerts if you want to add specific content, say instructing people how to conduct a review. Cradle URLs also supported in item alerts, allowing the recipient to click and open Cradle on the subject item.

sample email alert in Cradle
Email Alert

Increase the UI Object Limit

The UI of the WorkBench tool in 3SL’s Cradle is very flexible. It allows you to display the items and the results of running queries in individual tabs. You can split the display into panes and have many of these tabs in each pane. You may need to increase the UI Object limit if you want to have a very complex WorkBench UI.

UI Object Limit

Each part of the UI uses Windows resources called User interface objects. There is a limit on the number of these UI Objects that each WorkBench process can allocate.

The default is a maximum of 10,000 UI Objects per process. This can be increased to a maximum of 18,000 UI Objects per process by changing a setting in the Windows registry.

If you open so many tabs that WorkBench exhausts the UI Objects that it can allocate, then the WorkBench UI will hang.

Increase the UI Object Limit

To increase the UI Objects Limit you must edit the Windows registry value:

HKEY_LOCAL_MACHINE\SOFTWARE
    \Microsoft\Windows NT\CurrentVersion
    \Windows\USERProcessHandleQuota

The steps are:

Set the UI Object Limit
Set the UI Object Limit
  1. Press Windows+R and enter regedit and click OK
  2. Navigate to the above registry entry
  3. Double click the entry for USERProcessHandleQuota, and set Decimal
  4. Enter the new value 18000 and click OK:

    DWORD USERProcessHandleQuota edit dialog
    USERProcessHandleQuota
  5. Exit the registry editor

This change takes effect on any processes created from now on.

Do I Need to Do This?

In general, no you do not need to make this change.

We have only seen one case where this change was necessary. In this case, a customer had a form with 75 frames display in it. The WorkBench UI hung when a user tried to open the 6th item concurrently when using this form.

Increasing this limit allowed the user to open 10 items concurrently using this (very!) large form.

Of course, if you want to increase the UI Object limit as a precaution, then it will not do any harm!

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)

Sets

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

Note:

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’.

Regexes (Regular Expressions) in Queries

Regular Expressions (Regexes)

A Regex is simply sequence of characters that define a search pattern. This pattern is then compared with the target test string and will produce a match if the pattern allows.

Cradle Queries

When retrieving information from the database, Cradle uses a query to filter the data returned. It looks for many matches against different aspects  of the item.

Ending Wildcards and Contains

Wildcard matches are available on the Identity and the Key fields The ones most likely to be identifying a hierarchy.

In the example below a query has been run with three values in the identity field.

  1. REQ-1
  2. REQ-1.
  3. REQ-1*

The results show

  1. Only REQ-1 returned  and exact match
  2. REQ-10, REQ-11, REQ-12 …. onwards a text match bringing back the matches greater than the stem. This is really useful for hierarchical numbers, bringing back the children of 1.1 (using 1.1.) say.
  3. REQ-1, REQ-10, REQ-11 a text match where the stem is followed by zero or more characters. This brings back the stem value too.
Wildcard values in a query
Wildcard Query

Contains matches are available on Name and Comment fields. They are case insensitive and look for the string of characters anywhere in the component.

In the example below

  1. regulation

Results in

  • Regulations
  • CAA Regulations
  • Airworthiness Regulations
  • Noise Regulations

This can be a little too wide.

Regular expression (regex) in a query
Regex Query

Regex Query

choosing a regex component in a query
Choose Regex

In order to provide more control it is now (Cradle 7.4) possible to switch to a Regex match. Choose the dropdown at the end of the field and select Regex Match. This will change how the search text is applied.

In the example above

  1. ^Regulation

Brings back

  1. “Regulations” only because the “^” at the beginning is a regex anchor to  the start of the line.

Expressions

If we were searching for part numbers we might use ^Pt:[AB]+.* to bring back all parts starting Pt:A and Pt:B followed by any other characters.

There are many flavours of Regex, Cradle is based on the PCRE flavour. Instead of documenting the whole set of patterns, it is usually more appropriate for users to use their favourite documentation. We like www.regular-expressions.info/ and www.regex101.com/

Pros / Cons

Databases have a number of keys and indexes. Cradle is designed to work with these to produce results most effectively. Wildcard endings are more efficient as they match the way the data is sorted internally. Regex expressions have to match against all database entries. therefore there is a performance implication to using this more flexible matching. This is why both methods are provided and users can switch whichever they want on.

 

Toolsuite

An overview of the Toolsuite Products in Cradle Software

Toolsuite is a set of tools which utilises the applications in Microsoft® Office. These tools will only work on a Windows environment utilising MS Office from 2007 and up.

Supported Versions and Platforms

The Toolsuite supported versions of MS Office are:

  • 2007 32‐bit
  • 2010 32‐bit and 64‐bit
  • 2013 32‐bit and 64‐bit
  • 2016, 32‐bit and 64‐bit

Any of the Click To Run (CTR) Office suite is also supported by Cradle Toolsuite.

This can be on any of the following Windows platforms:

  • 7 32‐bit and 64‐bit
  • 8.1 32‐bit and 64‐bit
  • 10 32‐bit and 64‐bit

Also it can be installed on the following servers:

  • 2008 R2 32‐bit and 64‐bit
  • 2012 64‐bit
  • 2012 R2 64‐bit
  • 2016 64-bit

Tools

The different tools within the suite utilise the following Office applications:

  • Word
    • Document Loader for loading documents

      New document version to be captured using Document Loader
      Document Loader Screen
    • Document Publisher for creating and printing of official documents
    • Spellchecker to check the spelling in item frames
    • Word/document frames for items e.g. .doc and .docx frames
    • Document Coverage shows the items covered by a document
    • Document Compare compares different versions of source documents against each other
    • Word frame to RTF Frame converter
  • Excel
    • Add-in for imports

      The Excel add-in for Cradle's Toolsuite
      Excel Add-in
    • Excel frames for files
  • Project
    • Add-in for importing and exporting to a project file
    • Project frames for files
  • Visio
    • Plug-in allows import of pages and symbols as items
    • Visio frames for files
  • PowerPoint
    • Allows WorkBench to print diagrams to RTF and convert the file to PowerPoint presentations.

Installing Toolsuite

For a successful install of Toolsuite, the MS Office needs to be of one version and not mixed versions. For example, if the user has Word/Excel 2007 but Visio/Project 2013, the plug-in or frames for Visio/Project 2013 is not installed. The installer automatically checks for the architecture of Word/Excel as each MS Office version needs different library files installed by Toolsuite. All other MS applications versions are disregarded if a different version to Word and Excel.

Upgrading or changing MS Office

If upgrading or changing your Office then you should always uninstall Toolsuite first. Once Office is upgraded or changed, Toolsuite can be reinstalled to allow the correct library files to be installed.

Uninstall Toolsuite not Cradle
Uninstall Toolsuite not Cradle

The user doesn’t need to download a separate Toolsuite installer but can find the installer within the main Cradle install folder.

Toolsuite folder
Shows the Toolsuite folder within the main Cradle install folder

During the install the InstallShield will automatically pick the version to install based on the version of Word and Excel that are installed.

Once Toolsuite is installed successfully, you can access the plug-ins by opening the relevant MS application and selecting the Cradle tab. Document Loader, Document Publisher and Spellchecker are opened through WorkBench, Project Manager or the start menu.

The ‘Word frame to RTF‘ frame converter is accessed via a command line utility. This will take Word frames and copy the data into an RTF frame. More information for using the converter can be found by entering c_word2rtf into the Search bar of our Help system or online at https://www.threesl.com/cradle/help.

Both Document Coverage and Compare are used inside WorkBench and are started by selecting one or more Source Documents and selecting the option in a context menu.

For information on binary and other frames types check our help section or search our blog.

Trouble Shooting Issues

If you are having issues with the install of Toolsuite, then try the following:

  1. Make sure your Windows platform is fully up to date including:
    a. Visual V++ Redistributables (https://support.microsoft.com/)
    b. ‘.NET’ (https://support.microsoft.com/)
  2. Ensure the installed MS Office is fully up to date and check compatibility with Toolsuite here
  3. Ensure your old office keys are no longer in the Registry especially if you are using Click-to-Run versions
  4. Check the Compatibility tab in the Properties for the Toolsuite setup.exe. Select Change settings for all users and uncheck the Compatibility mode checkbox at the top of the dialog. Click the Apply button and OK to close Properties.
  5. Make sure you perform  the install with System Administrator privileges not just logged in as an Admin user

If you are having issues after install then try the following:

  1. Make sure you have restarted your machine after the install
  2. Check you have opened your Office and registered it if you need to
  3. Check .Net framework and C++ redistributables are up to date
  4. Make sure your Toolsuite version is the same as your server version

If none of the above trouble shooting works then send an email to support@threesl.com with any logs created, exports and screenshots if possible.

For more information either look for blogs about the individual applications or see our online Help.

Creating Link Rules in Cradle

Creating Link Rules in Cradle

Creating link rules in Cradle is performed in the Link Rules section of Project Setup. If you require more information on how to find this please see the previous post Getting Started with Link Rules in Cradle.

New link rules are added by selecting the Add… button to the right of the Project Setup window.

Select the Add... button to create link rules
Select the Add… button to create new link rules

Selecting Add… opens the Link Rule Setup dialog. The purpose of this window is to select the attributes for our new link rule.

Creating link rules in the Link Rule Setup dialog.
Cradle’s Link Rule Setup Dialog

Specifying Options and Attributes in Link Rule Setup

When creating link rules, you need to decide their purpose and to what items/aspects you want them to apply.

Rule Control

  • Firstly decide whether the rule is enabled (this allows rules to be written but whether they are applied or not may depend on the stage the current project is at)
  • Next decide whether this rule is an ALLOW (Permit the operation) or PREVENT (Prevent operation) action.
  • Choose whether this is a blanket rule, or whether it only applies to certain Users, or User Teams.

Cross Reference Attributes

  • Pick the item types that this refers to. (If these are model-based there are further options to fill)
  • Optionally restrict this to items with a particular ID. (This might be useful if you have an over arching item e.g. “Reference Set External” to which all external references are linked with a special INCLUDES link type which can be made by anyone adding a reference)
  • The link type can be specified as any of those defined for the project, or <any> which allows all link types to match, or a Link Group which is a set of link types.
  • Choose the cardinality allowed.
  • Optionally mark this as the default link type between two specific item types. This will then be the link type chosen when creating cross references between items of the specified type, either to set the UI as default or when no UI option is available for the action.

Matched Rule Controls

This defines what the rule will allow in terms of Creation, Deletion or Modification.

Ordering Rules

When creating link rules, remember they are applied in a top down fashion, the first match wins. If there is a narrow case you don’t want to allow, you may choose to PREVENT this first and then add an ALLOW below it. If there is a narrow case you want to ALLOW you would order this first and then PREVENT everything else.

Example:

To allow Requirements to be linked to any Equipment Design item, with any link except CHILD you would define two rules.

  1. PREVENT Requirement ⎯ CHILD → EQUIPMENT DESIGN
  2. ALLOW   Requirement ⎯ <any> → EQUIPMENT DESIGN

To allow the Requirements to be linked to other Requirements using the CHILD link, and nothing else a further two rules would be added.

  1. ALLOW   Requirement ⎯ CHILD → Requirement
  2. PREVENT Requirement ⎯ <any>→ Requirement
How the order of link rules plays an important part in their definition
Link Rule Ordering

Housekeeping

Keeping Cradle in Tip Top Condition

This article will highlight a set of housekeeping tips to keep Cradle running smoothly and provide a good user environment.

Alerts

Whilst alerts are a very useful feature telling users  that an aspect or item of their project has changed, users sometimes forget to clear their alerts from their accounts. You could ask each user to select old read/unread alerts and delete them. However, an administrative user with both PROJECT and ACCESS_BYPASS privileges can tidy alerts for ALL users

how to tidy up alerts
Housekeeping Alerts

Selecting the Project tab, then Delete Alerts will show a dialog that lets the administrator choose a range of ALL users’ alerts to delete. This will remove read and unread alerts from the database.

Automatic housekeeping for alerts
Project Setup – Alert Management

Additionally Alerts can be tidied up by each user automatically each time they log out. This setting can be found in the Project Setup under Alerts.

Definitions

These can include Queries, Views, Forms, Matrices, Metrics, Reports, Graphs, Dashboards, Navigations, Start Pages, Graphics Print Settings, Hierarchy Diagram Properties, Capture Setups, Report Styles, Graph Styles, Export / Import Formats.

They are stored in different groupings, Personal, Project, User, Team, User Type, System and Automatic. These groups allow the definitions to be shared according to their intended use. Project for example is available to everyone working on that project, whereas User Type definitions match someone’s role on that project and are available to users holding that role. Personal definitions however, will be available to that person, across projects.

Sometimes duplicates or old definitions can accumulate and need tidying up. The definitions manager allows users to manipulate.

From the Project toolbar selecting the Definitions Manager will show the following dialog.

showing the definitions manager
Definitions Manager

Using the side buttons, definitions can be moved, copied and deleted. This would allow, say a team leader with creation privileges, to develop a number of queries or views and then move them into User Types for use by users who are not allowed to modify or create the definitions, themselves.

Depending on the location of the definition users may need one or more privileges from CREATE_DEFS, PROJECT, TEAM_LEADER or indeed ACCESS_BYPASS.

DPack

The DISAM database file system used by Cradle consists of file pairs of data and index files. After time, it is possible, that a number of blank areas will appear in the data file, as a result of large numbers of records having been deleted. Whilst this is perfectly normal operation, it can mean the data file is larger than it needs to be.

running dpack on DISAM files
dpack Utility

The DPack utility can be used to re-write these files more compactly and rebuild the indexes. This is not considered an everyday operation and would normally only be performed by and IT administrator. This should only be performed when the CDS (Cradle Database Sever) is not running.

  1. Make sure you have a backup of the entire project directory – incase a power-cut or machine failure occurs during crucial operations
  2. Move to the directory to be compacted
  3. Run the following command (c_dpack on Linux, dpack.exe on Windows®)
    "%CRADLEHOME%\bin\exe\windows\dpack.exe" tlb1alrt Where tlb1 is the project code and alrt is the particular database file to re-pack.
  4. To complete this for all files in the directory running a batch-file or script
    e.g. on Windows®
    @echo OFF
    for /F %%f in ('dir /B "C:\Data\cradle_projects\TLB1\*.dat"') do (
       echo Processing file %%~nf
       "%CRADLEHOME%\bin\exe\windows\dpack.exe" %%~nf
    )

    Where C:\Data\cradle_projects\TLB1\TLB1 is the directory for the project.

Cradle History

Keeping track of what you’ve been doing is really useful, the history sidebar shows the queries you have run and the items you have opened.

However, sometimes you may have a long list of entries from a particular day, you may then want to work on a different part of the project. In this instance it is sometimes useful to clear your history and start afresh. In the History Sidebar you can choose what to clear by selecting and right clicking items in the menu.

Options for clearing Cradle history entries
Clearing History

Larger amounts can be cleared through the Clear Browsing History option on the Project tab.

Diagram Preferences

Drawing Just the Way You Like It

We all have our preferred way of doing things. Whether that’s a corporate or a personal view. 3SL don’t enforce a particular layout style, colour or size. These diagram preferences can be set by the user. As with any preferences, they can be set at an installation level in the cradle.ini file on Windows® or .cradlerc file on Linux® file as a default or overridden by the user.

Grid Preferences

In the diagram below  it can be seen that the drawing grid is quite small (32). Which is great for finer detail. However, if you are mainly concerned with large blocks in your diagrams and want plenty of space, a layout guide of 128 may be more appropriate. Users have two options, firstly to set the size each time they use Cradle from the Grid section on the Diagram  tool-bar or to set their drawing preferences.

setting the grid preferences for diagram drawing in Cradle
Diagram Preferences

Preference Dialog

The dialog can be opened from the Preferences option on the Home tool-bar. Once the dialog is displayed, the diagram preferences are set using the the Diagrams section. There are a number of defaults that can now be set ranging from the initial grid size to whether specifications are automatically created when the diagram is saved.  You can change the palette too, so a mute background rather than bright white can be chosen to be easier on the eye.