July 2019 Newsletter

Headline July 12th:

Chaucer Appointed Clerk of the King’s Works

Old books on shelf Suzy Hazelwood from Pexels .com
Books

OK, this is a 2019 newsletter and the headline is from 1389 (and not from the 3SL newsletter, we may be a long established company but the MD assures me he’s not that old).

What’s Geoffrey Chaucer, the Father of English literature from the middle ages got to do with Requirement’s Management? I hear you ask.

Any wordsmith will strive to create a picture or describe an event in such a way that the reader is able to internally visualise and experience what the author is trying to convey. Whether that be fact or fiction is the main divide between literary and engineering authors. Visions of golden eagles carrying the author high above the earth in Chaucer‘s Hous of Fame, or a depiction of Hiccup, a small Viking, on the back of a Dragon, by our most recent Children’s Laureate Cressida Cowell, may paint vivid pictures, but are works of fantasy.

Business writing must also convey a visualisation to the reader. However in a very different style. No one would ever suggest writing your requirements in octosyllabic couplets, or even in rhyme. Although it does sounds fun! In the same way that a poet uses rules to create rhymes,  couplets, sonnets or limericks, business writers follow hierarchical, brevity, atomic rules to keep requirements clear, concise and understandable. We’d rather draw you a diagram to illustrate the system than add another thousand words.

Requirements need to have a purpose, a defined theme or product. Unlike the criticised unfinished, wandering Hous of Fame. In his job as the Clerk or works (CoW), Chaucer would have needed to provide clear instruction and detail to the builders. His work as a bureaucrat would also have required clear communication. An uncommon talent to find, skills in both literary and business writing, unless you know different?   Let us know social-customer@threesl.com

What’s In A Name?

Cradle Registered Trade Mark
Cradle®

Quite a bit really. We believe Cradle®From Concept to Creation is synonymous with a product helping organise and manage projects world wide. In that regard we have successfully defended our registered trademark under the “software umbrella” for many years. However, many of you will be familiar with Cradle support, training and business consultancy. You may also be aware Cradle is now also available as a managed service (SaaS).  In recognition of the work we do helping companies set up successful processes, and our service provisions, you’ll now also find Cradle® in classes 41 and 42.

G Cloud 11

g-cloud HMGovernment
G-Cloud

We’ve been successfully accepted into the UK government’s G-Cloud 11 framework. Thanks to the efforts of all involved.

Social Media

Twitter

Batelle TweetWe liked the Soapbox challenge that came to Barrow, and enjoyed the longest day this year. We were impressed that Battelle‘s micro engineering could identify you from a hair.

 

Open Database Connectivity (ODBC)

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.

Connection to Different Data Storage Types
This diagram shows the logical representation of the project data storage

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.

3 different projects on 2 different servers
Cradle About WorkBench UI showing 3 different projects on 2 different servers

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:

libodbc, libodbccr and libodbcinst
Necessary files on Linux

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:

Oracle ODBC Driver Configuration
Oracle ODBC Driver Configuration for Application, Oracle and Workarounds

Turn on the Connection Pooling attributes and use the default options:

Pool Connection settings
Turn on Connection Pooling Attributes

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.

tnsnames.ora file
tnsnames.ora file
  • 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.

CRADLE_VERSION = 7.7
#
ODBC_DRIVERINFO = ORACLE
    CONFIG_DIR = 'oracle'
    CHARSET_METHOD = ENVIRONMENT
    CHARSET_VAR = 'NLS_LANG'
    CHARSET_BDY = '.'
    CHARSET = 'AL32UTF8'
    CONNECT_STR = 'DSN=$SOURCE;UID="$USER";PWD="$PASSWORD";'
ODBC_DRIVERINFO = END
#
#
ODBC_DRIVER = ORACLE
    ODBC_SOURCE = 'OracleODBC-18c-ORAC'
    DBMS_NAME = 'Oracle'
    DEFAULT_DB_TABLESPACE = 'USERS'
    DEFAULT_DB_SCHEMA_USE = DEFAULT
    DEFAULT_DB_SCHEMA = 'cradle_prj_$PCODE'
    DEFAULT_USER = 'CRADLE_CDS_USER'
    DEFAULT_PASSWORD = '***'
ODBC_DRIVER = END
ODBC_DRIVER = ORACLE
    ODBC_SOURCE = 'OracleODBC-18c-ORAC12'
    DBMS_NAME = 'Oracle'
    DEFAULT_DB_TABLESPACE = 'USERS'
    DEFAULT_DB_SCHEMA_USE = DEFAULT
    DEFAULT_DB_SCHEMA = 'cradle_prj_$PCODE'
    DEFAULT_USER = 'CRADLE_CDS_USER'
    DEFAULT_PASSWORD = '***'
ODBC_DRIVER = END
  • 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.

Showing 2 different Oracle databases in Create Project UI
Showing 2 different Oracle databases either can be used

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.

[-odbc_src <odbc_source>
 [-odbc_sch {DEFAULT | DATABASE | NONE | <ODBC schema>}]
 [-odbc_usr <ODBC user>]
 [-odbc_pwd <ODBC password>]]
c_prj.exe -create -code TEST -title "Test Project" -path /home/project/odbc -pid ODBC01 -schema DEFAULT -odbc_source OracleODBC-18c-ORAC -odbc_user -odbc_pwd

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.

CRADLE_VERSION = 7.7
TYPE = PDB_CONN_ODBC
SOURCE = OracleODBC
USER = *****
PASSWORD = *****
DB_SCHEMA_USE = DEFAULT

The definitions e.g. views, queries and reports etc., are still held in the definitions folder under the different user types. Source and Formal Documents 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
Update:

July 2020 – Directory updated

Choose Your HTML Display Tool

How would you like to display your HTML?

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.

HTLM viewers Cradle User Preferences
HTML preferences

HTML File or HTML Help

Once your preferences are set up, you may choose to Publish Table from a Cradle View. 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).

Different HTML viewing in Cradle
HTML Outputs

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.

LoE chart from Cradle Data
Cradle HTML data in Excel

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.