You will often want to organise information in a hierarchy. In a hierarchy, each item of information will have a unique Identity, a hierarchical number and (usually) a name. Displaying item hierarchies nicely will help everyone to clearly understand the information and its structure.
For example, here is a (very!) simple collection of System Breakdown Structure (SBS) hierarchies:
A Collection of SBS Hierarchies
This display clearly shows the hierarchical structure of the items, their hierarchical numbers, and their names.
Displaying Item Hierarchies
Hierarchies display items with a label. This label contains the item’s Identity, Name, Version and Draft ID attributes.
3SL recommends that hierarchical items are auto-numbered. Therefore, their Identity will not be the nice hierarchical number that users will want to see. That hierarchical number is normally stored in the Key attribute.
Therefore, we want the labels for items in a hierarchy to contain the Key and Name attributes.
Create a View for Trees
So, your first step is to define a view to show items in trees, such as:
Define Items’ Tree View
This contains only the Key and Name attributes, and a small text separator containing a colon. This separator is cosmetic. If you prefer not to have it, then don’t!
Save the view with a simple name such as the item type followed by Tree. In this case, the view name is:
SBS – Tree
Save it as a Project scope view. If you save the view with Project scope, everyone in the project can use it.
Tell Cradle to Use this View in Trees
The final step is to tell Cradle to use the new view when displaying hierarchies of this type of information:
Specify a View to Show Items in Trees
Select Project Setup in the Project tab
Set Options to Item Definitions
Select the Item Types tab and select your type of information
Choose your new view from the Tree View drop-down list
Save and close the schema
After you have made this change, all hierarchies of this type of item will be shown using your new hierarchical view.
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 aGerman scientist Wilhelm Röntgen often credited with their discovery.
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!
Cross references, or links, are used to connect items in the database. Each cross reference connects two items. A cross reference represents the fact that the two items are related in some way. Sometimes, it is helpful to load cross reference links en masse from an external file.
Types of File to Load
Cradle can load data from files in three main formats:
Cradle
CSV / TSV, comma separated value or tab separated value
XML, there are many possible dialects of XML
Microsoft Excel® can easily produce CSV files. Also, it is easy to work with collections of simple data in Excel. Therefore, we recommend that you use Excel to load cross reference links into Cradle using CSV files.
Example
In this blog entry, we will assume that you want to load cross reference links between user-defined items, such as system requirements and verifications, or test cases to test results. So, if you want to do anything else, please look in the reference section below for links to the Cradle help.
In our example, we will create links of type FRED from PROCR items to SR items.
Create Cross Reference Links
You will need the following columns in your Excel spreadsheet:
Type, use the value: NOTE_NOTE
Link Type, the link type of the cross references that you want to create. In our example, this is the link type: FRED.
From Info Subtype, use the value: NULL_INFOSUB
For From Model Namespace, use the value: MH_IGNOREMODEL
From Number, this contains the Identity of the item at the from end of the cross reference. In our example, this is the Identity of the PROCR item.
From Type, this contains the type of item at the from end of the cross reference. In our example, this is: PROCR.
To Info Subtype, use the value: NULL_INFOSUB
For To Model Namespace, use the value: MH_IGNOREMODEL
To Number, this contains the Identity of the item at the to end of the cross reference. In our example, this is the Identity of the SR item.
To Type, this contains the type of item at the to end of the cross reference. In our example, this is: SR.
These fields can be in any order.
Define Cross References in Excel
Load Cross Reference Links
You can load the CSV file containing your links by:
Select Import from the Project tab in WorkBench
Set: File Type to be: CSV
Then, set: Info Type to be: Cross References
Also, set: Overwrite to be: Off, as this is safer than the other options(!)
And set From file to be where your CSV file is stored
Click Import
Load Cross Reference Links
You will be asked to define the mapping between fields in the CSV file and the attributes of cross references. Because the column headings in Excel match the names of the attributes, everything is mapped automatically:
Load Cross Reference Links – Field Mapping
Click OK to load cross reference links from the CSV file.
Link Rules
The link rules defined in your schema are used to control if cross references will be imported from your CSV file. You can set an option to ignore your link rules, if you want to.
Dangling Links
Importing cross references this way may create dangling cross references. A cross reference is dangling if the item at its from end, or its to end, does not exist. Cradle allows you to import these cross references because it would be too restrictive to prevent you doing this.
You can detect and remove dangling cross references using the Cross Reference Integrity check in the Project tab in WorkBench.
Reference in Cradle Help
You can review the details of Cradle’s CSV file format in the Cradle help. Every Cradle system contains the Cradle help. You can access this help from the Help tab in every Cradle UI, and (on Windows) from the Cradle Help item in the Start menu.
We also provide the Cradle help on-line in our website:
Grammatically the difference between the types of requirement could be seen like that, but not so in RM (Requirements Management) parlance. Functional and Non-Functional Requirements are a what and how of engineering.
Interlinked Functional and Non-Functional Requirements
Functional Requirement
These define what the features are. “The User Interface board shall send an enable signal when the user presses the On key” or “The finance reporting mechanism shall produce a summary report automatically at the end of each month”. These requirements tell the designer/implementer what the systems need to do. They can be read and agreed by the customer and will align with their expectations of the system.
Functional requirements are not limited to actions. They can include regulatory or safety requirements, “The system shall be protected and able to be certified to IP44”, or internal rules “The output format shall be commensurate with detail explained in the operating procedures for the production line”. They can reference other external requirements or standards. “The electrical interface shall be compatible with USB 2.0 standards using type A connectors, verified by a third party.”
Non-Functional Requirement
These define how the system will operate. They will place constraints and capacities on the system that can be measured. “The User Interface enable signal shall be a TTL level present within 0.25 seconds of the user making contact with the physical interface” or “The finance reporting mechanism shall be capable of summarising 100K entries into the 10 specified categories”.
These limits and descriptions provide bounds within which the Functional Requirements can me met. “The system shall allow users to cross the road safely” is a wide Functional Requirement. “The user shall not need to interact directly with the facility”, “The design shall comprise of a fixed physical system requiring no power”. Looks like we’re building a bridge or subway rather than a pelican crossing then!
Lines are Drawn
There is always going to be a grey line between the two areas. Some will depend where the responsibilities end and so on one project what is deemed a functional requirement. “The interface must be USB 2.0”, is a main operating characteristic that our system can not change and is needed to interface to an external system. On another project the functional requirement may be “The main system should interface with up to three external input and output devices” and the design team may decide “All inter product interfaces shall use USB 2.0 standard communications”
In the ideal world everything should operate 100% of the time without failure and should be completely intuitive. Should occur without delay and should be fixable for ever. However, the world we live in is not ideal. System designers need to recognise that. Non-Functional Requirements can define these limits and manage expectations, from both a contractual and measurable quality point of view.
“To aid the user to perform the task consistently. The UI shall provide guidance in the form of fixed text and sequenced indicators.”,
“The system shall have an availability no less than 99% of the time”,
“Visual and audible feedback shall be provided within 0.2 seconds of any interaction”,
“Design components should have an availability before EoL of two years minimum”
For every system these user experience, reliability,performance criteria, and through lifecycle considerations should be made.
We all use e-mail as a reliable method for our personal and business communications. However, as we all know, vast numbers of spam, junk and malicious e-mails are also sent every day. Everyone needs protection from the damage that clicking a link or attachment in just one e-mail can do. 3SL has recently changed our 3SL email filters to further reduce our exposure to such threat vectors. We expect that you and your organisation also update your filters regularly.
Block Spam and Malicious E-Mails
This blog post is a summary of what the 3SL email filters will do.
We are publishing this so that you can reliably send your emails to us. We do not expect that the 3SL email filters will block any of your emails. But if one of your emails is blocked, this blog post may help to explain why.
Principles of 3SL Email Filters
We will obviously not disclose full details of the 3SL email filters. You would not expect us to do something that silly. There are some general principles which we will publish, which are:
The more malicious an email is, the less likely our mail server is to provide an informative response to the sender, or their mail server
The more malicious an email is, the more likely we are to provide false responses, or no response, to the sending mail server
We use all available blacklists to ignore all known malicious senders and mail relays. Either we access them online, or we keep local copies and then update them regularly.
3SL always reports malicious financial emails to the organisation that they are supposed to come from
We report all malicious e-mails to blacklist sites wherever possible
We automatically block emails based on their from, to, subject, content, formatting and attachments
Any e-mails sent to undisclosed recipients or with multiple from tags will be rejected
We operate our own blacklists, for people we dislike
Emails from people we especially dislike are automatically sent to spam reporting sites
We operate our own whitelists, for people we like!
All e-mails and all of their attachments are scanned for viruses and other nasty tricks(!)
Email Attachments
The types of attachment to an email is an important part of the 3SL email filters. Therefore, the 3SL email filters are very sensitive to the types of files that are attached to e-mails.
We currently block everything that is remotely executable. This includes the obvious ones, such as:
exe files
scr files
msi files
.bat files
.cmd files
.lnk files
.com files
and many others.
We also block file types that are common vehicles for malicious code, including the obvious ones:
.jar files
.ace files
and others that we will keep to ourselves!
In total, we block over 20 file types.
Accepted Attached File Types
We want to receive your e-mails! Therefore, if you need to send any attachments with your e-mail, only send:
Microsoft Office files
Open Office files
PDF files
Plain or rich text files
Cradle import/export files
Simple images
We will detect macros in e-mail attachments. So, please don’t send us any file with a macro inside it!
If you send a file containing a macro, then either your e-mail will be rejected or, if you are in our whitelist – and this includes customers – then your e-mail may be logged as spam, or it may be rejected.
Alternatives to Email for File Exchange
If we need to exchange files with you that would be blocked by our email system, or by yours, there is an alternative!
Every login account in our website can have a file transfer area. You can use this area to download any type of file from us. You can use this area to upload any type of file to us. Therefore, this mechanism avoids any need for us, or you, to send files by e-mail that either of our mail systems would block.
We think that this mechanism is very useful. 3SL asks all of our customers to consider using this mechanism. We hope that you will agree. Therefore:
If you have a login to our website, we can enable this facility for you.
If you do not have a login to our website, please register and create one!
Your organisation may also provide a secure file transfer mechanism. If so, tell us about it. We will be pleased to use it.
Help Us to Help You
Obviously, we never send anything malicious to anyone. Equally obviously, we do not ever knowingly send any emails that could be regarded as spam, malicious or suspicious. So we would be concerned if you do not receive any of our emails.
Therefore, please tell us if you believe that we are sending emails that are being blocked by your mail system.
If this happens, then we will work with you and your IT to either:
Add 3SL to your organisation’s whitelist, and therefore none of our e-mails will ever be blocked
Or we will change the format of our emails so they are acceptable to your organisation
Onward, beyond the three hundredth blog entry we’ll be keeping you up to date with all things 3SL and Cradle (and the odd bonkers story too!)
Have you got a great tip for setting up a schema for a particular engineering or management practice? You could submit a guest article and let us, and other users, know all about it.
If you mention Cradle in your own company blog, send us the link and we may mention it.
If you’d like see a ‘How To’ on a particular subject, we’ll endeavour to put one together.
Cradle, like many modern applications, uses networked communications between clients and servers. However, with modern working practices, often not all users are on the same site. Some, not even the same continent as the Cradle server. So we need to create a method to allow these remote workers access to the Cradle server.
Thin Clients
3SL created the CWS (Cradle Web Server). This allows a capable thin client deployment to local and remote workers without the need to install Cradle WorkBench. But some customers want their remote workers to have access to the full capabilities of WorkBench, Project Manager,Document Publisher, and Document Loader; so how can these remote workers deploy the Cradle clients with network access to the server?
Virtualised Applications and Desktops – (e.g. XenApp, RemoteApp)
Citrix XenApp® and Microsoft® RemoteApp allow your applications and desktops to be virtualised and then served to the user from central servers. The Cradle client utilities are installed on the Application Servers. Users are able to connect to the server which redirects the Application or Desktop display to the users device. These technologies allow users with devices which are not currently supported by 3SL to use the full desktop Cradle applications.
Many Cradle customers use Citrix XenApp® and Microsoft® RemoteApp virtualised apps and desktops to serve Cradle WorkBench, and other Cradle utilities to their local and remote workers. But what if you’re remote and your company doesn’t use these distribution technologies? What are your options for remotely connecting to a Cradle server?
There are a number of methods which we have assisted customers in deploying to allow their remote workers access to a central Cradle system.
VPN – Virtual Private Network
Virtual private networks provide a link from the remote hosts to the network where the CDS lives and we can talk directly to the CDS over this connection. VPN can provide host to network, and network to network communications. Authenticating and encrypting VPN links provide security over the internet.
This is the preferred method between sites, or dedicated remote workers, as most customers already have VPN technologies in place and this provides the least restrictions and requires little additional configuration of the Cradle server.
NAT – Network Address Translation
This is where we remap one IP address space to another IP address space. What this gives us is the ability of a gateway or firewall to route Cradle communications to a CDS behind the firewall. This can expose the Cradle server to unwanted external traffic if the firewall rules are not carefully locked down.
SSH Tunnels – Secure Shell for Unix and Linux hosts
Part of this protocol is the ability to map local IP ports to remote IP hosts and ports beyond the remote SSH host. We can use this to direct Cradle communications to the CDS.
You may not wish to expose the Cradle server using NAT as it can open it up to potential hostile traffic, but you don’t want to go down the route of a full VPN solution. SSH tunnels fulfils this need.
In future blogs, we’ll be going through some of these options in more detail for Cradle specific installations.
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
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.
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.
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.
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
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