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.
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.
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 3SLSupport 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.
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.
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.
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.
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
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.
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.
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 Propertieswill show all of the categories for that 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:
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:
First, select the item to be reordered
Keep the mouse button pressed and drag the cursor onto another item
Release the mouse button and choose from the reordering options
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
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:
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.
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:
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.
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:
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
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:
the select operations in Cradle are:
Select all items by pressing CTRL-A:
Cancel all selections by pressing CTRL-D:
Select an individual item by positioning the cursor over it and then click your LEFT mouse button:
Select a range by positioning the cursor to the other end of the range and press SHIFT and the LEFT mouse button:
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:
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!
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.
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
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:
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.
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.
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.
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 CradleEnterprise systems. All of Cradle’ssingle-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:
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
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.
They can also be used in a filter for field to set or restrict the items to be output.
In this case the Requirement attribute of Identity will only be output if its Item Status is set to Accepted.
As you can see below, only items with a status of Accepted have both the Identity and Key output for the Requirements.
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).
During publishing a popup will allow the user to select Agreed for the first Paragraph Group popup:
They then can select Rejected for the second Paragraph Group popup:
The published output will then show the 2 different outputs in the same document.
These named parameters can even be used in several places within the template. The user may want to show the AgreedRequirements 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.
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 RejectedSystem Requirements.