Create a New Database Based upon a Previous Database

The Problem

I want to create a new database that is a copy of a pre-existing database minus the actual data.

Cradle Project Environment

The environment for the Cradle project will contain:

  • Project Setup
  • Supporting definition files (views, forms, queries, documents etc.)
  • Users*

*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:

  1. Log in to the existing project as MANAGER
  2. Select Project > Export
  3. In the Export dialog set Owner to  Everything and Info Type to Project Schema and User Profiles (if users are required, see comment above)

Screenshot showing export of project schema and user profiles

  1. Press Export to create the export file and close the Export Status dialog but do NOT close the Export Information dialog:Screenshot showing Export Status
  2. In the Export Information dialog, change the Info Type to ONLY show Definition Files:
    Screenshot showing Export Definition Files
  3. You will see that some new options appear – Definition Type and Location:
    Screenshot showing Info Type Definitions filter in Export
  4. 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:
    Screenshot showing Definition Types in Export
  5. 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

    Screenshot showing Location of definitions in Export

  6. Press the Export button again. This will present you with the option to Overwrite, Append or Cancel. Select Append:
    Screenshot showing Overwrite or Append
  7. In Project Manager, create your new project with an EMPTY schema:
    Screenshot showing Create New Empty Project
  8. Log into the new project as MANAGER
  9. Select Project > Import and set Owner to As in File and Overwrite to On:
    Screenshot showing Import Information
  10. 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.

Copying a User’s Role

Need to Create a New User Similar to the Last?

When setting up a new project it is very likely that you will have a number of users who need the same access and privileges. Copying a user’s role you have set up for one user to use as a template is the easiest way to do this.

  • Create the first user and set up all their privileges. Save this user.
  • Choose ‘Save Role…” to create a template from this current user
  • Use ‘New…‘ to create a new user and give them a unique name.
  • Use ‘Select Role… ‘ to choose the role saved in the previous steps, choose how much of the template you want to apply.
Saving and applying a copy of a user role
Copy a User Role

Read the help for further information on setting up users, and roles.

Can I See, Who is Using What and Where?

Report on Who and Where.

It is easy to see who, using what, where from the Users report in Project Manager.  This details the host system user name, their Cradle login name and the project they are connected to.

Why is there an Executing Client and Display Client shown?

These would show different values if your system is set to have the executable running on one machine with the UI redirected to another. For example a Windows® user may remotely log on to a Linux® machine, and start WorkBench, viewing the output on a Windows X terminal emulation.  The machine running the Cradle Database Server may be a third machine.

User report from Project Manager showing users and licences
User Report

Additional brief information detailing which module licences they currently have in use is also given. For full details on the licence usage users would run the Licence Usage report.

Control Users’ Sharing of Cradle Modules

Cradle is modular. Each module has a licence. Most of Cradle’s functionality is in the PDM (project data management) module which is free. Users can do 80% of their work for FREE. You can add new users at ZERO cost. You pay for the other modules’ licences. These licences are shared dynamically between all the logged-in users, moving to and from users as they work.

If your Cradle system allows many simultaneous users, you may want to restrict which users can use those features controlled by licences that cost money. For example, your Cradle system may allow 25 concurrent users, but you may only have 5 REQ licences. You want to share these 5 licences between 10 of the 25 people, which means that there are 25 – 10 = 15 people who should never be able to use a REQ licence.

Each user’s login account (called a ‘user profile’) contains a set of ‘Module Access Rights’. You can use these to optionally deny some users the ability to use any of the chargeable Cradle licences. Doing this ensures there are fewer concurrent users who can use these modules’ licences, so the licences are shared between fewer concurrent users, and so are more likely to be available to those users who need to use them.

Control Users Sharing of Cradle Modules
Control Users Sharing of Cradle Modules

To do this:

1. Start WorkBench and login to your database as a user with RW access to the user profiles whose access is to be changed. Typically this means to login as the leader of a team (user in the team who has TEAM_LEADER privilege) or a user with ACCESS_BYPASS privilege such as MANAGER.
2. Select ‘User Setup’ from the ‘Project’ tab
3. Choose the user profile to be changed from the drop-down list
4. Select ‘Privileges’ and ‘Module Access Rights’
5. Clear the checkboxes for those modules that this user is not to access
6. Save the modified user profile

Cradle will display an error message if a user tries to do anything that requires a module licence that they cannot use.

We hope that this is helpful!

User information


User information can be used to show such things as who has created an item, edited an item and when the item was created.

Chances are in a big project not every user will know all the other users on a project. If you need to know a bit more about who edited an item, you can hover over the changer for a tool-tip in a Cradle Form in WorkBench. This will show the additional information held for each of the users in the User Setup dialog.

To set User Profile details, this is done via “User Setup”  as you can see in the screenshot below showing the Description of the User and the Location of the user.


Screenshot showing User Setup dialog
User Setup

These details are then shown when hovering over the user in areas such as Forms to show when the user last modified this item.

user tooltip showing details
Show user information

When / What ?

There are many more fields that will give you additional information information, dates and times will show the full underlying UTC, categories will show their description,  go on have a hover and discover.

Article Updated 04/02/2019 – Added extra information

Contents of a Cradle database

Each Cradle database contains different sets of information. These can be imagined as layers, where each layer uses the data in the layers below it. For example, cross references cannot exist until the items exist whose relationships are shown by the cross reference. These layers are, highest to lowest:

1. Cross references – the links between the data
2. Items – the data
3. Definitions – how to find, view and report the data
4. User profiles – who can own and access the data
5. Schema – the structure of the data
Cradle database layers
You can export/import each layer individually, or in any combination, or all layers. You should only import a layer of information if the lower layers already exist in the database (unless you know that it is safe).

To initialise a new database from an existing database, you need as a minimum:

– The schema
– Definitions

User profiles are needed to use a database and may be needed for some parts of the schema (such as workflows and alerts) and definitions (user and personal scopes).

Switching Between Cradle Login Accounts

It is often the case that the accounts within a project have more than one role. For example an “engineer” role and a “team leader” role. Different privileges are needed for these roles, so it is possible that people will have more than one user account.  This could create a problem if the user repeatedly needs to logout and re-enter credentials for each of their accounts. If a user needs to repeatedly change user profiles, these steps can become very time consuming.

Instead, a user can use the ‘Switch’ option in the ‘User’ group in the ‘Home’ tab. A similar mechanism is available in Cradle custom web UIs.

Cradle presents a list of other user profiles that the user can ‘switch’ to. When the user chooses one of these user profiles, he/she is logged-out from the current login account and logged-in to the chosen login account, without any use of the Login dialog, with no need to enter the new user’s username, and with no need to enter the password for the new login account.

This mechanism can be used to allow any number of users can to switch between any number of users in the SAME database.

Switching Between Cradle Accounts
Switching Between Cradle Accounts