Near Miss Day

Near Miss Day – Celebrating on 23rd March 2018

Odd to celebrate something that didn’t happen. However, a large asteroid missing the Earth by 500,000 miles in 1989 is probably something to be thankful for!

We celebrate every time we are able to deflect word processors and spreadsheets away from engineers and businesses trying to achieve requirements management.

Near miss a spreadsheet and word processor nearly got use for requiremetns management onearth
Near Miss

Protect Yourself

Ensure you use the right tools for the job and don’t get tangled up in a bunch of uncontrolled, inadequately linked statements against which your project will be developed. Use the protection of a Requirements Management tool with a proven history, that can control, configure and provide full traceability. We’d obviously recommend Cradle!  So take heed and ensure you don’t have a near miss day at work.

Housekeeping

Keeping Cradle in Tip Top Condition

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

Alerts

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

how to tidy up alerts
Housekeeping Alerts

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

Automatic housekeeping for alerts
Project Setup – Alert Management

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

Definitions

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

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

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

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

showing the definitions manager
Definitions Manager

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

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

DPack

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

running dpack on DISAM files
dpack Utility

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

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

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

Cradle History

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

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

Options for clearing Cradle history entries
Clearing History

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

Diagram Preferences

Drawing Just the Way You Like It

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

Grid Preferences

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

setting the grid preferences for diagram drawing in Cradle
Diagram Preferences

Preference Dialog

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

 

March 2018 Newsletter

Heading to Spring

As we head into Spring, most of us are keen to leave behind the horrible weather that came with the Beast from the East. Some of the worst UK snow seen in years. We’re happy to say that Barrow-in-Furness saw

snowy road pexels.com by pixbay.com
Snow Problem

little impact and the support team were able to maintain full levels of service. We hope your businesses were not too badly affected and that you are all heading back to normality. The question this raises is why are we so bad at coping with a bit of snow here in the UK? The main problem seems to be that we’re not used to it. It is not a ‘steady state‘ in parts of the world where winter = snow and ice for a set period, the infrastructure is set up to cope. Cars have winter tyres or snow chains,  heated highways or rails keep cars and trains running, or there is value return on investing in ploughs and gritters. The changing requirements of British weather conditions would need you to put the snow chains on and take them off on a daily or even town by town basis. These changing requirements make managing the situation really difficult.  The same logic applies to projects, stable requirements make for a simpler solution. If your requirements are more like British weather, there is even more need to have a formalised approach to managing them. Making sure you can track the changes and your reactions to them becomes imperative. Don’t end up wearing wellies in the summer and flip-flops in the snow, get you requirements under control in Cradle and encourage your suppliers to do the same.

GDPR

padlock over computer based on images from negativespace.co pixabay.com on pexels.com
GDPR

We can assure you that we don’t randomly buy email addresses and send spam adverts. We collate our communication list from curated information from you, our customers and prospects. People and companies who have contacted us about RM / MBSE / Cradle or 3SL. We maintain these dialogues as a legitimate business interest. We have made, and will continue to make, it easy for individuals to ask for their contact details preferences to be changed. We look forward to staying in touch with you all. If you have any GDPR comments you’d like to feature contact us at social-GDPR@threesl.com

Social Media

Twitter

study shows 47% or projects can fail because of inaccurate requirements management
Project Failure Statistic

We were a little disappointed at the  #SuperBlueBloodMoon over Barrow. We were amazed at the accuracy of NASA’s clocks… ..But appalled at the failure rate of projects.

Hints of the Month

Last month’s blog articles included: We answered a question about producing a Hierarchy Diagram (HID) for viewing in Web Access. The different ways you can store data in Cradle’s frames a how and why guide. We also looked at how to control access to data parts in an item. You can read Hints & Tips in the 3SL Blog

International Women’s Day 2018

International Women’s Day 2018 (March 8th)

We’re celebrating International Women’s day 2018 at 3SL #IWD2018

Recognising International Women's Day 2018
3SL Staff

The mix of staff that make #3SL tick is quite diverse. Every team member is important to the success of the company. Today we recognise the women on the team that include our financial controller, one of the software developers, one of the support engineers and our domestic operative.

Fun Facts About Names Day 5th March 2018

Fun Facts About Names Day

A bit of #MondayMotivation, this light heated day is celebrated on the first Monday of March. Have a ponder to think where you came from, what lineage came before you. Despite #FunFactsAboutNamesDay sounding like something Sheldon Cooper (Nerd Alert: Big Bang reference) may present it is a real ‘day’. So while you’re having your first cuppa (Good British drink of the day) or at the ‘water cooler’ (Is that really a thing??). Challenge a colleague to a Fun Facts About Names!

Meanings

Some are fairly obvious “Smith” and “Cartwright” working in a smithy or making carts. Some a little more tricky “Chalker” one who applies white wash. Then there are the more obscure, lost meanings in time, “Lister”,  a dyer of cloth. (Maybe someone should tell Dave Nerd Alert: Red Dwarf reference)

3SL_Logo_Medium

3SL

So where did we come from? Structured Software Systems Limited ⇒  SSSL3SL that simple really!

 

What are the different types of storage in Cradle?

Data Storage

There are a number of different storage types in Cradle.  These relate to where the data is held and how it is accessed. This article outlines the different storage in Cradle and explains when and where you may consider using it. Whilst there are some compelling reasons to hold certain data in certain ways, others can be a matter of choice.

For example if you want to add a URL to your item, there is no point trying to store the data inside Cradle this is, by its very nature, an As Reference storage type. On the other hand a binary word processor document could easily be stored inside the Cradle Database or as a reference to an external file on the rest of the company’s network. In this case it could depend whether the file needed to be accessed from outside Cradle or whether it was shared by multiple Cradle projects

Frames

Within an item data is either held in the main indexed database fields, such as ID, name, key or a category, or in associated frames. These frames are defined as part of the project’s schema to hold different types of data. There are a large number of predefined types and the ability to define your own.

Base Types

These are the fundamental type  of data we expect to see in the frame. They may be presented in different ways to the user. For example a plain text based frame can be shown in Forms and Views and read directly on the screen. The same is true for basic images. However, a word processor document is held as a binary frame and viewed within whichever application your company uses. A CAD sketch would not be directly visible in Cradle, but could still be stored in the item and viewed with an external program.

These are the fundamental and abstract data types offered in Cradle

  • Text
  • Binary
  • Image
  • URL
  • Category Picklist
  • Category Multiple Picklist
  • RTF
  • Date
  • Time
  • Integer
  • Positive Integer
  • Real

Storage Types

Each of the above types can be stored in Cradle in one or more ways. Some storage in Cradle, such as a date, make no real sense to store in more than one manner, the URL as mentioned or a date would not make sense to be stored in a file!

  • In PDB
  • As File
  • By Command
  • As Reference
  • Referenced File from Item
setting frame type details in the Cradle project schema
Frame Type Details dialog

Storage Matrix

This shows the combinations of base type and storage in Cradle that are possible. More information in Cradle help.

In PDBAs FileBy CommandAs ReferenceReferenced File from Item
Text
Binary
Image
URL
Category Picklist
Category Multiple Picklist
RTF
Date/Time/Integer/Positive Integer/Real

Benefits and Usage

In PDB (Project DataBase)

Frame data stored in the database is inherently linked to the database item that owns it. It is controlled in the same way as all the other fields of data (name, category, group, description, etc.). This means it can be imported and exported as part of the item. Text frames can form part of a query. Images, text and RTF can be displayed in-line. They move through the CM (configuration management) system with the item. Different revisions of the frame form part of the item’s history, and can be rewound.
Not ideal for very large data, e.g. video. Not externally accessible.

As File

Frame data stored in a file is loosely linked to the item that owns it. Date and access times are remembered by Cradle so changes to the file can be highlighted. Great for large files. Other users can access the information externally to Cradle if they have access to a common file directory. Can be accessed through Cradle and item is locked while file is being edited as if it were part of the item.
Not directly controlled within Cradle, nothing to prevent the external file being removed or deleted. Can’t be rewound.

By Command

Frame data is held in an external environment under an identity, the item stores this identity, and uses Get and Set commands to move the data between the environment and a temporary file where it can be operated on.
Not directly controlled within Cradle, nothing to prevent the external file being removed or deleted. Can’t be rewound.

As Reference

Frame data stored anywhere and only loosely linked to the database item. Ideal for large resources such as Intranet pages. Ideal for information that is expected to change outside Cradle and be accessed by others. Cradle does not wait when viewing or editing.
This is not considered storage in Cradle so there is no CM or rewind available. No control over alterations.

Referenced File from Item

Frame data is held in a frame of a different item whose identity (PDUID and frame name) is stored in the current item. When the frame is accessed via a View the user is editing the common shared data held by the referenced item. This provides a method of reuse, allowing multiple items to directly access a data component of a different item. The ‘host’ item and the frame data follow normal CM operations.
Not ideal storage in Cradle for very large data, e.g. video. Not externally accessible.

Setting Up a Frame Storage in Cradle

In this example of storage in Cradle, a frame will be set up to hold a word processor document, internally (in pdb), in a file (as file), and in another item (referenced file from item).

Frame Setup

Setting storage types and frames in Cradle
Storage Frame Setup

First set up a set of frames for each storage type and set commands on how to view and edit the file.

Frame Assignments

Ensure the items you want have these frames assigned. In this example the Feature has all three types and the Reference item has just the stored in pdb.

Assigning frames to item types
Frame Assignments

Usage

When the file types are set up the data can be imported into the item using the frame button and import Content… this brings the document into the item and it can be stored in the database. It can then be viewed and edited from the same button. In this illustration the Design Notes and Legal Requirements and have been stored in in this way.

The Company Design Standards are held in one directory for every project to access. The illustration links to this as file from where it can be viewed or edited.

Finally the Reference item holds the Legal Requirements document so that it is under formal control. However, other linked items can access this file directly, without having to open the holding item. Their frame is an alias for the data held by the other item.

the different ways data is stored and accesse
Frames and Storage Illustration

Skill Based Frame Access

Restricting Frame Access Based on Skill

Frames contain arbitrary information within an item. They can be set to hold anything from plain text, to a URL, a date or a word processor document . Access to these items is controlled based on the user’s privileges, team and the item’s status. Finer granularity of control can be achieved with skill based frame access. This ensures that users must hold a particular skill in order to see or edit the data within the frame.

Setting-up Skill Based Frame Access

Frame Assignment

Each item type can have frames assigned to it. Within  project setup choose the item type, and add the frame type required. In this example a MANAGEMENT skill is being assigned to the Assessment Frame for the Regulations item type.

setting a skill and the appropriate access on a frame
Skill Based Frame Access

User Skill Assignment

For each user that should be able to see the frame, assign the chosen skill to them. Here we are assigning the MANAGEMENT skill to the user ASSISTANT_MANAGER but not to the SOUS_CHEF

Assigning a skill to one user but not another
User Skill Assignment

Visibility in the User Interface

When the user accesses an item containing frames, whether they get to see the information or not, is controlled by the skills they possess. In this example both the ASSISTANT_MANAGER and SOUS_CHEF have logged into Cradle’s WorkBench and are querying the Regulatory Requirements for the establishment being planned. The ASSISTANT_MANAGER is allowed to see both the regulation document (stored as a pdf) and the management notes about their current compliance level. The SOUS_CHEF can see the Regulatory Requirements, so that they can aid implementation in roll-out, but is not privy to the management’s comments.

Illustration of user skill based frame access
Skill Based Frame Access – Results

Application in Your Industry

The illustration above is deliberately simple and fairly generic. It should, however,  be easy to see how projects, whatever topic they cover, can be set to allow certain users access to certain parts of the data but no others. Access may be restricted to NO_ACCESS or to READ_ONLY. The project may be quite happy for all engineers to see a financial budget frame for every component, but not so keen on having it changed by the implementer! The help section covers more on frame access.

How do I export my data from Cradle so it is sanitised?

Occasionally 3SL support may ask you for a sanitised export of your data to help diagnose a problem. What  exactly does this mean and how do you sanitise your data?

Sanitised Data

In Cradle sanitised data an export of your data, where all the sensitive data is sanitised or removed.

To sanitise the data we convert characters to x so for example the line:

Cradle® is our requirements management and systems engineering software tool that integrates your entire project lifecycle in one, massively scalable, integrated, multi-user product.

Would become

xxxxxxx xx xxx xxxxxxxxxxxx xxxxxxxxxx xxx xxxxxxx xxxxxxxxxxx xxxxxxxx xxxx xxxx xxxxxxxxxx xxxx xxxxxx xxxxxxx xxxxxxxxx xx xxxx xxxxxxxxx xxxxxxxxx xxxxxxxxxxx xxxxxxxxxx xxxxxxxx

In a sanitised export the following attributes will be sanitised using the method described above:

  • All item names (except for data definition names – data definitions in models)
  • The comment and description attributes
  • All text frames contents
  • Every symbol name
  • All change history contents

Additionally:

  • All binary frames (such as embedded Word documents) do not appear in the export file at all (as they cannot be sanitised they are simple removed)

Sanitisation option essentially allows a customer to produce a sanitised export file that can be sent to another organisation (3SL). This allows the recipient to reproduce the sender’s Cradle database in ALL respects EXCEPT for the critical (and therefore sensitive) data content. Sanitising your data via an export only effect the contents of the export file and DOES NOT effect your live project.

How do I export my data from Cradle so it is sanitised?

Sanitising you data during export is quite simple all if you are exporting via the WorkBench there is a check box called “Sanitise Data” in the export dialog which you just need to enable.

Screen shot of sanitise option
Sanitise Option in Export Dialog

You can also sanitise your data when exporting via c_io all you need to do is add a -sanitise flag to your command for example:

c_io -login MANAGER,MANAGER,DEMO -export myfile.exp -type all -sanitise

After you export you will be able to open the export file in an editor. You can then see that your data has been replaced with x’s

Screenshot of sanitsised data in an import file
Sanitised Data in Import File

Or you can import the export file into a test project and look at the data in WorkBench.

Sanitised Data in WorkBench
Sanitised Data in WorkBench

For further information on sanitising your data in Cradle please see the following section in our online help.

February 2018 Newsletter

Whooshing away the Winter Woes

faster fibre illustration, based on images from pexels.com and unsplash.com
Faster Fibre

Now the warmth of families and friends packed into living rooms too small to hold them are left behind, the last scraps of Christmas cake and bags of nuts have been consumed, we’re here in wintry February 2018. However we’ve sped into the year with a new FTTP link. See here for more details of how to download Cradle even faster.

Cradle Features Coming Soon….

We’re all busy here, in the chilly winds and rain and sleet of Cumbria working on the features for Cradle 7.4 I can reveal that we’ve been working on some enhancements to alerts to allow more comprehensive content to be sent in emails. This will help with collaborative working, swiftly informing interested parties that an item has changed which may need their attention. Item level Workflows are being enhanced to improve automation of your product lifecycle.

GDPR

padlock over computer based on images from negativespace.co pixabay.com on pexels.com
GDPR

Time is racing towards the GDPR implementation date. We’re working hard to ensure our policies are up to date and in a fit state to deal with any data requests. However, there’s still a lot of confusion out there. Some things are obvious, were we to store sensitive information, like someone’s medical records, religious or political beliefs, its fairly obvious that this should never be swapped freely. The subject should be aware as to why we hold the data, what we hold and how we use and process it. We would then ensure any third party processors were up to the same standards before exchanging information.

At the other end of the scale, the ‘how would this ever be practical’ bit, there is little in the way of concrete guidance. If I email a company, from my desk at 3SL, my email address contains my name and associates me with 3SL. The sign off contains a phone number and an office location. By the letter of the legislation, this is personally identifiable information. Were I to leave 3SL (To become a top secret agent) and decided all previous traces of me needed to be removed, I could submit a ‘right to be forgotten’ to 3SL. They would have to remove all my personal data. (Except for ‘within date’ tax records etc.). As the data controller, all those emails with personally identifiable information within them would have to be recalled from all the recipients (who are now processors). Now how on earth could you do that?

If you’ve got any examples where the legislation appears to hit an impractical wall, drop us a line and we may feature it in a future blog. Note I’m using an anonymous email address social-GDPR@threesl.com !!

Social Media

Twitter

Image of a tweet where we ponder what the picture is
Tweet of what?

Looking at other people’s tech, we wondered what this image was.

 

We celebrated #ThesaurusDay by looking how words and meanings could give rise to ambiguous requirements.

Hints of the Month

Last month’s blog articles included:

Tidying up if you’re ever left with a dangling cross reference

What to do if you have special characters in your text and you need to write a Regex (regular expression) in Cradle

You can read Hints & Tips in the 3SL Blog