Enabling extension of application definitions
You can develop applications on BMC Helix Platform that are customizable, non-customizable, or extendable. You can create extendable applications so that developers can leverage the out-of-the-box application definitions to make additive changes in the definitions such as adding new fields.
Extendable applications ensure that the out-of-the-box definitions remain unchanged so that the customizations are not lost when your application or server is upgraded. You can easily move the customizations to other environments by creating install packages and deploying the install packages to other environments.
To enable extension in a view definition
Add the Extension Container component to the out-of-the-box view definition. You can add multiple Extension Containers to a view defintiion.
- Log in to BMC Helix Innovation Studio and navigate to the Workspace tab.
- Select an application in which you want to extend a view.
Example: Lunch order application
- Click the Views tab, and select the view that you want to extend.
Example: Restaurant Information Create view
- Select the Record Editor component on the canvas.
- From the Palette, drag the Extension Container component inside the Record Editor component on the canvas.
The Extension Container component cannot be used with components other than the Record Editor component.
- Click the element properties tab .
- In the Name field, provide a meaningful name that describes the fields that will be displayed in this container.
Example: Add restaurant details
- Click Save.
You must repeat this procedure for all view definitions that you want to enable for extension.
How extendable application definitions are used
After you enable extension in a view definition, developers can leverage the out-of-the-box definitions to make additional changes by creating the following definitions:
- Extension record definition—A regular record definition with new fields that you want to add to the record definitions and view definitions that are being extended.
Example: Additional Restaurant Information record definition with new fields
- Extension association definition—A direct association between the record definition that is being extended and the extension record definition.
Example: Association between Restaurant Information definition (that is being extended) and Additional Restaurant Information (extension record definition)
- Extension view definition—A view definition that displays both the fields in the view that is being extended and the extension record definition.
Example: Additional Restautrant Information Create to include fields from Restaurant Information and Additional Restaurant Information
For more information about how applications can be extended, see the example of extending Foundation definitions.