Tree Style

You can find items in a Cradle database by running a query. For example, you can use the pre-defined queries in the Quick Access Bar at the bottom of the UI. Once the query has run, the results are shown in a display style. Tree style is one of the four styles available:

A view is used to specify which parts (attributes) of the items will be shown. A display style controls how these attributes will be displayed, and the facilities that are available to you.

Tree Style

This is the second most frequently-used of the display styles after table style. It displays each item as a node in a tree, with a set of columns for the other attributes:

display items using tree style in 3SL Cradle RM SE Tool
Items Shown in Tree Style

There are two views used to display trees:

  • A view that specifies the contents of the node shown in the tree. You specify this view in the schema for the item type.
  • A view that specifies the attributes shown in columns to the right of the tree

To have items displayed in this style:

  • Specify it in the query to be run:
choose tree style in a query in 3SL Cradle RM SE Tool
Specify Tree Style in a Query
  • Also, select it from the Context group in the Home tab:
choose tree style in the UI in 3SL Cradle RM SE Tool
Choose Tree Style in the UI Ribbon
  • Or, right click and choose Style -> Tree from the context-sensitive menu
  • Finally, press <CTRL> and 4

Facilities

  • Use the left mouse button to select individual items
  • You can select a groups of items by selecting the first and then pressing <SHIFT> and the left mouse button to select the end of the group
  • Press <CTRL> and the left mouse button to select or de-select individual items
  • You can shrink and widen the display columns. Move your cursor to the edge of a column heading and the cursor will become a pair of arrows. Press, drag and release the left mouse button to change the column’s width.
  • You can follow cross references by expanding the tree node for the item. Cradle will find all cross references to and from the item, select which cross references to use, and display the items at the other end of these cross references as new nodes in the tree.
  • Use drag-and-drop items between trees to create cross references between the items
  • Drag-and-drop items inside a hierarchy of the same type of items to reorder that hierarchy and automatically rebuild the hierarchical numbering within it

You can expand a tree node by:

  • Click its + button
  • Select the text of the tree node and press: +
  • Select the text of the tree node, right click, and choose Expand from the menu
  • Double click on the text of the tree node

You can collapse a tree node by:

  • Click its button
  • Double-click on the text of the tree node
  • Select the text of the tree node and press:
  • Select the text of the tree node, right click, and choose Collapse from the menu

Advantages

The advantages of tree style are that it is:

  • The simplest way to explore items and their relationships
  • A convenient method to create cross references
  • The easiest way to reorganise a hierarchy of items

If you want to do anything with cross references between items, or to work in a hierarchy of items, then this is the best display style to use.

Disadvantages

The disadvantages of tree style are that:

  • It provides a limited ability to display information
  • You cannot edit information directly

Summary

Tree style is the most convenient method to work with cross references within a set of items and between one set of items and other sets of information.

Therefore, we recommend this style whenever you need to work with cross references between items and inside hierarchies.

Document Style

You can find items in a Cradle database by running a query. For example, you can use the pre-defined queries in the Quick Access Bar at the bottom of the UI. Once the query has run, the results are shown in a display style. Document style is one of the four styles available:

A view is used to specify which parts (attributes) of the items will be shown. A display style controls how these attributes will be displayed, and the facilities that are available to you.

Document Style

This is the second most flexible of all the display styles. It displays each item as a set of one or more rows and one or more columns (as controlled by the view), with invisible borders around each of the cells. You can edit items directly in this display style.

display items using document style in 3SL Cradle RM SE Tool
Items Shown in Document Style

This display style is similar to table style, except that:

  • The height of each item’s row is set by the information to be shown. So some rows are shallow and other rows are deep. If an attribute contains no data, its height will be close to zero.
  • Different sized fonts are used to display the first row in the view. The size of the font is based on the level of the item being shown. This level is based on the number of dots (periods) in the first attribute shown in the row. This is typically the Key, or whatever attribute you may have specified to hold the item’s hierarchical number.
  • The borders around the rows and columns are invisible

For document style, you should use views that show attributes in successive rows, rather than successive columns. For example:

view to items using document style in 3SL Cradle RM SE Tool
Arrangement of Attributes in a View for Document Style

The result is that items are displayed in a style that looks like a document, with large font for section headings and smaller fonts used for subsection headings.

To have items displayed in this style:

  • Specify it in the query to be run:
choose document style in a query in 3SL Cradle RM SE Tool
Specify Document Style in a Query
  • Also, select it from the Context group in the Home tab:
choose document style in the UI in 3SL Cradle RM SE Tool
Choose Document Style in the UI Ribbon
  • Or, right click and choose Style -> Document from the context-sensitive menu
  • Finally, press CTRL and 3

Facilities

Document style provides a wide range of faciltiies.

Selecting Items

  • Use the left mouse button to select individual items
  • You can select a groups of items by selecting the first and then pressing SHIFT and the left mouse button to select the end of the group
  • Press <CTRL> and the left mouse button to select or de-select individual items

Changing the Display

  • You can shrink and widen the display columns. Move your cursor to the edge of a column heading and the cursor will become a pair of arrows. Press, drag and release the left mouse button to change the column’s width.
  • You can move any row or column in the view. Move your cursor onto any cell border and the cursor will become a pair of arrows. Press, drag and release the left mouse button to move that border.
  • By default, all rows are displayed with different heights, you can increase or decrease the height of any row
  • You can sort the data in any column. Click the column heading and choose a sort order, either ascending or descending, in either a case-sensitive or case-insensitve manner (this only applies to languages that have upper-case and lower-case characters)
  • Tooltips are displayed for each column. Move your cursor into a column heading and after a second, a description of that attribute will be shown. You can enter these descriptions in the schema.
  • You can see tooltips for some attribute values. Move your cursor into a cell that displays a category with a pick-list of possible values. A tooltip appears containing a description of that category and category value. You can enter these descriptions in the schema.

Exploring Data

  • You can expand rows to follow cross references. Double-click the heading for an item’s row and that row will expand to show one new row for each item linked to the original item. Repeat this as many times as you like.
  • You will see the level of any expanded row as the number of dots in its row heading
  • You can collapse rows by double-clicking the row heading.

Editing Data

  • You can edit items directly Click inside any cell. If you have RW access to the item, Cradle locks the item so you can edit it.

Advantages

The advantages of document style are that it is:

  • Flexible. You can adjust the display and sort information.
  • Navigable. You can explore the database by expanding rows to follow cross references.
  • Editable. You can edit information through the display style.
  • Readable. All items are shown with a display height to display their entire contents.

Disadvantages

The disadvantages of document style are that:

  • It takes much longer to display than list style or tree style
  • The rows displaying information are of different heights, so you may not see many items at the same time. You may need to scroll more than in other display styles.

Summary

Document style is the second most flexible of Cradle’s four display styles, after table style. It is not the quickest style to generate, but it does provide a familiar document-like view of information and a lot of capability.

Therefore, we recommend document style whenever you want to display items in a document format. This can be very helpful for users who are more familiar with using documents, rather than data-orientated tools.

Table Style

You can find items in a Cradle database by running a query. For example, you can use the pre-defined queries in the Quick Access Bar at the bottom of the UI. Once the query has run, the results are shown in a display style. Table style is one of the four styles available:

A view is used to specify which parts (attributes) of the items will be shown. A display style controls how these attributes will be displayed, and the facilities that are available to you.

Table Style

This is the most flexible of all the display styles. It displays each item as a set of one or more rows and one or more columns (as controlled by the view), with borders around each of the cells. You can edit items directly in this display style.

display items using table style in 3SL Cradle RM SE Tool
Items Shown in Table Style

To have items displayed in this style:

  • Specify it in the query to be run:
choose table style in a query in 3SL Cradle RM SE Tool
Specify Table Style in a Query
  • Also, select it from the Context group in the Home tab:
choose table style in the UI in 3SL Cradle RM SE Tool
Choose Table Style in the UI Ribbon
  • Or, right click and choose Style -> Table from the context-sensitive menu
  • Finally, press <CTRL> and 2

Facilities

Table style provides a wide range of facilities.

Selecting Items

  • Use the left mouse button to select individual items
  • You can select a groups of items by selecting the first and then pressing SHIFT and the left mouse button to select the end of the group
  • Press <CTRL> and the left mouse button to select or de-select individual items

Changing the Display

  • You can shrink and widen the display columns. Move your cursor to the edge of a column heading and the cursor will become a pair of arrows. Press, drag and release the left mouse button to change the column’s width.
  • You can move any row or column in the view. Move your cursor onto any cell border and the cursor will become a pair of arrows. Press, drag and release the left mouse button to move that border.
  • By default, all rows are displayed the same height, but you can increase the height of any row
  • You can sort the data in any column. Click the column heading and choose a sort order, either ascending or descending, in either a case-sensitive or case-insensitve manner (this only applies to languages that have upper-case and lower-case characters)
  • Tooltips are displayed for each column. Move your cursor into a column heading and after a second, a description of that attribute will be shown. You can enter these descriptions in the schema.
  • You can see tooltips for some attribute values. Move your cursor into a cell that displays a category with a pick-list of possible values. A tooltip appears containing a description of that category and category value. You can enter these descriptions in the schema.

Exploring Data

  • You can expand rows to follow cross references. Double-click the heading for an item’s row and that row will expand to show one new row for each item linked to the original item. Repeat this as many times as you like.
  • You will see the level of any expanded row as the number of dots in its row heading
  • You can collapse rows by double-clicking the row heading.

Editing Data

  • You can edit items in a table. Click inside any cell in the table. If you have RW access to the item, Cradle locks the item so you can edit it.

Advantages

The advantages of table style are that it is:

  • Flexible. You can adjust the display and sort information.
  • Navigable. You can explore the database by expanding rows to follow cross references.
  • Editable. You can edit information through the display style.
  • Compact. All items are shown with the same display height.

Disadvantages

The disadvantages of table style are that:

  • It takes longer to display than list style or tree style
  • The rows displaying information are all the same height, so you may have to click in a cell or expand a row border to see all of the information in some attributes

Summary

Table style is the most flexible of Cradle’s four display styles. It is not the quickest to generate, but it provides the most capability.

Therefore, we recommend table style as the best general purpose display style in Cradle. Unless you need something provided by a different display style, use table style.

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.

Related Articles

Special characters in regexes and how to escape them

 

Can I check for frames that don’t contain digits?

Special characters in regexes and how to escape them

Regex – Regular Expression

Cradle provides support for regular expressions, regular expressions are a means to find variable text in places such as:

  • Queries
  • Find dialogs
  • Category recognition strings
  • Category value validations

For instance, regular expressions (regexes) can be used in queries to find all items in which any frame, or a specific frame, or any of a list of frames, contains text matching the regular expression that you are searching for. For example, if you wanted to find all items containing sequences of capital letters followed by numbers, then the regular expression would be:

[A-Z]+[0-9]+

Special Characters

Some characters have special meanings within regexes these characters are:

Char Description Meaning
\ Backslash Used to escape a special character
^ Caret Beginning of a string
$ Dollar sign End of a string
. Period or dot Matches any single character
| Vertical bar or pipe symbol Matches previous OR next character/group
? Question mark Match zero or one of the previous
* Asterisk or star Match zero, one or more of the previous
+ Plus sign Match one or more of the previous
( ) Opening and closing parenthesis Group characters
[ ] Opening and closing square bracket Matches a range of characters
{ } Opening and closing curly brace Matches a specified number of occurrences of the previous

Examples

Finished\? matches “Finished?
^http matches strings that begin with http
[^0-9] matches any character not 0-9
ing$ matches “exciting” but not “ingenious
gr.y matches “gray“, “grey
Red|Yellow matches “Red” or “Yellow
colou?r matches colour and color
Ah? matches “Al” or “Ah
Ah* matches “Ahhhhh” or “A
Ah+ matches “Ah” or “Ahhh” but not “A
[cbf]ar matches “car“, “bar“, or “far
[a-zA-Z] matches ascii letters a-z (uppercase and lower case)

Using Special Characters as Literal Characters

If you want to use any of these as literal characters you can escape special characters with \ to give them their literal character meaning.

Example

If you want to match 1+2=3, you need to use a backslash (\) to escape the + as this character has a special meaning (Match one or more of the previous).
To match the 1+2=3 as one string you would need to use the regex 1\+2=3

For further information on using regexes in Cradle see our online help.

Related Articles:

Can I check for frames that don’t contain digits?

 

Can I check for frames that don’t contain digits?

Regex – Regular Expression

A RegEx (Regular Expression) is a pattern matching method often used in text searches and data processing. Cradle supports Regex matches in a number of query elements, so it is possible to perform complex searches on your data. This article gives an example of the use of Regexes in frames.

Example:

The mocked up example describes just one of the ways a user could search the text frames of their items achieve particular results.

Identity Name Group Text
bed1 Single Bedroom Customer rooms Single person room of basic standard – en-suite shower
bed2 Double Bedroom Customer rooms A 2 person occupancy room, shared bed en-suite shower
bed3 Twin Bedroom Customer rooms A 2 person occupancy room, single beds, en-suite shower
bed4 Luxury Bedroom Customer rooms A 1 or 2 person occupancy room double bed, en-suite with bath and shower.
bed5 Night Staff Rest Staff rooms 1 person
store1 Cleaning storeroom

The data in the table above used a Cradle Note called Bedroom and was produced by running the automatic query “BEDROOM – All”. Then the resulting  table was published to HTML. There were no regexes in frames applied to the initial query.

Queries with Regexes in Frames

    • Simply entering “TEXT” as the Name of the frame to search and running the query will bring back bed1-bed5. The item store1 has no content to compare so can’t match.
    • Entering bath in the Regexes field and re-running will return bed4  this is the most basic case the text typed in is simply found as a direct match.
    • If you want to find the incomplete items and find those with a blank frame using the Cradle extension of <null> in the Regexes field will return store1 as this has nothing in the frame.
    • If we want the query to find those that have not used a digit  in the description (This may be important if the output is parsed by some other program) it is possible to use a regex character class [[:digit:]] . This will find all the elements containing a digit ≍ [0-9]. However, if we want the elements that don’t contain numbers, we can use the second Cradle extension of ! to negate the result, hence ![[:digit]] will return bed1 as it used the word ‘single’ rather than a digit for its occupancy value.
    • Cradle also allows comma separated logical combinations of regexes in frames. Using the Venn diagram symbol you can select whether these are AND or OR combinations. Switching to AND and then using the regex [[:digit:]],![[:alpha]] would bring back items where the frame contained digits and no alphabetic characters.
screenshots of results using regexes in frames in Cradle
Regexes in Frames

Exploring Regexes

A simple way of testing whether your regex will give you the results you want is to use a test program regex101.com/ is a good example. This allows you to quickly tweak your statement, and run it against various test data.
Cradle uses the PCRE ‘flavour’ internally.
The Cradle help system has further information on regexes

Related Articles

Category Validation

X-Ray Day 2017

 X-Ray Day 8th November 2017

X-Rays  are a form of electromagnetic radiation or “ray” for short.

When first discovered, these mysterious rays were nothing like anything that had been described before, hence the ‘X’ name has stuck.

X-rays have a wavelength less than 10 nanometres, that is, they are shorter than those of UV, and longer than those of gamma rays.  It was a German scientist Wilhelm Röntgen often credited with their discovery.

3SL image with x-ray effect
3SL X-Ray

Looking Inside Cradle

Thankfully there is no need to use X-Rays to look inside your Cradle project.

Information once stored can be recalled by Queries and presented in Views or Forms. Output can be directed to HTML or RTF tables, shown graphically as a Hierarchy diagram, explored by clicking links. Formal publishing to Microsoft® Word documents can be achieved through Document Publisher.

In short there is no mystery to your data once inside Cradle unlike our bones, welded joints or airport suitcases you can easily see your data.

Celebrate on X-Ray Day 2017

Celebrate the genius of a very useful tool in the x-ray machine. Whilst we don’t advise you have an x-ray for fun, you could download another useful tool here!

Parametrics in Document Publisher

Parametrics can be very useful in Document Publisher. It uses a question mark ? as a marker to Document Publisher that this is an option and needs to be filled/selected by the user.

It can allow users to set the Identity/key of a single item or more to be output. This can be used in a hierarchy or with a single item type. Parametrics can also be used to set different properties and options in filters.

Single Parametrics

Using a single Parametric (?) allows a user to publish a template many times but use a different item Identity or Key each time. Note: Using a single parametric in several places in the template will always use the same item identity or key each time.

A parametric can be used at the database/top level or at the field level to set the items to be published. At the top level the parametric is entered for the Identity or Key.

Single Parametric set at Database level
Single Parametric set at Database level
Specify Key dialog
A popup for a user to set the Key(s) at a database level item.

They can also be used in a filter for field to set or restrict the items to be output.

Using a category to detemine if a field tag is output.
Using a category to detemine if a field tag is output.

In this case the Requirement attribute of Identity will only be output if its Item Status is set to Accepted.

This allows the user to set the Item Status Option.
This allows the user to set the Item Status Option.

As you can see below, only items with a status of Accepted have both the Identity and Key output for the Requirements.

Small excerpt of the items output
Small excerpt of the items output

Named Parametrics

Using a Named Parametric (?named) means a user can have several different parametrics throughout the template and each can be set at time of publishing. So for example the user can set one named parametric for output based on one option of category (e.g. Agreed) and then later in the template use a different named parametric to output based on a different category option (e.g. Rejected).

Named Parameters for 2 different Paragraph Group Tags
Named Parameters for 2 different Paragraph Group Tags

During publishing a popup will allow the user to select Agreed for the first Paragraph Group popup:

Named Parametric for Status 1
Named Parametric for Status 1

They then can select Rejected for the second Paragraph Group popup:

The second popup to select a different Status
The second popup to select a different Status

The published output will then show the 2 different outputs in the same document.

Output using the above options
Output using the above options

These named parameters can even be used in several places within the template. The user may want to show the Agreed Requirements and System Requirements in one document. As both item types use the same category (Item Status in our Demo) then the same named parametric can be used for both item types.

Using Named parametrics for both Requirements and System Requirements
Using Named parametrics for both Requirements and System Requirements
Output using the same Named Parameters twice
Output using the same Named Parameters twice

In the above screenshot, the 2 named Parametrics have been used for Requirements and System Requirements and the output shows all the Agreed items but that there are no Rejected System Requirements.

Querying a Range

Categories and Calculations in Range

When running a query it is possible to specify more than just a single value. Categories and calculations with a numeric value can be queried to exist in a range. For example querying a range for categories, or calculations that have a numeric value can be tested for the mathematical values:

  • Is equal to
  • is not equal to
  • Is in range
  • Is less than or equal to
  • is less than
  • is more than or equal to
  • is more than

It can also be tested against the logical

  • Is empty
  • Is not empty

or textually

  • Contains
menu showing numeric query specifiers
Numeric Query Specifiers

Results

The following screen shot shows the result of running a query against all of the item type and re-running with a range calculation.

The top half of the display shows the calculation having 14m2 up to 22.5m2, but the query Mid Floor Area limits the return to those between 15m2 and 20m2.

result of running a query witha nd without a range
Querying a Range
Related Articles

Querying on a date range

Querying on Dates

Calculations in items

Calculations in Cradle

How do I see multiple queries at the same time?

Run and Display Multiple Queries Simultaneously

In Cradle it is very simple to see multiple queries!

First of all run your selected Query and this will open in a pane as usual such as shown below:

Query feature
Pane 1 – Query Feature

Now in the Top Right of the Pane you will see a little Arrow pointing right, if you select this you will be able to “Split Top/Bottom” or Split Left/Right” Creating a new pane. In that pane right click and you will have the option to “New Query…” This can be done multiple times. Showing multiple queries in views, multiple items in forms or multiple diagrams As you can see by my example below I have 3 Queries open all with different views and styles.

WorkBench showing multiple queries
Multiple Queries

For further information on Multiple Queries click here

Related Articles

Read more about panes and tabs

WorkBench Screen Panes and Tabs

See how to maximise your working area

Making Space