CMDB Workshop User Guide


This user guide describes CMDB Workshop version 2.0 and later.

Installing CMDB Workshop

If you download the zip file version then there is no install process. Just unzip the file and start to run. Otherwise follow the instruction of the installer.

System Requirements

CMDB Workshop is written in 100% Java. The memory requirement depends on the size of CMDB data you are viewing and editing.


CMDB Analyzer uses CMDB SDK version 2.0.

More Information

If you need more information, please contact, or go to BlueLine Graphics, Inc. web site


Getting to Know CMDB Workshop

The following diagram describes function areas in CMDB Workshop main window:

  1. Project Panel - Organize projects and views
  2. Tools Panel - CI and relationship instance creation tools
  3. Dataset View - Edit CI and relationship instance graph
  4. Attribute Edit Panel - View and edit CI and relationship instance attributes


Working with Projects

A CMDB Workshop project is a folder in file system that contains views.  There are different types of views:

  • CDM View - displays CMDB CDM (Common Data Model) class hierarchy and properties.
  • Dataset View - to edit CIs and relationships for a dataset
  • Instance Filter View - to filter Cls and relationships retrieved from server

There are two types of CMDB Workshop project you can create:

  • Off-line Project (Without server connection)

    Off-line project works without a connection to CMDB server. To create an off-line project you need to supply a CMDB class definition file and a UI component file which provides image data for CMDB classes. Both files can be exported from a on-line project, or you can use CMDB utilities to export these files.

    Dataset views in off-line project can't publish instances directly to CMDB server. To publish instances in a off-line project, you first export instances to a file and then create a on-line project to import the instances.


  • On-line Project (With server connection)

    To create a on-line project you need to have a CMDB administrator account.

    A on-line project saves class definitions and UI data automatically when a connection is established for the first time, which allows you to continue to work on your dataset view even the network is down or the server is not available.

     A on-line project only needs to communicate with CMDB server when the following actions are performed:

    • CDM View is opened for the first time
    • A instance filter is run for the first time
    • A new dataset view is created
    • A project is refreshed
    • Instance chances are committed to CMDB server

Notes: Instances creation tools are only available after the current active project has retrieved the class definition information. For on-line project it means that it has made the first successful connection to the server.

Remove Project

Right-mouse click on the project and then select "Remove" to remove the project from the project panel. The project folder and all its content are not deleted from the file system. You can later open the project again using "Open Project" option.

Tip: To change project settings after a project has been created, right-mouse click on a project in Project Panel and then select "Preference...".


Working with Dataset Views

A dataset view is where you look and edit CI and relationship instances. If the view belongs to a on-line project, you can also commit instances changes.

View Dataset ID

Each dataset view is assigned a dataset ID for identity purpose. For views belong to a on-line project, the dataset ID is used to identify the server dataset where you are going to commit instance changes. When a new instance is created, its dataset ID attribute value is set to the view dataset ID. You can change view dataset ID by selecting "Change Dataset ID" menu option.

Notes: When you are editing instances, no changes are committed to CMDB server until you commit the changes explicitly.

Common Editing Tasks

  • Create CI instances

  • See section Working with Instance Creation Tools
  • Change instance attributes

  • See section Editing Instance Attributes
  • Copy/Paste/Delete instances

  • Mark To Delete From Server
    To delete instances from server, mark them first and then commit to server.
     See section Committing Instance Changes
  • Undo/Redo

  • Only tasks that involve instance creation and deleting are undoable.
  • Save

  • Save instances to a file.
  • Clear View

  • Delete all instances
  • Commit changes

  • See section Committing Instance Changes
  • Refresh instance attributes

  • When dataset view instance attributes are refreshed, their values are overridden by attributes retrieved from server dataset. You can refresh one instance, or refresh the selected instances, or refresh all instances in dataset view.
  • Import Data
    See Importing Instance Data
  • Export Data
    See Exporting Data

Instance Selection

  • Mouse click on a instance to select it
  • Mouse click with control key on instances to select multiple instances
  • Mouse press on empty space and dragging a rectangle to select all instances in the rectangle area
  • Right-mouse click on a CI instance to select downstream or upstream subgraph

Notes: The difference of importing instances vs. pasting instances is that imported instances keep their original instance IDs while pasting assigns new instance IDs for created instances.


Working with Instance Creation Tools

You use instance creation tools to create CI instances and relationships. 

Notes: Instance creation tools are tied to the current active project. When a dataset view window is activated, the project associated with the view is the current active project, thus the contents in the instance creation tools are updated accordingly.

Using CI Class Tool

Mouse click on a class and then click in a dataset view to create an CI instance in the dataset view. You can organize CDM classes in a hierarchical tree or in a sortable flat table.

Using Relationship Tool

Mouse click on a relationship class and then click a CI instance in the dataset view to initiate the creation of a relationship. Click on another CI instance builds a new relationship from source instance to destination instance. CMDB relationships have cardinality constrains and source-destination class type constrains. Those constrains are validated before the new relationship is created.

Using CI Map Tool

Mouse click on an entry in the CI Map table and then click in a dataset view to create an CI instance. The new instance has pre-fined attribute fields.

Using Template Tool

Mouse click on a template and then click in a dataset view to create a group of instances and relationships defined by the template. See section Working with Templates for more detail.


Working with Templates

A template is a pre-defined group of CI instances and relationships that models a particular system. For example, a "computer system" that includes both hardware and software components, a "oracle database", a "virtual system" and a "business system". Templates enable you to raptly build accurate CI instances and relationships. You can also create a graph and export it as a template by selecting "Export As Template" menu in dataset view toolbar. To delete a template, select the template and click the "Delete Template" button in the template toolbar.


Editing Instance Attributes

Click a CI or relationship instance and all its attributes are listed in the Attribute Edit Panel.

Not all attributes are editable. System attributes, display-only attributes, hidden attributes are those that cannot be edited and are grayed out in the Attribute Edit Panel. Attributes such as instancesId, reconciliationId, classId, datasetId are maintained by the application or have internal constraint and thus are not allowed to edit directly. These attribute entries are not grayed out in the Attribute Edit Panel but still can be edited. To edit an attribute, click the table cell in "Attribute Value" column.


Rewiring Relationships

The action of reconnecting (to different CI instances) one or both end points of a relationship is called "Rewiring". To rewire a relationship, you right-mouse click on it and select either "Rewire Outbound" or "Rewire Inbound" menu option. "Rewire Outbound" allows you to break the outbound connection and pick a new outbound instance. "Rewire Inbound" allows you to change inbound instance. Relationship end point class type constraint and cardinality constraint are verified again when the relationship is reconnected.


Importing Instance Data

Importing From XML Instance File

You can import instance data from a xml instance file. Xml instance file can be generated by:

  • Exporting from a dataset view
  • Using CMDB Analyzer application
  • Using the cmdbdriver utility which comes with your CMDB installation
  • Editing by hand

Importing From CSV File

You can also import instance data from CSV file.

Steps to import instance data from CSV file:

Step One - Open CSV file to load data.

Step Two - If the CSV file contains instances that belong to different classes, use "Split" button to separate instances into different tables according to classes.

Step Three - Select the class that instances belong to.

Step Four - Map columns to the class attribute fields, or you can apply a saved mapping template.

Step Five - Click "Validate" button to validate the data in the mapped column.

Step Six - Click "Import" button to import the instances in the table. If there are multiple tables, always import CI instances first then import Relationship instances.

Importing From Server Dataset (On-line project only)

To import instance data from a dataset, specify the dataset name and select an instance filter (the default filter will retrieve all instances in the dataset). The dataset id attribute in the imported instances will be reset to the dataset id of the current view.


Exporting Data

You can export instance data to a xml file. You can also export class definitions and class UI definitions. You can export the dataset view to a gif image file.


Committing Instance Changes

Committing instance changes is only available for on-line project.

You select "Commit" menu in the dataset view to commit instance changes.

Tips: Committing frequently on a small number of changes is a good practice over committing a large number of instance changes at last minute. Keeping the overall instance numbers as small as possible to improve the performance.

Tips: Use instance filter or other ways to keep the overall instance number in a dataset view as small as possible to improve clarity and increase performance.

You need to go though the following steps to commit instance changes.

Step One - Setting options for detecting instance changes

Dataset view can detect four types of instance changes by comparing instances in the dataset view with instances in the server dataset. Each instance change type associates with an action which will do the work to commit the change.

What Changed: new instances are detected by comparing instance id
Commit Action Name: Create
What Committed: new instances are added to server dataset

What Changed: instances are marked deleted in dataset view and their ids are found in server dataset
Commit Action Name: Delete
What Committed: instances are deleted from server dataset

What Changed: instance attributes are different
Commit Action Name: Update
What Committed: instances attributes are updated

What Changed: instances have different relationships
Commit Action Name: Rewire
What Committed: relationships are deleted and created again (with new instance id and either source instance or destination instance is updated)

You have options to disable one or more change detections in the Commit dialog.

Tips: If you are sure there is no attribute changes or rewiring (rewiring detection is done by detecting attribute change), you can turn off attribute detection because it is a time-consuming task especially if you have a large number of instances to detect. Even if there are attribute changes you could commit Create and Delete first by turning off attribute detection and commit Update and Rewire later.

Step Two - Detecting instance changes (Scan)

The screenshot below shows the result of instance change scanning:

Step Three - Commit changes

The commit status column in Detail table will be updated as well as the Succeed and Failed column in Summary table to give you a clear picture of what actions succeed and what actions have failed. You can also click the action entry to highlight the correspond instance in the dataset view.

Tips: Use another dataset view to verify the changes you just committed.