Exporting using c_io.exe in a Batch File

All Exporting Options for c_io.exe

Exporting either a whole project or just a query can take a long time if the database is huge. The quickest and easiest way to do this is use c_io.exe in a batch file during down time e.g. night

The options available are:

Export Options for c_io.exe
Export Options for c_io.exe

Required Export Options

So the first option is, of course, the export option that needs the user to specify a location and a name for the exporting file:

-export “C:\Temp\export1.exp”

The Type Options

The -type option is required for the export option and allows users to define the type of export they require:

params will export only this projects parameters (Project Schema)
all will export all items and definition files the user has access to
pdb will export all items the user has access to but not definition files
query export items matching a named query.

Options used with query

-query will specify the query to be used. This is required if the type is set to query
-qloc will specify the location of the query. This is required if the -query option is used.

expformat is for exporting all files set in a saved format.

Options used with expformat

-expname is the Export Formats name.
-exploc is used in conjunction with -expname to state the location of the export format
-identity can be used with -expname and will override the Identity set in a query.

Export UI Identity
Export UI Identity
Query UI Identity
Query UI Identity

basesum requires the user to use -basename with the Baseline Name and -sumformat which allows the user to specify how the data is output either as CSV or standard (Note: the user must have the PROJECT_RO privilege for this option)

Options used with basesum

-basename needs to have a Baseline name currently either open or closed.
– sumformat allows the user to state they format -basesum is output as CSV or standard.

The standard output is <BASEHIST> records in the normal format:

<BASEHIST>
 <BH_BNAME> = BASE1
 <BH_DOMID> =
 <BH_NMSPC> = NMSPACE_START
 MH_IGNOREMODEL
 NMSPACE_END
 <BH_INFTP> = INFO_REQUIREMENT
 <BH_INFST> = NULL_INFOSUB
 <BH_STERT> =
 <BH_TTYPE> =
 <BH_INFRF> = REQ-1
 <BH_VERSN> = 01
 <BH_STATU> = B
<BASEHIST> fields
The CSV output will set the fields from left to right and output the items below this line:

Elective Export Options

Other export options are not required but can be used with –type all and -type pdb:
– since can be used to state a date or date and time since which items were created or modified. The format for this is yyyymmdd or yyyymmddThhmmss so 20170119 (19/01/2017). For example 20170119T183030 (19/01/2017 18:30:30)

-until will only export items that have been modified up to a certain date or date and time or a time after the -since was set. The format for this is the same as -since.

-delete_state allows the user to specify if they want the items being exported to be (Same as in the Export UI):

normal – Not marked as delete
recoverable – Items marked as deleted but can be recovered
all – All items not matter what they are marked as will be exported

Delete state in the Exporting UI
The Delete state in the Export UI in WorkBench.

-scope controls how an item is output either on its own or with all the items cross referencs. Using item will make sure only the item on its own is output. Using item_xref will output the item and any items cross referenced to it.

-binarytodir sets a folder for the binary data. So a user would use -binary “C:\Temp\binary” and all binary data would be output to unique files and the path to this file would be output in the export file next to the binary frame:

<FR_FNAME> = PICTURE
 <FR_VERSN> = 0
 <FR_FTEXT> = C:\Temp\binary\binary_frame0.dat

-sanitise will output items but without any binary frames. It will also change all text including item names, comments descriptions, text frames, change history, diagram symbols, discussions and user defined cross reference attributes.

c_io.exe Batch File Exporting Examples

Exporting Project Schema using -type params

"%CRADLEHOME%\bin\exe\windows\c_io.exe" -login admin,ADMIN,demo -export "C:\Temp\params1.exp" -type params

Using -type all

"%CRADLEHOME%\bin\exe\windows\c_io.exe" -login admin,ADMIN,demo -export "C:\Temp\all1.exp" -type all

Using -type all and -since

"%CRADLEHOME%\bin\exe\windows\c_io.exe" -login admin,ADMIN,demo -export "C:\Temp\all2.exp" -type all -since 20150724 -until 20150818

Using -type all with sanitising

"%CRADLEHOME%\bin\exe\windows\c_io.exe" -login admin,ADMIN,demo -export "C:\Temp\all3.exp" -type all -sanitise

Using -type pdb

"%CRADLEHOME%\bin\exe\windows\c_io.exe" -login admin,ADMIN,demo -export "C:\Temp\pdb1.exp" -type pdb
"%CRADLEHOME%\bin\exe\windows\c_io.exe" -login admin,ADMIN,demo -export "C:\Temp\pdb2.exp" -type pdb -scope item

Using -type query

"%CRADLEHOME%\bin\exe\windows\c_io.exe" -login admin,ADMIN,demo -export "C:\Temp\query1.exp" -type query -query "Accepted Items" -qloc project

Using -type expformat

"%CRADLEHOME%\bin\exe\windows\c_io.exe" -login manager,MANAGER,demo -export "C:\Temp\exportformats1.exp" -type expformat -expname all_since_until -exploc project -identity REQ-20

Using -type basename

"%CRADLEHOME%\bin\exe\windows\c_io.exe" -login admin,ADMIN,demo -export "C:\Temp\baseline1.exp" -type basesum -basename alpha -sumformat standard

Helpful other c_io options

There are several helpful options especially when using in a batch file.

-log allows a user to specify a name for a log. This is the log that will have the details of the actions performed during the  import.

-noldap allows users to bypass using LDAP when running a command line or batch file.
-errorstack option is for logging any issues with the import

"%CRADLEHOME%\bin\exe\windows\c_io.exe" -login admin,ADMIN,demo -export "C:\Temp\all3.exp" -type all -noldap -errorstack -log "C:\Temp\all4_log.log"
"%CRADLEHOME%\bin\exe\windows\c_io.exe" -login admin,ADMIN,demo -export "C:\Temp\pdb3.exp" -type pdb -noldap -errorstack -log "C:\Temp\pdb3_log.log"

Options not used within a batch file

A few of the options not used in a batch file but are in a command prompt. These are pop ups with information on them which why they are not in a batch file.

-verbose lets the user know that c_io.exe has finished
-ver lets the user see what the version number, date and time of the build they are using.
-help is used to see all the command line options.

Related Posts

Read Publishing a Formal Document Using a Batch File article for information of formal documentation.

Importing using c_io,  and exporting a single frame is also possible.

 

 

Importing using c_io.exe in a Batch File

Importing

C_io.exe can be useful when importing large files or when a user has a lot of files. When c_io is in a batch file, it can import different files into different projects within one batch file. This file is then run when no one is in the database and so there should not be any issues.

The options available are:

c_io import options
Import options for c_io.exe

Required Import Options

The  first option for importing needs the user to specify a location and a name for the file:
-import “C:\Temp\import1.exp”

All saved Import Formats in WorkBench can be used with -import

-impname is the Import Formats filename. When an Import Format is being used -overwrite, -owner, -ipid, -cpid and -noalerts are set from this file.

-imploc is the location of the Import Format file.

Elective Import Options

-overwrite is used when a user requires any items in the database to be overwritten, merged or not overwritten. If not in the command line the default of off is used.

  • on – all data will be overwritten
  • merge – all items will be merged
  • off – no data will be overwritten and only new items added

-owner sets by whom the items imported are going to be owned by. Depending on the option set depends on the owner of the items:

  • user option is owned by the user in the login option e.g. -login ADMIN the items will be owned by the ADMIN user.
  • File option is the owner as stated in the import file
  • A user can be specified and all items imports will be owned by that user e.g. -owner REQMAN
 Import UI
WorkBench Import UI showing Owner Options

Additional Options

-ipid is the option to let c_io know whether to use the PIDs in the file or in the project it is being imported into.

  • Off means the PIDs will be generated.
  • On means the PIDs in the file will be used.

-cpid allows a user to specify the PID to be used for the items being brought in.

-noalerts option stops alerts from being generated during the import

-ignorelinkrules allows any cross references to ignore projects link rules in the current project but only if the user has the correct privileges. The user must have either ACCESS_BYPASS or PROJECT for this to work.

-noautoid allows the original numbering for items rather than any auto numbering set in the Project Schema.

-nocheckdata option stops data being checked so it is all imported.

-add_itemhist is the same a Auto update modification details and sets the current user, date and time, not what is specified in the file.

-itemhistcomment will include a Change History comment which will include the last modifier, modification date and time

-add_imphist will create a log with the history of the import. It shows the options used, who performed it and the date and time of the import.

-set_modify uses the current date and time instead of the date and time specified in the imported file.

All the above options are from the Import UI:

Import Options
Import Options from the WorkBench UI

c_io.exe Batch File Importing Examples

Using Basic Options

“%CRADLEHOME%\bin\exe\windows\c_io.exe” -login admin,ADMIN,demo -import “C:\Temp\import1.exp” -overwrite merge -owner file -noalerts -ignorerules -noautoid -nocheckdata

Using Import Formats

“%CRADLEHOME%\bin\exe\windows\c_io.exe” -login admin,ADMIN,demo -impname TestImport -imploc project

Using Elective Options

“%CRADLEHOME%\bin\exe\windows\c_io.exe” -login admin,ADMIN,demo -import “C:\Temp\import3.exp” -overwrite on -owner REQMAN -ipid off -noalerts -ignorerules -noautoid -nocheckdata -add_itemhist -itemhistcomment “Imported through c_io” -add_imphist

Helpful other c_io options

There are several helpful options especially when using in a batch file.

-log allows a user to specify a name for a log. This is the log that will have the details of the actions performed during the  import.

-noldap allows users to bypass using LDAP when running a command line or batch file.
-errorstack option is for logging any issues with the import

“%CRADLEHOME%\bin\exe\windows\c_io.exe” -login admin,ADMIN,demo -export “C:\Temp\all3.exp” -type all -noldap -errorstack -log “C:\Temp\all3_log.log
“%CRADLEHOME%\bin\exe\windows\c_io.exe” -login admin,ADMIN,demo -export “C:\Temp\pdb3.exp” -type pdb -noldap -errorstack -log “C:\Temp\pdb3_log.log

Options not used within a batch file

There are a couple of options that are not used in a batch file. The reason is that they are only useful in a command line, in a command prompt as they show pop ups with information on them.

-ver lets the user see what the version number, date and time of the build they are using.
-help option allows a user to see the command line options.

Related Posts

Read the article  Batch File Reporting  for advice on producing reports with c_io.
Exporting using a batch file.
Exporting a single frame from an item allows just one frame of data to be extracted.

 

Creating New Item Types

Do you require more Item Types, maybe you just want a new Item Type with a different name. Cradle lets you create new item types to suit your working methods.

In Project Setup navigate to “Options – Item Definitions” and change the tab to “Item Types“. This dialog presents a list of

  • the predefined types of item available in any and all Cradle projects,
  • those that were in the chosen template schema when the project was created
  • those added by a user.

New user defined types are used to extend a Cradle Database, to encompass new types of information. To create a new item type you need PROJECT privilege to modify the schema.

3SL Cradle New Item Type
Creating a New Item Type
  1. Select the Project tab
  2. Select Project Setup
  3. Set Options to Item Definitions (if not already set)
  4. Select the Items tab
  5. Click New and enter a name for the new item type

Remember you can also add these newly created Item Type to the quick access bar, for more information see “Customise your Quick Access Bar”

For more information regarding item types and Project Setup please see help on Item Types or my article on configuring Item Attributes

Article Updated 04/02/2019 – Removed mentions of project schema

New Default Schemas

The structure of each Cradle database is defined in a schema. Cradle is supplied with four default schemas that you can use. You can create new default schemas. You can initialise your new Cradle database using any of your default schemas.

Default Schemas

A Cradle system can contain any number of databases. Each database can be used for one or more projects. Each database has a structure that is defined in a schema.

When you create a new database, you specify a default schema that will be used to initialise the schema in the new database  Cradle is supplied with four default schemas, called: empty, default, quick-start and SysML. 3SL provides documents that explain the contents of these default schemas.

New Default Schemas

Cradle can support any process for any type of project. The schema defines the types of information that you will need to follow your process.

You can create new default schemas to support any type of process for any type of project. For example, look at the following types of projects and lists of the item types that will be included in their schemas:

  1. Agile projects:
    • Sprint, iteration
    • Feature
    • Build and release
    • Test cases, test results
  2. Business Analysis projects:
    • Needs, goals, objectives
    • Business functions, processes, tasks
    • Organisations, groups, teams
    • Deliverables, reports  and other document types, artefacts, builds
    • Personnel types, skills, roles
  3. Enterprise Architecture projects:
    • Needs, goals, objectives
    • Processes, functions, tasks
    • Resources, systems, buildings and other facilities, area breakdown structure, site breakdown structure
    • Delivery phases, releases and builds
    • Organisations, groups, teams
    • Deliverables, reports  and other document types, artefacts, builds
    • Personnel types, skills, roles, organisation breakdown structure
  4. Requirements Management projects:
    • Needs, goals, objectives
    • Business requirements, user requirements, system requirements
    • Validations and verifications
  5. Application lifecycle management projects:
    • Needs, goals, objectives
    • Business requirements, user requirements, system requirements
    • Validations and verifications
    • Analysis models, logical models, architecture models, design models – built using MBSE using one or more of functional analysis, SASD, IDEF, ADARTS, UML and/or SysML notations
    • System breakdown structure (SBS)
    • Test cases and test results
  6. Project Management projects:
    • Needs, goals, objectives
    • Business requirements, user requirements, system requirements
    • Product requirements, managed in a library
    • Validations and verifications
    • System breakdown structure (SBS)
    • Product breakdown structure (PBS)
    • Part catalogue, suppliers, orders
    • Production schedules, production runs, batches, samples
    • Quality records, test cases, samples, test results

Location and Structure of Default Schemas

Each default schema is stored in the sub-directory:

admin/defaults

inside the Cradle installation on the server.

Inside this directory are:

  • A file called: prj_params that contains the schema
  • A directory tree containing the project-scope definitions, such as queries, views, forms and so on, called: definitions

Creating New Default Schemas

You can create your own default schemas by:

  • Decide on a name for your new default
  • Create a new directory with this name inside the admin/defaults directory in the Cradle installation on your server
  • Place the schema for the new default inside this directory in a file called: prj_params – you can copy the prj_params file from inside the database directory of an existing database, or use Cradle’s export to create it (see below)
  • Optionally copy some or all of the Project scope definitions from the definitions directory in an existing database

Export to Create a New Default Schema

You can export the schema using the Export Information dialog that is shon when you select Export from the Project tab in WorkBench.

If you can run WorkBench on the server, then you can export the schema directly into the new defaults directory:

Export to Create New Default Schemas
How to to Create a New Default Schema

Using Your New Default Schemas

When you create a new database in Project Manager, select the Schema drop-down list. This will display the list of default schemas. Any new schemas that you have created will appear in this list, for example:

Create Project dialog showing available schemas
Create Project dialog

Initial Expansions in Project Sidebar

Sidebar Expansion

The project sidebar offers a ‘raw’ view of the data stored in the Cradle Database. When first opened a list of item types is displayed. If there is a [+] indicator, then you can expect to expand the tree to lower levels.

In the example below Reference item type has been set up with an auto numbered ID and the Key being the  hierarchical attribute. A rule has been defined to allow the items to be linked to items of the same type with the “RELATED TO” link type.

  • All (All Items) This will show all the items of that type (subject to the user preference limits) when the node is expanded. Other than in very sparse databases this is not usually that a user wants to show.
  • Top (Top Level Items) This is more akin to looking at the level1 headings in a document. These are the items you have designated as having the most significance. They have no links down to them links. In the example you’ll see that item REF-4 (3.1) may appear to be a sub level item, but it has not been linked to a parent.
  • Bottom (Bottom Level Items) These are the leaves of the tree, the items that have no further downward links to children.
  • Disconnected (Not Linked to Anything) These items have no parents or children,  REF-6 (3.1.2) is shown here. This indicated an item that has been unlinked or its parents have been removed and either needs re-linking or reordering below a new parent.
Expansions of the main Project tree
Tree Levels

The last Disconnected  (Not Linked to Other Item Types) option in the menu looks at item of different types when deciding to list the item or not.

How to Use c_io.exe in a Batch File

Why use c_io.exe?

Using c_io.exe allows a user to do many things within a project without using the interface and is usually faster.

Using c_io.exe in a batch file means you can do many things while you are actually away from your desk or in the background. You can then add this batch file to be run by a task application during times you are away from you desk or work. This can be handy when needing to do backups of a single or many large databases.

The executable can import and export everything in a project from single items to the whole project. It can use queries or different options to whittle down the required export. So a user can export all items of a specific type or just one to several items based on a query and or other set options.

The user can use also use the import to update or create a new Project schema, items, cross references and definitions.

Import and Export can use the Format Types already saved into the database.

It can also export just a single frame from a single item into a file of the right type and print diagrams to specific print types.

How to use c_io.exe

The only real difference between using a command prompt and a batch file is the user will need to have a path for the executable. At the beginning of each command line the user will need “%CRADLEHOME%\bin\exe\windows\c_io.exe”

As in commandline code, a user will require the correct login information and the project being logged into.
-login <username>,<password>,<projectcode>

For example:

-login admin.ADMIN.demo

As long as the -login user has the correct privileges, they can use c_io.

Different Options in c_io.exe

Required options are:

-export

Export Options for c_io.exe
Export Options for c_io.exe

-import

c_io import options
Import options for c_io.exe

-getframe

Options for getframe in c_io.exe
The options for getframe in c_io.exe

-printdiag

printdiag options in c_io.exe
The printdiag options in c_io.exe

Without any of the previous options, c_io.exe will put up the Information page or an error.

Helpful other c_io options

There are several helpful options especially when using in a batch file.

-log allows a user to specify a name for a log. This is the log that will have the details of the actions performed during the  import.

-noldap allows users to bypass using LDAP when running a command line or batch file.
-errorstack option is for logging any issues with the import

 

“%CRADLEHOME%\bin\exe\windows\c_io.exe” -login admin,ADMIN,demo -export “C:\Temp\all3.exp” -type all -noldap -errorstack -log “C:\Temp\all4_log.log”
“%CRADLEHOME%\bin\exe\windows\c_io.exe” -login admin,ADMIN,demo -export “C:\Temp\pdb3.exp” -type pdb -noldap -errorstack -log “C:\Temp\pdb3_log.log”

Options not used within a batch file

A few of the options are not used in a batch file but are in a command prompt. The reason is that they are only used in a command prompt is that they show pop ups with information on them.

-verbose lets the user know that c_io.exe has finished
-ver lets the user see what the version number, date and time of the build they are using.
-help is used to see all the command line options.

Batch Files from Project Phase

Batch files can be added into the Project Phases, this is done by going to “Project Setup”, and in Options selecting “Project Phases”. Inside here if you create a new Process and change the type to command, in Command navigate to your .bat file.

A screenshot showing how to setup a phase node to run a batch file
Command phase node to run batch filesArticle Updated 04/02/2019 – Added infor on running batch file from phase sidebar

Reverse and Rewind Item Edits

What is Reverse and Rewind?

You can rewind edit histories so you can restore an item back to a state before a particular change or you can reverse a single edit in an item’s change history. This doesnt mean the feature will delete a previous change that has been made but it does mean it will add a further entry returning the the value to a previous state.

Reverse and Rewind edit history dialog
Reverse/Rewind edit histories

Reverse

Reversing an edit is an exact undo operation. It reverses the change to every attribute that was modified by the selected edit. Note that creation/deletions of xrefs cant be reversed.

For further information on reversing an edit please refer to the Reverse

Change History section of our online help.

Rewind

The Rewind operation essentially reverses all edits working backwards from the most recent back to (and including) the selected edit. Its end result is to restore the item to the state that it was in before the selected edit occurred.

For further information on rewinding edit histories please refer to the Rewind Change History section of our online help.

Results

Further Change History will be generated to show what changes were either reversed or rewound. The example below has seven change history entries. For simplicity each only modified one attribute of the item. Selecting the third entry and then either reverse or rewind will produce the two illustrated results.

Showing the different results for reversing or rewinding
Reverse or Rewind

We hope we have covered all the information that is needed to help you on your way to understanding reverse/rewind. Any more help can be found on our help page.

Article Updated 04/02/2019 –  Updated to say data will not be lost just changed to a state they were previously

Discussions in Cradle

What is a Discussion?

A discussion is a hierarchy of comments for an item. The discussions in Cradle concept is similar to email threads:

  • Every item can have arbitrarily many, arbitrarily large, discussions
  • Each discussion has a hierarchy of 1 or more comments
  • Each discussion can have a decision

People can contribute to a discussion.

The discussions mechanism is very powerful. We suggest it can be used:

  • To record discussions as part of formulating requirements and other items in the database
  • As a change proposal system
  • As an informal CM system

Contents of a Discussion

A discussion contains:

  1. A decision – this applies to the entire discussion  containing a status with a value of Open, Agreed, Rejected or Suspended, a reason which is a short summary of why the decision was reached, the Cradle username of the person who recorded the decision and the date and time that the decision was made
  2. A hierarchy of comments, each comment containing a subject, a block of text that constitutes the comment, the Cradle username of the person who created the comment and the date and time that the comment was created

Creating Discussions

When created your new discussion, its decision is set to Open. You can respond to a comment by adding a new comment that is then attached to the existing comment. The same user or another user could respond to either of these comments. Therefore creating a hierarchy of comments.

Please note that comments cannot be changed once committed.

Discussions dialog showing multiple comments
Discussions Dialog in WorkBench

Querying and Reporting on Discussions

Discussions can be reported and included in documents. You can also search the database for items based on their discussions, for example:

  • Discussions where you have made a comment
  • Discussions where comments have been made in the past week
  • Where you need to make a decision on a discussion

For further information on discussions in Cradle’s WorkBench click here. If you would like to see how to work with discussions in Web Access click here.

Update frame types in your projects

Want to update your existing frame types?

Do you want to update your existing frame types which were originally supplied by 3SL or add any newly supplied frame types from 3SL, to your project?

Has your project been running for a long time, if so does your project support the latest types of files used by third party programs for example Microsoft®’s .vxdx extension files. No need to worry, 3SL supply a range of popular frame types and give you the option to easily update your existing projects to include these.

In project setup under frames types there is an update button which when clicked will bring up a “Update Frame Types” dialog that shows:

  1. All supplied frame types
  2. Whether the frame type already exists in your project
Update frames types dialog
Update frames types dialog

If you click OK the frames which are missing will be added to your project schema but your existing frames will remain untouched.

You also have the option to tick the “Overwrite existing frame types” which, as well as adding the missing frames, will update all the existing frame types with the latest settings supplied by 3SL.

For further information on frame types please refer to the Cradle online help.

 

Data Analysis – Simple View Summary

Simple Data Analysis Using View Summary Metrics

Did you know you can perform basic summary metric calculations without having a metric licence in Cradle?

Setting up a view summary metric
View Summary Metric

We all run queries to produce lists of data that match certain criteria.

In the example shown it would be possible to run the query to return only water constituents with the Group set to Harmful. Whilst this would produce useful results,  it may be more important that other items are showing too, so they can be seen in context. By setting a View Summary Metric Operation of count and Action of = with a Value of ‘Harmful’ it is possible to see a simple count of the constituents grouped as ‘Harmful’ in the sidebar.

Read our help for more information about simple Summary Metrics.