Cradle-7.3.2 Released

3SL is pleased to announce the release of Cradle-7.3.2. This is available for download from the 3SL website. As you currently have an active Cradle maintenance agreement you can download this Cradle release free of charge.

Please note that even the website states Cradle-7.3 this IS the Cradle-7.3.2 software.

Cradle 7.3.2
Cradle 7.3.2

To download the latest release please visit our website at www.threesl.com and login. Once you have logged in navigate to the Resources section to download this release.

Details of the fixes in this release are in the Cradle help.

Upgrading

If you upgrade to Cradle-7.3.2 anywhere, you must upgrade everywhere, the server and all clients. Visit the download area.

If you are upgrading from a version prior to Cradle-7.3 you will require a Security Code. Contact our Support Department to get your new Security Code.

Customers who purchased a single-user Cradle-7.3 product can also apply this new release.

What’s CRADLE_ERRORSTACK?

Environment Variable or Command-line Switch Stack-tracing

As with many complex products Cradle monitors its internal operation and on the rare occasion that something goes wrong it writes information to a log. CRADLE_ERRORSTACK controls how much information is logged internally and output on these occasions.

If in the unfortunate case a Cradle tool crashes, there will often be a log produced in the %CRADLEHOME%\logs\errors directory. This will enable 3SL Support to diagnose simple cases such as a lack of memory on the machine. If the case is more complex, the development team may need to know at which point the program was processing at the time the error occurred. CRADLE_ERRORSTACK will enable additional internal logging that will output a simple execution stack trace into the log. This can aid diagnosis and resolution.

Switching Stack Trace On and Off

CRADLE_ERRORSTACK is an environment variable. You can set it via the control panel’s Advanced system settings (see the screenshot).

In Linux if you are editing the environment config files bashrc, profile, etc for either the system /etc/profile or the user ~/.bashrc then use:

export CRADLE_ERRORSTACK=true

Or as we now set CRADLEHOME in /etc/profile.d/cradle.sh you can put the ‘CRADLE_ERRORSTACK=true’ variable in this file.

Or you could start the Cradle tool from within a command shell, (On Windows®) press windows key type cmd and then in the shell set CRADLE_ERRORSTACK=true, then launch the tool e.g. "%CRADLEHOME%\bin\exe\windows\work.exe". You can also set a -errorstack parameter to your command line option, i.e. work.exe -errorstack to start WorkBench with the stack on.

Turning on CRADLE_ERRORSTACK environment variable
Environment Variables

Should I leave CRADLE_ERRORSTACK on?

Generally there is no need to leave the stack trace on all the the time. There is a small performance hit if you do, so unless you are having problems we don’t advise you leave it enabled.

What if that still does not sort the issue?

3SL Support may ask you to turn on tracing which produces a complete execution trail from the product. This has a large overhead and uses disk space and is only in used in the very trickiest of issues. Rest assured, it’s unlikely you’ll have to use  it, but if you do there is a post here that explains tracing.

Article UpdateD

27/04/2021 – Using CRADLE_ERRORSTACK in Linux

Could Do Better?

To the parents of…….

First reports of the new School year are landing on parent’s laps up and down the country. How have their little prodigies settled into their new class, how are they doing with new subjects? Will the envelope contain a list of ‘Could Do Better‘ or will it be a list of ‘ Excellent Effort

As a parent you always hope that the report will be positive, but what do you do about the negatives? How do you better support your child at school?

5 Out of 7 Subjects Great, 2 Need improvement.

School report based oin unsplash.com tamarcusbrown
Report

Ok, so as a parent we know Geography is lacking, but where. Is it a lack of understanding or a lack of world experience or bad handwriting. We could watch some BBC BiteSize revision clips take a world cruise, or get the lined paper and practice cursive fonts. The feedback lacks a little.

B2B Engagement

3SL are generally in the Business to Business market. We want to form a relationship with our customers more akin to the partnership between  parents and teachers than that of a Crisps* manufacturer selling to the mass millions and offering a chance to feedback via a popup on their website. The incentive in this case may be the year’s supply of ‘Cheese and Onion‘ but the quality of the feedback is likely to be limited to my thoughts on whether 6 or 8 packets is ideal as the size of a in a multi-pack or whether I rate the ‘Beef Goulash – special edition‘ higher or lower than my regular ‘Ready Salted

(* Crisps: en; Thin slices of potato fried until crunchy and crisp, en_US; known as potato chips)

Let’s Do a Survey

Surveys definitely have their place. They define a set of measurable criteria against which the business wishes to perform. “All posted correspondence must be dealt with within 14 days” is a laudable criterion, you can ask your customers if they received their mail within
7◘  14◘  21◘  longer◘  N/A◘ days.

"Survey" based on pexels.com/pixbay.com image
Survey

However, this is not much use if the main mail is simply the invoice sent to the company’s finance department. The users of the product, were really more bothered about their email to support being answered promptly, as the project was on the critical path.

Let’s Wait and See

“Businesses will tell us when we’re doing well” right? Generally, wrong!

B2B or B2C will regularly tell you when something is wrong, but far less frequently tell you when something is right. It’s just the way we are. You finish a meal in a restaurant and it was OK you up and leave, you enjoyed it you may leave a tip, you hated it and though the service was awful you may write and complain. (If you’re British you’ll probably say “tut tut, not going there again” but that’s a cultural issue!)

Ask….

If the waiting staff see you are finished and approach your table and ask “Was everything OK? Did you enjoy your meal?” They may well get a range of responses from “Fine” to “Great evening” to “The steak sauce was superb, I hope it’s on the specials again soon“. From this the business can glean more about how well they are doing. You wouldn’t want your waiter to sit down with you and ask if there were areas you felt were lacking and how they could better serve you next time. (It would somewhat ruin an evening). On the other hand getting feedback from that teacher about where improvements could be made, asking what they could do to assist and what you could do to support is a vital way to improve achievements.

Help Us to Help You

3SL are asking.

We want to build that relationship and make Structured Software Systems Ltd, the company you want to deal with. We want to understand how we can better support you.

And the Survey Said…

We know we can answer the phone within a minute (during UK office hours), we know we can respond to emails within the service level agreement. But what we don’t know is whether these are the most important aspects that you value. We can ask Google how fast our pages load, but it may be a piece of vital content that you rate more highly.
So the survey says NO we’re not going to restrain you to a set of tick boxes. We know different customers value different aspects and we want to be able to respond to all those things. We are, therefore, throwing the ball into your court, asking you to provide us with a virtual “parent’s evening” to raise your concerns (or lavish your praise) on us, as the parents, of Cradle.

Get in touch…

social-customer@threesl.com, call us +44 (0)1229 838867 DM us @threesl or post a letter Suite2, 22a Duke Street, Barrow-in-Furness, Cumbria, LA14 1HH U.K (and we’ll try and respond within 14 days!). Tell us what you want, what you rate well and where we ‘Could Do Better’

3rd Party Review Sites

We are also keen for you to provide public feedback at Capterra or TrustRadius which can help others decide on the value of Cradle. Obviously if you have a problem we’d welcome you contacting us first so we can help resolve it, that will benefit you , us and the rest of our customer base.

Further reading:

This article from TrustRadius for vendors is quite insightful  The Engagement Economy: How to build the relationship B2B buyers want

UPDATE: September 2020 – 3rd Party Reviews

Change Attributes for Many Items

You may need to change attributes or a category of many items and there is an easy way to do this in one go.

Changing Attributes

The attributes of the same or different item types can be changed at the same time. In the image below, all the Group attributes are empty and I want to group this set of items. To change attributes, select them all, right click and select Properties.

Item Properties UI for Many Item Types
Item Properties UI for Many Item Types

In here I can enter some text in the Group attribute and when I click OK all the items selected will be up dated. I could change any of the options shown in Item Properties and it would up date all the items with the same information.

All Items Updated
Many items of different item types are updated

This will work on items in link views as well so you can change all of the linked items at one.

Changing Categories

This will only work for items of the same item type. Select all the items you wish to change, right click on them and select Properties. If all items are the same type with the same categories, Item Properties will show all of the categories for that type.

Item Properties for many items of the same item type
Item Properties for many selected items of the same item type

Selecting a new option will change all the items at the same time. Multiple Category types can also be changed here and will affect every item selected. All of the categories can be changed at the same time, if required, along with all the attributes shown above.

Related Articles:

For further information on attributes and altering data:

Control Item Reordering

Hierarchies of items are common in requirements management and systems engineering. It is easy to create hierarchies in Cradle. It is also easy to move items within hierarchies. Cradle calls this reordering. You can control item reordering so that you can prevent users accidentally reordering items in ways that are incorrect.

How to Reorder Items

You reorder items by drag and drop:

Control Item Reordering in 3SL Cradle
An Item to be Reordered
  1. First, select the item to be reordered
  2. Keep the mouse button pressed and drag the cursor onto another item
  3. Release the mouse button and choose from the reordering options
Choose the Reordering Operation
Choose the Reordering Operation

If you choose Reorder Before this Item, then:

  • The hierarchy Pwr.3 will become Pwr.1, including all descendents
  • The Pwr.1 hierarchy will become Pwr.2
  • The Pwr.2 hierarchy will become Pwr.3
  • The Pwr.4 and Pwr.5 hierarchies will not change
Result of Reorder Before Item Pwr.1
Result of Reorder Before Item Pwr.1

If you choose Reorder After this Item, then:

  • The hierarchy Pwr.3 will become Pwr.2, including all descendents
  • The Pwr.2 hierarchy will become Pwr.3

While if you choose Reorder as New Child of this Item, then:

  • The hierarchy Pwr.3 will become Pwr.1.N, where N is the number of the next child of Pwr.1
  • The Pwr.4 hierarchy will become Pwr.3, to close the gap in the numbering
  • The Pwr.5 hierarchy will become Pwr.4 to close the gap in the numbering

Control Item Reordering

Problems can occur if you drag-and-drop Pwr.3 either:

  1. To create a new hierarchy with a new top-level item. For example, if you drag-and-drop onto item Onto a top-level item, such as Product Casing or Connectivity and choose Reorder Before this Item or Reorder After this Item.
  2. Into a different hierarchy, such as the Case or Conn hierarchy

You can control item reordering by preventing either or both of these operations. You do this using checkboxes in the Numbering Properties:

Control Item Reordering
Options to Control Item Reordering in a Schema

If you de-select the Allow items to become new top-level item checkbox, you will prevent problem 1.

You can prevent problem 2, accidentally moving an item outside its original hierarchy, by de-selecting the Allow reorder outside original hierarchy. checkbox.

Both checkboxes are enabled by default.

 

Numbering Item Hierarchies

Cradle provides a lot of flexibility for numbering item hierarchies. This is helpful if you need many hierarchies of the same type of items.

Hierarchies of Items

Hierarchies are very common in requirements management and systems engineering. Some common examples are:

  • User requirements are typically structured as a hierarchy
  • System requirements are typically a hierarchy
  • A System Breakdown Structure (SBS) will be a hierarchy
  • A Work Breakdown Structure (WBS) will also be a hierarchy

It is also common to have several hierarchies of the same type of information. For example:

  • A hierarchy of subsystem requirements for each of a product’s subsystems
  • An as designed and an as built SBS

It is easy to join many hierarchies into one. You create a new, top-level item and then connect all of the hierarchies to it. This is usually a bad idea.

Why?

Because it helps if the  numbers are different in each hierarchy. If each hierarchy is different to the others, it will be confusing if items in different hierarchies have the same number.

Hierarchical Number is Not the Identity

So what is a hierarchical number?

Every item in the database has an Identity. This is unique for the item type. Once the item has been created, its Identity does not change. Cross references use Identities to connect items to each other.

The hierarchical number of an item is NOT the Identity. Well, Cradle does allow identities to be the hierarchical attribute, but we DO NOT recommend it. We will ignore this from now on!

The hierarchical number describes an item’s position in the hierarchy. A simple hierarchical number is:

4.1.2

This tells us that the item is at the third level in the hierarchy. It is the 2nd item below item 4.1, and is part of the 1st group of items below item 4.

Hierarchical numbers are most common in the numbering of sections and sub-sections in documents.

Hierarchical numbers are not fixed. They can change. You can reorganise a hierarchy, moving an item and its children from one part of the hierarchy to another. Cradle calls this reordering a hierarchy. When you reorder items, their hierarchical numbers will change. Their Identities will not change.

By default, Cradle will store hierarchical numbers in the attribute called Key. You can store it in a category, if you wish.

Hierarchical Numbers

A hierarchical number has two parts:

  • A prefix
  • A hierarchy part, which is zero or more of:
    • A hierarchical separator
    • A number

The hierarchical separator can be:

  • A dot or period (this is the default); .
  • A hyphen: –
  • A slash: /

So these are all hierarchical numbers if the separator is a dot:

  • 1
  • 1.2.3
  • fred
  • fred.3.1

and these are also correct if the separator is a hyphen:

  • sid
  • sid-3
  • sid-3-4

and these are also valid hierarchical numbers if the separator is a slash:

  • bert
  • bert/1
  • bert/1/2

The prefix can be anything that does not contain a hierarchical separator. So if the separator is dot, then the prefix could be:

  • <nothing>
  • fred
  • fred-23/A-2.1
  • sid-2

Numbering Item Hierarchies

It is easy to have many hierarchies of items of the same type.

We recommend that you give each hierarchy a different prefix. For example here are some SBSs for the different subsystems in a product:

Numbering Item Hierarchies
A Collection of SBS Hierarchies

Each hierarchy has a unique prefix, such as:

  • Pwr for the power subsystem
  • Conn for the connectivity subsystem

and so on. This approach will ensure that:

  • Each item in every hierarchy has a unique hierarchical number
  • Each hierarchical number shows which subsystem it belongs to
  • The prefix for each hierarchy can be used in a query to find all items in that hierarchy
  • The hierarchical number shows the position of the item in its hierarchy

The simple recommendations for numbering item hierarchies are:

  • Use descriptive prefix strings in the hierarchical numbers of all items
  • Use a different prefix string for each hierarchy

 

Select Operations in Cradle

Since Cradle is not intelligent (unlike its users!), you have to tell it what you want to it operate on, before you tell Cradle to do anything. There are several select operations in Cradle, depending on what you are working with. Most of these select operations are common to other pieces of software, so what follows may not contain any surprises.

Select Operations in Cradle

In general, you will either select:

  • Items, to perform an operation on them
  • Text, to manipulate the text in some way

How to Select Items

When you see a collection of items, in a list, table, document or tree, you can select them and then apply an operation to them. So, starting with this table of items:

Select Operations in Cradle
A List of Items

the select operations in Cradle are:

  • Select all items by pressing CTRL-A:
Select Operations in Cradle
A List of Selected Items
  • Cancel all selections by pressing CTRL-D:
Select Operations in Cradle
A List of Items With None Selected
  • Select an individual item by positioning the cursor over it and then click your LEFT mouse button:
Select Operations in Cradle
A List of Items With One Selected
  • Select a range by positioning the cursor to the other end of the range and press SHIFT and the LEFT mouse button:
Select Operations in Cradle
A List of Items With a Range Selected
  • To add items to the set of selected items, or to remove a selected item from the set of selected items, position your cursor and press CTRL and the LEFT mouse button:
Select Operations in Cradle
A List of Items With Several Items Selected

You can combine these select operations in Cradle, as shown above.

If the results are not what you want, press CTRL-D and start again!

How to Select Text

The majority of items created in Cradle contain text, either plain text or rich text. You can store any amount of text (well, up to 1 TByte) inside each attribute (called a frame) in an item. You can have any number of attributes in each item.

So, items can store a little text, or an enormous amount of text.

When you edit text, you will see a cursor that is a vertical line. This shows you where text will be entered when you type on the keyboard, or paste text that you copied elsewhere.

The select operations in Cradle for text are:

  • Select all items by pressing CTRL-A
  • Cancel the selection by pressing CTRL-D
  • To select a position in the text, position your cursor and press the LEFT mouse button
  • Select a word by positioning your cursor anywhere inside the word and double-click, press the LEFT mouse button, quickly, twice,
  • Select a paragraph by positioning your cursor anywhere inside the paragraph and triple-click, press the LEFT mouse button, quickly, three times
  • You can select a range of text by positioning your cursor at the start, or end, of the range, and press the LEFT mouse button, drag the cursor, and release the mouse button
  • You can also select a range of text by positioning your cursor at the start or end of the range, then press SHIFT and then press Cursor Left, Right, Up or Down to extend the range in each direction.
  • If you ALSO hold the CTRL key, then Cursor Left and Right will extend the selection by one word
  • If you ALSO press the CTRL key, then Cursor Up and Down will extend the selection by one paragraph
  • You can change the end of a range of selected text to the start or end of a paragraph by pressing the SHIFT key and then pressing Home or End
  • You can change a range of selected in large amounts by pressing the SHIFT key and then pressing Page Up or Page Down

By combining these select operations in Cradle, you can easily work with even long blocks of text.

If you have not tried some of these technique, please try them!

Spreadsheet Day 2017

How would we work without those ubiquitous columns and rows?

It may have started with Visicalc but these days it is hard to find an aspect of our organisational life that doesn’t have a spreadsheet in it. So during spreadsheet day 2017 try and think what it would be like adding up your budget by hand, working out hours worked per project, or even listing the office Christmas dinner totals.

Cradle supports a Microsoft Excel® capture utility directly bringing data in or CSV import from any spreadsheet’s saved output.

Capture

When the Office Toolsuite has been installed with Cradle you are able to capture information from Microsoft Excel® directly into Cradle.
On the sheet of interest select the Cradle Toolbar and Login to Cradle. Then select Capture and in the resultant Data Capture dialog, assign the correct columns to the item attributes in the database. You can change the Options… to overwrite or merge the data and you can Validate the data before Capture. The resultant capture can be viewed in Cradle via Workbench or Web Access. You will of course need the privilege to ITEM_CREATE.

Stages capturing from Excel
Excel® Capture Facility

Import CSV

To import items into Cradle you will additionally need the IMPORT privilege.
This is similar to the Capture utility, but can be run with any CSV source. Selecting CSV as the import type and then assigning each of the columns to the attributes of the item, will allow the data to be imported into Cradle.
More details about the CSV format can be found in the Cradle Help.

So why not celebrate everything columnar on spreadsheet day 2017 and capture some information into Cradle.

If you have a really old version of Cradle you may need to remove the old plug-ins

When to Create a New Item Type

Items and Item Types

A Cradle database can store any number of items. Each item has an item type. Often it is easy to decide when to create a new item type, but sometimes it is not obvious.

When to Create a New Item Type

In general, there are 4 reasons to create a new item type:

  1. You want the items to have a different set of attributes (and perhaps therefore a different set of views) to any other item type. Your schema may already have an item type that is similar to the item type that you are considering. You could add the new attributes to this item type and then simply ‘ignore’ the extra attributes when they are not needed. if this would be too confusing, you will definitely need a new item type.
  2. You need to be able to enforce a different set of link rules for the items. For example, these ‘subsystem requirements’ may (and probably do) need different linking rules to the system requirements.
  3. You need a different workflow (review process) for the items, for example a different way of reviewing them, or different approvers, or a different way of dealing with rework when reviewers reject items.
  4. Using a different item type is the easiest way to distinguish the items from items of other item types, either to create queries, reports, documents, metrics or dashboards.

The last of these reasons is not as good a reason as the other three. Before creating an item type for this reason, it would be sensible to first consider whether these items (for the possible new item type) could be found with a
category-based, or key-based, or even comment-based query. The comment attribute is used to store the names of source documents for items that are captured by Document Loader.

Limitations

You can create any number of item types that in the databases of Cradle Enterprise systems. All of Cradle’s single-user products have a limit of 50 item types.

Creating an Item Type

Details of creating a new item type is covered in this post:

New Item Type name dialog
Creating New Item Types

Automatic Definitions

When you create an item type, Cradle will automatically:

  • Create a set of queries for the item type, accessible from the Quick Access Bar
  • Provide a set of views for the item type
  • Build a form for the item type

This means that you can immediately start working with items of your new item type.

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.