This documentation supports the 19.02 version of BMC Atrium Core.

To view the latest version, select the version from the Product version menu.

Creating or modifying classes by using Class Manager

The Common Data Model (CDM) that is shipped with the BMC CMDB may require modifications for your specific business requirements. In such a scenario, you can define properties for Configuration Items (CI) and relationship classes by using Class Manager. The properties of a class define the class and how it stores data.


The following overview diagram shows the steps required to add a new class to the data model


Component | ConsoleUserActionReference
BMC CMDB class managerCMDB AdministratorDefine the properties of the class, including its type, how it stores data, and (for relationship classes) the relationship type.Defining class properties in Class Manager
(Optional) Specify permissions. If you do not specify permissions for a class, BMC CMDB assigns default permissions.Setting class permissions in Class Manager
Define one or more CI and relationship class attributes.Creating CI and relationship class attributes
(Optional) Propagate attributes in a weak relationship. This step is necessary only if you have created a relationship class that has a weak relationship in which the attributes from one class should be propagated to another class. Propagating attributes for weak relationships
(Optional) Specify indexes. Indexing can reduce database query time, so index attributes that you expect users to use in queries frequently.Specifying class indexes
(Optional) Configure instance auditing for the class. Auditing enables you to track the changes made to instances of a class.Configuring auditing for a class

Before you begin

  • You must have appropriate permissions to be able to view and edit classes. 
  • Before creating an attribute for a CI class, determine whether you want to store configuration data or lifecycle data for the CI in the new attribute. You must create a new attribute to store only configuration data for the CI. To store lifecycle data for the CI, you must add a field on the BMC Remedy ITSM Foundational form, AST:Attributes.
  • To propagate attributes for weak relationships, make sure that you have:
    • A relationship class that will connect two CI classes.
    • An attribute in the destination class for each attribute that will be propagated from the source class.
  • To specify indexes, ensure you have BMC Remedy Developer Studio installed. For more information, see  BMC Remedy Developer Studio Open link .

For more information about class and relationship properties, see Common CI and relationship class properties.

To create new classes by using Class Manager

Define a new class and the properties of the class, which include its type, how it stores data, and (for relationship classes) the relationship type.

  1. In Class Manager, browse the data model in the navigation pane.
  2. In the data model, select the class that will be the parent class to the class that you intend to define.
  3. On the toolbar, select either New CI Class or New Relationship Class.
  4. In the Properties section of the General tab, enter the information as described in the following table.

    Note

    You cannot modify the Data Storage Method, Final, and Singleton fields after you have saved a class.

  5. (Optional) In the Additional Information section of the More Information tab, enter a description of the class in the Description field.
  6. (Optional) If the class is a relationship class, define relationship type properties as described in Common class attributes you can define in the Class Manager.
  7. Perform one of the following actions:

Action

Steps

You want to provide additional information for the class

Continue with the process described in Process overview for creating or modifying classes.

You have finished working with this class

  1. Click OK.
  2. In the confirmation dialog box, click OK.

Best practice

Whenever you extend the data model, use your own namespace instead of BMC.CORE. This prevents your extensions from being overwritten by new classes when you upgrade to a future version of the CDM.

Never modify the core CDM class attributes because upgrades across versions overwrite these customizations. Modifications to the CDM, such as changing the attribute field length in a class are not preserved during upgrades.

On the other hand, a new class or an extended class with additional attributes is not overwritten during an upgrade. Creating or extending a class may have a huge business impact and you must perform these modifications only after careful planning.

To set permissions to view and modify classes

 Class and attribute permissions determine which users, according to their groups and roles, can view and modify classes and attributes.

  1. In Class Manager, open a class for editing.
  2. On the General tab, open the Permissions section.
  3. In the Hidden Permissions list, select one or more groups and roles to which you want to provide access.
    These groups or roles are not visible in the list of classes.
  4. In the Visible Permissions list, select one or more groups and roles to which you want to provide access.
    These groups or roles are visible in the list of classes.
    If you do not specify permissions, BMC CMDB assigns default permissions.
  5. Perform one of the following actions:

Action

Steps

You want to provide additional information for the class

Continue with the process described in Process overview for creating or modifying classes.

You have finished working with this class

  1. Click OK.
  2. In the confirmation dialog box, click OK.

Default visible permissions

If you do not set permissions in Class Manager, BMC CMDB automatically assigns the following default visible permissions:

  • CMDB Data Change
  • CMDB Data Change All
  • CMDB Data View
  • CMDB Data View All

For more information about BMC CMDB permissions, see Groups installed with BMC CMDB.

To create CI and relationship attributes

Notes

  • Version 8.0 of BMC Remedy IT Service Management moved the CI lifecycle data out of BMC Configuration Management Database (BMC CMDB) and included the data as fields in the BMC Remedy ITSM Foundational form, AST:Attributes. For detailed information about the changes, see Changes to the BMC CMDB for BMC Remedy ITSM.
  • When you use Class Manager to create a new class, a delay of up to five minutes might occur before a user can start creating instances of that class in Atrium Explorer. This delay happens only rarely, typically in test environments, and is caused by how admin cache memory works in the BMC Remedy AR System when you create objects from a new form. In general, BMC Atrium Core users do not experience delays in a production environment.

The Attributes tab of the CI Class and Relationship Class dialog boxes helps you manage the attributes of a class.

  1. In Class Manager, open a class for editing.
  2. In the CI Class or Relationship Class dialog box, click the Attributes tab.
  3.  On the Attributes tab, click New.
  4. In the Attribute dialog box, specify the values for the common fields, as listed in the following table.
  5.  Enter information for the optional fields specific to your selection for the Data Type field, as listed in the following table.
  6. (optional)  In the Permissions section, select the groups and roles that can view and modify the attribute.
    If you do not specify permissions, BMC CMDB assigns the following permissions:

    View permissions

    Change permissions

    • CMDB Data View
    • CMDB Data View All
    • CMDB Write Security
    • CMDB Data Change
    • CMDB Data Change All
  7. To add more attributes, repeat step 3 through step 6.
  8. Click OK to close the Attribute dialog box.
  9. Perform one of the following actions:

Action

Steps

You want to provide additional information for the class

Continue with the process described in Process overview for creating or modifying classes.

You have finished working with this class

  1. Click OK.
  2. In the confirmation dialog box, click OK.

To propagate attributes for weak relationships

You can map attributes between members of a weak relationship. The value of a mapped attribute of the source class is copied, or propagated, to the corresponding attribute of the destination class. This enables you to find information about a source CI while viewing a destination CI.

  1. In Class Manager, open the relationship class for editing.
  2. In the Relationship Type section of the Relationship Class dialog box, select the Weak Reference check box.
  3. Click Propagated Attributes.
  4.  In the Class 1 table of the Weak Reference Propagated Attributes dialog box, select a source attribute to propagate.
  5. In the Class 2 table, select a destination attribute.
  6.  Click Map Relationship.
  7. Repeat step 5 through step 7 for each attribute you want to propagate.
  8. Review the mapped attributes in the mapped relationship table.
  9. Click OK to save the mappings.
  10. Perform one of the following actions:

Action

Steps

You want to provide additional information for the class

Continue with the process described in Process overview for creating or modifying classes.

You have finished working with this class

  1. Click OK.
  2. In the confirmation dialog box, click OK.

Best practice

Before you propagate attributes for weak relationships, make sure that you have:

  • A relationship class that connects two CI classes.
  • An attribute in the destination class for each attribute that is propagated from the source class.


To propagate a source attribute, you must map it to an existing attribute in the destination class. Create new attributes in the destination class for this purpose, instead of mapping to an attribute provided by the Common Data Model (CDM). Doing so allows CDM attributes to serve their intended purpose and prevents you from accidentally overwriting propagated source CI values.

Mapped attributes in a weak relationship

The attribute that you propagate to in the destination class must be the same data type as the attribute in the source class, and it cannot be inherited from a superclass. When you set up propagation, the limit characteristics of the destination attribute are modified to match those of the source attribute. For example, if you propagate an integer attribute that has a Min value of 3 in the source side to a destination attribute with a Min value of 1, the Min value of the destination attribute changes to 3.


To create a custom class index


BMC CMDB has out-of-the-box system indexes that are meant to reduce query time of searches for CIs. Based on your business requirements, to further reduce database query time used to identify CIs, you can create custom indexes by using Class Manager. You must index attributes that you expect users to query frequently, are used by discovery applications to identify Configuration Items (CIs), and are used in reconciliation identification rules. For more information about identification rules, see Creating an identification ruleset for reconciliation.

Best practice

Specifying or modifying indexes in a class that already holds a large number of instances can take a significant amount of time and disk space. Therefore, avoid creating indexes during normal production hours. For more information about BMC Remedy AR System indexes, see  Defining indexes Open link .

Note

The following steps are for creating and editing custom indexes only. To edit or add missing system indexes, see Troubleshooting performance issues caused by missing CMDB indexes.

  1. In Class Manager, open a class for editing.
  2. In the General tab of the CI Class or Relationship Class dialog box, expand the Indexes section.
  3.  Click New.
  4. In the Name field of the Index dialog box, enter a name for the new index.
  5. Add at least one field to the index:
    1. Select one or more fields in the Fields on Form table. If you want to select multiple fields for a composite index, press the Ctrl key as you select fields.
    2. Click Add.
  6. (Optional) Specify indexing characteristics for the fields in the index:
    1. In the Fields in Index table, select a field.
    2. If all values for the field must be unique, click the Unique check box.
    3. If the index is the primary key for the class, click the Primary Key check box.
    4. Repeat step a through step c for the other fields in the Fields in Index table.
  7. In the Index dialog box, click OK.
  8. Repeat step 3 through step 7 for other indexes you want to create for this class.
  9. Perform one of the following actions:

Action

Steps

You want to provide additional information for the class

Continue with the process described in Process overview for creating or modifying classes.

You have finished working with this class

  1. Click OK.
  2. In the confirmation dialog box, click OK.

  • If you create an index for a Character attribute, you can save query time by setting the QBE Match characteristic of that field to Leading or Equal instead of Anywhere.
  • Use the Indexes section on the General tab of the CI Class and Relationship Class dialog boxes to specify the indexes for a class. You can specify indexes in non-inherited attributes only. If an attribute is inherited from a superclass, you must specify the index for that attribute in the superclass. Display-only attributes cannot be indexed, because no values are stored for them.
  • To combine multiple attributes into a composite index, specify as many as 16 attributes per composite index. The sum of all attribute lengths in a single index must be fewer than or equal to 255 bytes, so Diary attributes and Character attributes larger than 255 bytes cannot be indexed.

More time is required to modify a class (for example, adding new attributes) when indexes have been specified for it. The greater the number of indexes specified for the class, the more time and disk space are required. Specifying and modifying instances also takes longer for classes with many indexes.


To configure auditing for a class

  1. In Class Manager, right-click a class to open the class for editing.
  2. On the General tab of the CI Class dialog box, expand the Auditing section.
  3. In the Audit Type field, select Copy or Log.
  4. If you selected Log, enter the name of the log form in the Audit Log Form field, or accept the default form name, CMDB:DefaultAuditLog.
    This form stores log entries for this class. If the form that you specify does not exist, it is created automatically.
    If you selected Copy, each Remedy AR System form belonging to that class is duplicated to create audit forms. 
  5. In the Qualification field, type a qualification to specify which instances of the class are audited.
    For example, the following qualification specifies that only instances in the BMC.ASSET dataset are audited:
    'DatasetId' = "BMC.ASSET"
    If you want all instances to be audited when they are created and deleted and when a selected attribute is changed, leave this field blank.
  6. Click the Attributes tab.
  7.  Select an attribute that you want to be included in audits and click Edit.
  8. From the Audit Option menu, select an option for this attribute.
  9.  In the Attribute dialog box, click OK.
  10. Repeat step 7 through step 9 for each attribute that should be included in audits.
  11. In the Class dialog box, click OK.
  12. In the Confirmation dialog box, click OK.

For information about Audit types and options, see Auditing changes to CIs .

Related topics

Modification of your data model

Learning about the common data model

Example of how to create attributes using CMDB driver

Partitions and namespaces in the data model

Common class attributes you can define in Class Manager

Common CI and relationship class properties

Best practices for propagating attributes to weak relationships

Deleting failed entries that have a Change Pending state

Was this page helpful? Yes No Submitting... Thank you

Comments