Modifying CMDB classes and synchronizing the data with ITSM applications


When the data model in CMDB is modified, the administrator of the BMC Helix ITSM applications that consume CMDB data, must update the application with the changes in the CMDB data model.

The data model might be modified by creating a new class or an attribute to suit the business needs. These changes are updated in the BMC Helix ITSM application by using Sync Asset UI with CMDB.

Overview of CMDB classes and BMC Helix ITSM application forms

When a new class is created in CMDB, the form layout of the superclass is inherited by the new class. The forms for the CDM classes use panel fields and custom tabs to organize all the attributes, instead of placing all the attributes in the same column or tab. For example, a custom class CBR.CSTM:SubAccount is created under BMC_Account class. By default, the new class uses the form layout of the BMC_Account class. The layout for the new class is modified, as required. The following image shows the new class that uses the form layout of the superclass:

new class frm layout.png

For CMDB forms and extensions, a built-in algorithm in the CMDB organizes the attributes and provides a default layout.

For BMC Helix ITSM applications, the algorithm in SyncUI utility defines the default layout for the application forms.
For example, Asset Management has its own form for a Computer System class. The SyncUI utility updates the Asset Management form to reflect any changes made to the CMDB BMC_ComputerSystem class.

When a custom tab runs out of space to hold more attributes, CMDB and the utility create additional custom tabs as per the algorithm.

For CMDB forms, the maximum number of custom tabs is 20, and the custom tab is visible by default when you add a new attribute.

For Asset Management forms, the maximum number of custom tabs is 50, and the custom tab is hidden. If you change the visibility, the visibility rules are reset to default in the next data model change.

Modification of the form layout

When a Configuration Manager creates a new class or an attribute in the data model, the attribute is added to the custom tab in the AR System form. 
Attributes represented by AR System core fields are placed in a single column at the top of the view, and attributes that you create are placed in the panel fields below the single column.

When you modify the view of a form, the new view becomes the default view for the subclasses.

Warning

Do not modify the ObjectStoreView view (ID 399999100) of the class form for any class in the BMC.CORE or BMC.CORE.CONFIG namespaces. Your changes could be overwritten by future releases of patches to the BMC Helix CMDB. Instead, copy ObjectStoreView to a new view for that form and modify the new view. There is no risk when you modify the ObjectStoreView view of class forms in other namespaces.

When you create a new attribute for a class, it is added to the AR System's view as a field by using the following algorithm:

  1. The attribute or a field is placed in the panel field or custom tab named Custom0, immediately following the last existing field on the page. 
    If this panel field does not exist, it is created on the page holder field that has field ID 300025400. If no page holder field with this ID exists, the panel field cannot be created.
  2. If there is no space on the Custom0 page for the new field, a Custom1 page is created and the field is placed at the top. 
    This automatic creation of panel fields can continue up to a maximum of 50 panel fields or custom tabs.
  3. If 50 panel fields are full and a page holder with field ID 300025400 does not exist, fields are stacked in the upper left corner of the view. 
    Stacked fields might be obscured by each other.

Panel fields created by this process are placed in the upper left corner of the view and are hidden, by default. To enable users to see the new attributes, move the attributes out of the panel fields or make the hidden fields visible. If you want to re-arrange the attributes and modify the form view, you must access the Developer Studio, and make the changes in the base-development mode.

For information about modifying the form views in Developer Studio, see Defining and managing form views.

If you create a new class that has no superclass, the form is arranged according to the default view template. The following image shows the default view template for new base classes:

default view template.png

To update the AST forms with data model changes

Syncasset UI.png

  1. Log in to the server where BMC Helix CMDB and BMC Helix ITSM are installed.
  2. Open the AR System Administration Console.
  3. Select Administration Console > Application Administration Console.
  4. Click Custom Configuration.
  5. From Application Settings, select Asset Management.
  6. From Advanced options select Sync Asset UI with CMDB, and then click Open.
    The SHR:SchemaNames form opens in Search mode.
  7. In Schema Name, enter the form name which you want to update and click Search.
    For example, if the BMC_ComputerSytem class is modified and you want to update the Computer System form in Asset Management, you must enter AST:ComputerSystem.
    search Sync UI form.png
  8. Select the required form, and click Update Asset UI to save the changes.
    Search results Sync UI.png
    CMDB generates a new version of the form that you selected.

To configure form generation for another application

If you have developed an application that uses its own forms as an interface for BMC Helix CMDB data, BMC Helix CMDB can update those forms with any changes made to the data model. CMDB updates the custom application by generating a new form for every modified class. You must set the configurations in the form generation utility in advance to specify how you want the forms to be created. After modifying the data model, launch the form generation utility as described in the following steps:

  1. Open Developer Studio and create a companion form for each class that is modified in the data model.
    The form must have the following character fields with a maximum input length of 80 characters:

    Important

    If you do not specify a primary join form or secondary join form, the form generated is a self-join of the CMDB form as both the primary and secondary join forms. Unless you have other data you want to display with CMDB data, leave the Primary Join Form and Secondary Join Form fields blank.

  2. Open an Application Pending form. 
    On a new tab in the browser, enter the URL with the form name: http://<arServer>:<port>/arsys/forms/<arServer>/<FormName>
    For example, http://lon-vm-abc:1010/arsys/forms/lon-vm-abc/Application Pending
  3. In the Application Pending form, enter the following information:
    • CategoryCMDB
    • CommandSync-UI
    • Other Short

      -f -g -c -C -R -p -s -D

      The [confluence_table-plus] macro is a standalone macro and it cannot be used inline. Click on this message for details.
      launch form generation.png

      If you have started any synchronization process with the changes made to the data model, wait till the synchronization process is complete. If any classes do not complete synchronization, the form generation utility stops with an error.

The CMDBSynchronizeUI.log file is generated in ARSystem/ARServer/db folder. View the log file to track the status of the synchronization. 

The CMDBSynchronizeUI.log file saves the following information:

  • Errors and Warnings for Active Link, Filter, Escalation associations and missing Attributes or Classes.
  • If the line Synchronization completion status is missing from the last line of the log, then the synchronization has not yet completed.

Tip

You can use a workflow to create the Application Pending entries, but make sure there are no classes with errors.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*