Are you upgrading/updating your servers? Here we explain moving Cradle projects from an old server to a new server. There are two ways to do this:
Moving projects to a new server with the same Cradle version
Moving projects to a new server and upgrading to a new Cradle version
Both of these scenarios are detailed below.
Please note if users have Personal definitions, e.g. if they are are using Sessions, these will either need to be copied or exported and imported to the new server. Personal definitions are located in $CRADLEHOME\admin\definitions\personal and the folders have the users names. If copying the definitions they need to be placed in the same location within the personal folder.
New Server with Same Cradle Version
If you are not upgrading Cradle at this time, this is really simple to do.
Create the Cradle projects on the new server with the same project code as previously created on the old server. Ensure the pathname is the location where the databases will be stored.
Copy the contents of the Cradle projects on the old server to the new server. The directory contains all of the data including user profiles, project setup, definitions etc.
New Server with New Cradle Version
If you are upgrading the Cradle version as well as migrating to a new server, this is slightly more complex.
The safest method (although can be time consuming) is to create export files of the existing Cradle databases and then import them into the new server installation.
When exporting the information from the “old” server, ensure Owner is set to Everything as shown below:
Once the new version of Cradle has been installed on the new server, you need to create the Cradle projects on the new server.
In the new project you can then import the data exported from the old server . When importing, ensure Owner is set to As in file, Overwrite is set to On and the top four validation checkboxes are selected:
Repeat this for all projects
Another way to achieve this is to copy the project directories from the old server on to the new server and then manually convert the projects.
Create the Cradle projects on the new server with the same project code as previously created on the old server with the pathname being the location where the databases will be stored.
Copy the contents of the Cradle projects on the old server and overwrite the contents of the newly created projects on the new server. The directory contains all of the data including user profiles, project setup, definitions etc.
Manually run the necessary converters to ensure the new projects are in the same format as the new Cradle version installed. Please note this may be several converters if converting from a much older version.
Note: Please ensure the projects have been converted BEFORElogging in.
Welcome to the latest newsletter from 3SL that provides a mixture of news and technical information about us, and our requirements management and systems engineering tool “Cradle”. We would especially like to welcome everyone who has purchased Cradle in the past month and those who are currently evaluating Cradle for their projects and processes.
We hope that we, and Cradle, can deliver real and measurable benefits to all of the exciting development projects that we see every day through your regular contacts with our support team. If you have any problems, please do not hesitate to contact 3SL support here.
Showing Cell Titles in Views
Sometimes when displaying a nested view the cell titles take up a lot of space on the screen.
Within the View Details dialog you have the option to choose whether you want to display the cell titles:
As you can see you can choose to either:
Show the cell titles
Hide the cell titles
Show the cell titles only when the view is top-level
You can change the visibility of any of the component views that are being used to show linked items. In practice, most people either hide everything or show everything.
For further information on views please see our online help page.
Help with Cradle-7.7
Following on from our recent Cradle-7.7 release, if you are not already a customer and would like more information about Cradle, you can download the software and a free evaluation licence. You can find this on our website, or you can request a webinar. If you are a customer and would like to upgrade, please contact 3SL for a Security Code and for any assistance you may require with the upgrade.
Upcoming Training Courses
We still have places available on our September Risk Management course. Learn how to identify, analyse, evaluate, treat and monitor the risks associated with activities or events within your business. This course is designed for project team leaders or managers who administer and manage risks.
To book a place on one of our online courses please click here!
Cradle offers two packages Cradle Software as SaaS and Cradle Training and Consultancy.
Software
The software package includes Cradle licences, a pre-defined schema and a comprehensive support package. This can be used in both unclassified (IL0) and OFFICIAL (certified IL3) deployments and covers the following elements:
Agile Collaboration
Application Lifecycle Development
Application Lifecycle Management
Agile Software Development
Agile Software Management
Business Analysis
Business Process Modelling
Defect Tracking
Enterprise Architecture
Integrated Risk Management
Integrated Test Management
Lifecycle Management
MBE Model Based Engineering
MBSE Model Based Software Engineering
MBSE Model Based Systems Engineering
Requirements and Testing
Requirements Engineering
Requirements Management
Risk Assessment
Risk Compliance
Risk Management
SysML Modelling
Systems Engineering
Test Execution
Test Management
Test Planning
UML Modelling
Cradle Training/Consultancy
Consultancy
Administration Training
Fundamentals Training
Advanced Lifecycle Training
Prices start from as little as £50.00 per user per month. Including email and phone support and full documentation included. Optional onsite support and training is available. This can be supplied on Windows® or Linux®.
Customisation
A wide range of user customisation is available including:
Items’ (attributes, links and properties)
Display of chosen data and layout through queries, views, forms,
Processing data to give graphs, reports, documents, metrics, KPIs/dashboards, process
CM (Configuration Management) system workflows
UI (User Interface) layout and content
Authentication and access control
Details
For details, see here:
Software
Training/Consultancy
or search for 3SL Cradle. For an overview of Cradle, see our video here: We look forward to helping you achieve success on your future projects, or migrating existing ‘manual’ or disparate works into a fully encompassed solution.
We have created some links between Cradle items but we only want to see a filtered set of these links in our table.
Rationale
Cradle has a unique ability to follow cross referencestransitively. This means that although an item might not be directly cross referenced from it’s source, it might be linked indirectly through another item/item type.
Cradle also has the ability to name cross references referred to as link types and even group sets of link types together referred to as link groups.
Combining these features can allow flexibility for the output of items that have some relationship to the source which will reduce the number of direct cross references required.
For example, we would like to show dependencies between item type A and item type C but ONLY those that have a yellow and blue link type.
We can see in the screenshot below that only A-6 and A-11 are transitively linked to items of item type C with both a blue and a yellow link:
Setting Link Groups
We can define a link group in Project Setup in which we can select from the available link types.
This defined link group can be used in navigations.
Defining Navigations
Navigations allow us to specify how we would like to follow the links that have been created between items. This is a very powerful feature as we can also specify that we would like to follow links transitively:
Using the Navigation in Views
We can now use the navigation to specify that we want to show links between item type A and item type C that are followed transitively but we ONLY want to show the group of links YELLOW AND BLUE. Remember that there are NO DIRECT links between these two item types. The cross references are from item type A to item type B and also from item type B to item type C:
Applying this view, we can see that only the YELLOW AND BLUE links are shown in the table. The remainder appear blank:
Using the Navigation in Queries
We might wish to only show items in our table that have these links in preference to showing all items and just appearing blank where the transitive link does not exist. We can achieve this in the Query Details dialog:
This will now filter out of the list any items that do not match the navigation criteria:
Showing Path in a Tree Style
If we followed the path in a tree style showing downward links, we can see that item type A (A-6 and A-11) are not directly linked to item type C (C-1). They go through item type B (B-2):
Summary
Cradle provides a unique ability to allow cross references to be followed transitively (through other items).
Transitive navigations can be applied to views and queries. This provides a very powerful filtering mechanism that allows us to show non-direct dependencies between items.
With the release of 7.7 coming very soon, we thought we’d test Cradle on additional platforms.
So here’s Cradle 7.7 running on a Steamdeck, in Desktop mode.
As SteamOS is based on Arch Linux, our 64 bit Linux version can be installed.
Both the CDS and WorkBench are running on this very capable device. A keyboard and mouse may work better than the on screen keyboard.
If you install the service manager (systemd script) then the Cradle Database Server (CDS) will start on boot up of the Steamdeck, so you might not want to do that if its primarily used for Steam. However, once started the CDS will stay running in the background when you switch to Gaming Mode. If you have others connecting to your CDS then they can continue to work while you improve your hand-eye coordination in your favourite game.
Although Steamdeck is not an officially supported platform, you can see Cradle does indeed run on additional platforms
*If you will have the same users in the new project that are in the existing project.
The Solution
To avoid the Personal and/or User definition files being part of this import, we would suggest the following:
Log in to the existing project as MANAGER
Select Project > Export
In the Export dialog set Owner to Everything and Info Type to ProjectSchema and User Profiles (if users are required, see comment above)
Press Export to create the export file and close the Export Status dialog but do NOT close the Export Information dialog:
In the Export Information dialog, change the Info Type to ONLY show Definition Files:
You will see that some new options appear – Definition Type and Location:
The Definition Type option allows you to specify the types of definition file to be included in the export. For this example, we will leave this as All:
The Location option defines which location you are exporting the definition files from. Users may have created Personal or User definition files that might not be relevant to the new project. Personal and/or User definitions might only have been useful to an individual person rather than the project so could be omitted. In this case, we would only need to select Team*, User Type* and Project
* It may only be necessary to select Project
Press the Export button again. This will present you with the option to Overwrite, Append or Cancel. Select Append:
In Project Manager, create your new project with an EMPTY schema:
Log into the new project as MANAGER
Select Project > Import and set Owner to As in File and Overwrite to On:
You will see that your new project contains:
Users
All the Project Setup information including the phase hierarchy and all supporting definition files
Summary Note
If you had NOT chosen to append the definition files, it is highly likely that the phase hierarchy from the existing project would not work in the new project and would produce errors.
These definition files are important to define the WorkBench environment.
Also, if you had chosen to export all the definition files, this may have resulted in numerous views, forms, queries, documents etc., that are not particularly relevant or accepted into project definitions.
Open Database Connectivity (ODBC) is an application that allows different types of databases to interface through the use of a library containing data access routines. Cradle now supports connections to DISAM, Oracle and MySQL.
Installation Requirements
Before installing check the minimum hardware and operating system requirements for ODBC. The following are necessary for a successful installation:
An Oracle or MySQL installation accessible to the CDS preferably on the same machine
An ODBC driver manager
An ODBC driver for the data source you wish to access. For example, Oracle in Oracle for Windows or SQL Server
Please ensure the versions are the following or greater:
Oracle in Oracle from Oracle Corporation version is 18c
MySQL ODBC 8.0 Unicode Driver from Oracle Corporation is version 8.0.16
Windows ODBC Data Source Administrator appropriate for your Windows release
unixODBC driver Manager 2.3.7 or later
*Cradle install will not work with Oracle databases that have been setup using the ‘Create as Container Database’ option.
ODBC is a licence option which can allow Oracle or SQL or both to work with our Cradle Enterprise version. This new licence is not available for any other version of Cradle. For enquires about the new ODBC licence, please email salesdetails@threesl.com.
Cradle and ODBC
The users can still import and export standard export, CSV, XML and now ReqIF files. If a user is on Windows they can still use our Toolsuite applications. The only difference is the access to databases either directly (DISAM) or through ODBC (Oracle and MySQL).
With Cradle supporting ODBC, a user can now install Cradle on the same database server farm as the Oracle/MySQL databases. A separate server is no longer required. Although projects can be on a separate server and linked to the Cradle database using a UNC path e.g. \\hostname\path\projects\mmh1. Click for more information on Storing Project Databases in NAS.
Installing ODBC
The CDS requires an installation of ODBC on the same machine for either Linux or Windows. Client machines which don’t have the CDS on them don’t need to have ODBC installed at all.
Linux
If the Linux distribution you are installing on does not have v2.3.7 of unixODBC as a package, then you’ll need to build this from source. You can download and find installing steps for it from http://www.unixodbc.org/download.html. Ensure the user installing is the System Administrator or a user with administrator privileges for installing both ODBC and Cradle.
Check for the following files on your Linux installation:
Windows
If the Windows platform you are installing on does not have ODBC please install the latest Oracle in Oracle for Windows. You can find installing and upgrading documents for Oracle Database here and select the release you are on from the drop-down.
Certain settings are required to be selected when using Oracle in Oracle. Check and enable or disable the following options in the Oracle ODBC Driver Configuration checking all numbers:
Turn on the Connection Pooling attributes and use the default options:
Setting up with Cradle
After installation of both Oracle and Cradle, the administrator is required to check and alter the following files correctly:
Support file for the driver when required on Windows usually in ‘Oracle <version>\network\admin’
The following example of a tnsnames.ora file, shows it can have more than one Oracle database location set within it.
Correctly configure the ODBC file for Cradle in %CRADLEHOME%\admin\db_config\odbc called odbc_config
All options are hashed out in the file until an administrator changes them. All options show an example of what can be entered. This is an odbc_config example for just Oracle on one of our installations.
Correctly configure the file create_CRADLE_CDS_USER in cradle\admin\db_config\odbc\setup_scripts
The default user tablespace and users within your Oracle database need to be set within this file. This is to allow the altering and creating privileges for the users. In our original it has:
USER “CRADLE_CDS_USER”
DEFAULT TABLESPACE “USERS”
The privilege options in create_CRADLE_CDS_USER should be changed to your own tablespace and user names used in the odbc_config file.
Creating New Projects
Users get the same Cradle interface as before but with a new section it now allows connects to 3 different types of database. The different databases can be created through Project Manager by selecting a different Data Source.
Once a source is selected, a new section allows the default settings from the odbc_config file to be bypassed if required:
Projects can be still be created through a command line using c_prj using the new -odbc_src option.
Both -odbc_user and -odbc_pwd are left blank so the default user and password from the odbc_config file will be used. They will only be filled when an override is required. When creating a database for Oracle then the -odbc_sch DEFAULT would be used. For an SQL database then -odbc_sch DATABASE would be used.
File Locations
All items requirements, system notes and diagrams etc., will be located in an Oracle database but there are some files that are kept in a project folder like in a DISAM project.
The ‘prj_params’ file can be found in the project folder with a new file called ‘connection_config’. The ‘prj_params’ is the same as before, with all the options for the project schema and user interactions. The new ‘connection_config’ file holds the version, type, database source and odbc schema used. It also holds the User and Password to override the DEFAULT USER / PASSWORD from the odbc_config.
The definitions e.g. views, queries and reports etc., are still held in the definitions folder under the different user types. Source and FormalDocuments are also held as before in the doc and fdoc folders.
*****NOTE*****
Direct manipulation of data in Cradle’s data files held in DISAM or an ODBC supported database is not recommended under any circumstance. The inherent integrity of the data and its internal relationships can only be maintained by accessing through Cradle’s defined UI, command-line or API tools.
We do not provide any information about Cradle’s use of Oracle and MySQL other than which we provide in our documentation
We do not provide any information or assistance to anyone who is proposing to access Cradle’s data that is stored in Oracle or MySQL other than through Cradle
Anyone who accesses, either read-only or read-write, Cradle data that is stored in Oracle or MySQL without using Cradle as the only means to access that data, does so entirely at their own risk and 3SL will not accept any responsibility for, nor provide any assistance to, anyone who accesses Cradle data in that way and then subsequently finds that their data is no longer accessible through, or manipulable by, Cradle
It might not be a common question, most of us have one favourite browser and that’s it. But if you do want to choose your HTML display tool, how do you do it?
However, in Cradle you can produce tool output in HTML as well as viewing the Cradle Help. There are situations where you may want to use a browser for the Help and say Microsoft® Excel for a table output. This can be controlled in Cradle 7.5 onwards in the User Preferences settings. There is a distinction between the Display HTML file and Display Cradle help options.
HTML File or HTML Help
Once your preferences are set up, you may choose to Publish Table from a CradleView. This will show the Publish Table dialog and allow the output to be sent to an application for viewing. In the illustration below, the OK opens the resultant file in your chosen HTML display tool, Excel. However, the Help button still opens the dialog’s help file in your browser (defined by $BROWSER command directive).
Example
Now that the Cradle data has been published you can easily take advantage of facilities available in the selected too. For example charting the relative ‘Level of Effort’ for each of the items in the query.
Preferences
Because each user will have a different machine and may be working on different aspects of the project, it is possible to set individual User Preferences. It might be that on my machine I use Adobe® Acrobat to view PDF files, but my colleague has lightweight PDF viewer. They are going to want to use their viewer for all their Cradle projects, and I will want to use mine. As this setting is related to a user and their machine, rather than the particular project, this is user preference rather than a project schema setting.
You may have reason to make sure some users don’t see a particular sidebar or sidebars. For example, a customer seeing the Plans sidebar is not necessary if they are not involved in planning.
Setup
Within Project Setup there is a section for User Settings. This section is used to set many different options for Users. Under the User Types tab, different Sidebars and Default Start Pages can be set for each different User Type. A user must have the PROJECT privilege to be able to set these options.
A User Type can have all, some or none of the sidebars selected. If none of the sidebars are selected then a user would use the options set for them on a Start Page only.
These settings can then be used in conjunction with a Users Preferences in which they can set a Default Sidebar to show on logging into a Project.
User Choice
The sidebars a user can see in the User Preferences are only the ones assigned to their User Type. They can then set which of those assigned to them will show when they first log in. This option may also be set to ‘None’ so no sidebar shows when a user firsts logs in.
The settings are honoured no matter how a user logs in either through the UI, Project Manager, or through a command prompt. The only time this can change, is if a different sidebar is set when a user saves a Session. If they login using the saved Session then the sidebar showing at the time of the save will be opened instead.
The Cradle Application Programming Interface (API) is a set of routines that can be used to create applications that use the database and supporting features in 3SL’s Cradle Requirements Management and Systems and Software Engineering environment.
You can use the API to extend the facilities of your Cradle system, or to create a bridge between Cradle and another piece of software by connecting the APIs of Cradle and the other tool.
The Cradle API provides a full range of facilities, including:
Connection to, and disconnection from, a Cradle Database Server (CDS)
Login with a specified username, password and project code (or use LDAP authentication)
Access to the project schema of the project to which your application has logged-in
Reading items, cross references, and cross referenced information in the project’s database
Creating, deleting and update items and cross references in the project’s database
Updating items and cross references in the project’s database
Deleting items and cross references in the project’s database
If you would like any more further information regarding API please click here
In our article Email Alerts! In Cradle we discussed using Mailsend utility so you can use SMTP rather than MAPI to send emails alerts. We touched briefly on the configuration within Cradle of using the utility. In this post, we’ll be expanding on that. Providing an example of a Mail Relay within the Cradle environment rather than talking directly to a company SMTP server.
Why use a relay?
So why shouldn’t we configure all the Cradle clients to talk directly through Mailsend to a company mail server? For starters, the company mail server may be locked down to only accept SMTP emails from specific hosts, and so wouldn’t accept SMTP connections from every Cradle desktop client.
Using a relay means that the company mail server only needs to accept SMTP connections from a single host, the mail relay, as all the Cradle Mailsend desktop clients talk via the relay.
So, how do we setup a relay
Its as simple as installing the relay software and configure it. Currently we use Postfix in installations where we need a relay as we’re usually using Linux as a Cradle Database Server. Postfix is a package available on most/all Linux distributions.
Then its just a case of configuring it to accept incoming connections from the Cradle desktop clients. We lock this down to a subnet of IP addresses. Then set the relay host to being the company mail server which will deliver the email alerts. In this example we’re using Postfix to Cradle clients on 2 subnets, and the localhost. The cradle.ini/cradle.rc files then points to the relay host and not the company mail server.