Extending BMC Helix Platform Foundation definitions
Developers can extend the Foundation data application definitions, such as record, view, and association so that you add or remove objects in the definitions. When you load custom Foundation data from Remedy ITSM, you must extend the Foundation definitions in BMC Helix Platform to include the custom Foundation data fields in Remedy ITSM. For more information about identifying custom fields, see . If you do not need to load custom Foundation data from Remedy ITSM, go to the next step in the workflow of loading Foundation data from Remedy ITSM.
You can extend the Person record definition in the Foundation library to add custom fields such as Passport number and Passport expiry date. After you extend the definitions, you can create processes and rules to manage the data stored in the newly-added objects. You can also move the extension definitions to other environments by creating install packages and deploying the install packages to other environments.
By default, the BMC Helix Platform Foundation definitions are enabled for extension. For all other applications, you must create extendable definitions before you can extend them.
For example, you can extend the Person record definition in the Foundation library to add new fields such as Passport number and Passport expiry date.
You cannot extend the join and audit type of record definitions.
Before you begin
- Ensure that you have permission to access the Foundation library and the custom application, so that the record definitions and views can be created. For more information, see Roles and permissions.
- If you are extending definitions other than the Foundation definitions, ensure that you have enabled extension of application definitions.
- If you are loading custom Foundation data from Remedy ITSM, ensure that you have imported predefined Pentaho jobs.
Process for extending application definitions
You can follow the same workflow to extend definitions in all other applications.
Create an extension record definition.
A extension record definition contains the new fields that you want to add to the record definitions that is being extended.
|To create an extension record definition|
|2||Create an extension association definition between the extension record definitions and the record definition in Foundation library.||To create an extension association|
Create an extension view definition that you want to use to extend the record definition in the Foundation library.
|To create an extension view|
To create an extension record definition
In your custom application, you can create a regular record and specify all the additional fields that you require. For example, you create a Passport information record and add Passport Number field, so that you can include passport number for all employees in your organization. For the steps to create an extension record definition, see Creating or modifying regular record definitions.
Consider the following points when you create an extension record definition:
- The extension record definition with additional fields can be associated with only one record definition. To avoid errors, you must add a new extension definition for each association with the record definition in the Foundation library.
- The Description field is an out-of-the-box core field. This is a required field that is added to your record definition. If it doesn't have a default value, the record definition cannot be saved, and an error Missing required field is displayed. If you do not want to display this field in the application, select the Description field and in the Settings tab, in the Default Value field, enter any value.
To create an extension association
You must create a direct association between the extension record definition and the record definition that is locked for customization. For example, you can create a direct association between the Passport Information record definition and the Employee record definition.
If you are creating new association (of type one-to-one or one-to-many), use the newly-created extension record definition (for example, Person extension record definition) instead of the out-of-the-box Foundation record definition (for example, Person record definition) form. Additionally, the newly-created extension record definition must always be set as node B.
For more information about record associations, see Creating record associations.
Log in to BMC Helix Innovation Studio, and navigate to the Workspace tab.
Select the application where you created the extension record definition.
- Select Associations > New.
Specify the properties for the association.
The descriptions of some of the fields are explained in the following table:
First Record Select the out-of-the-box record definition as the node A of the association. Example: Person Cardinality Select the cardinality as Has One to create a direct association. Second Record Select the newly-created regular record definition as the node B of the association. Example: Passport Information Role of First Record Provide a description in the context of the association. Example: The role of first record (node A) can be Person. Role of Second Record
Provide a description in the context of the association.
Example: The role of second record (node B) can be PassportInfo.
Note: To ensure that the Foundation data load is completed successfully, BMC recommends that you specify the role for first record and second record. The roles ensure that the foreign key field, that is automatically added to an extension form, is identified during Foundation data load.
Select all the following constraints:
- If record is deleted, automatically delete all associated records
- Require a record to be associated in order to create a new record
Scope/Customization Options The default value is Private. Do not change this value.
The following image is an example of creating a direct association between Person Foundation record definition and Passport Information record definition:
To create an extension view definition
Create an extension view for the regular record definition.
Log in to BMC Helix Innovation Studio.
- From the Workspace tab, navigate to the application where you created the new record definition.
- Select View > New > Container.
- On the Properties tab, in Name, provide a name for the view.
Select the newly created record definition, association, and custom fields.
UI element Description Name Provide a unique name for the record editor. Label Provide the label to be displayed in the application.
Note: If you do not provide a label, then the bundle name is displayed in the application.
Record Definition Name The record definition is auto-populated in the field based on the view you extended, allowing you to select the existing custom and out-of-the-box fields from the same record definition. Association to Use If there is only one association, the name of the association is auto-populated. If there are multiple associations, select the association that you created earlier. Example: Employee to Passport Information Mode The mode of the record editor is automatically set to match the mode of the record editor in the Foundation view.
- Create: Enables users to create records.
- Edit: Enables users to edit the existing records.
Important: If you select a mode that is different from the parent Foundation view's mode, the extension view is not displayed in the application.
Form Contents To include specific record fields to appear in the view, click Quick Add/Remove fields and select the custom fields that you require. (Optional) Click to build an expression In the Expression Editor, build an expression on the fields in the record editor if you want to hide or display these fields when specific conditions are met. You can also specify to disable the expression when the parent person status is offline. For information about how to build expressions in view definitions, see Creating or modifying view definitions.
The following image shows an example of an Employee Foundation view at run time, which includes the newly-added Passport Number field:
Where to go from here
Next task Reference
If you want to load custom Foundation data in Remedy ITSM and load the Foundation data in BMC Helix Platform.
Creating a Pentaho job to load custom Foundation data If you are an application business analyst or a developer, create processes and rules to manage the data stored in the newly-added fields. If you are an administrator or a developer, transfer the Foundation data customization to other environments by creating install packages and deploying them to other environments. If you are an application business analyst or a developer, troubleshoot issues that you encountered while customizing or extending Foundation data. Troubleshooting Foundation data issues