Extendable application definitions to allow additive changes
When you develop an application, you can decide whether you want to allow other developers to customize your application definitions such as record, view, and association. You can create definitions that can be customizable, non-customizable, or extendable.
- Customizable—Developers can use the customization layer to modify the out-of-the-box definitions in their application. For more information, see Customization layer.
- Not customizable—All definitions in the application are locked for customizations.
- Extendable—The out-of-the-box definitions are locked for customizations. However, developers can enable them for extension so that you can add or remove fields in the definitions. Developers can create the following extension definitions in an extendable application:
- Extension record definition—A regular record definition with fields that you want to add to the record definitions and view definitions that are not customizable.
- Extension view definition—A view definition that displays the fields added in the extension record definition and the fields in view that is not customizable (view that is being extended).
- Extension association definition—A direct association between the extension record definition and the record definition that is not customizable (record definition that is being extended).
Scenario: Enabling extension of definitions
As a developer, you want to create an extendable lunch order application on BMC Helix Platform so that the out-of-the-box record definitions and view definitions are not customizable, but can be extended to add or remove objects such as fields.
You create the following record definitions and view definitions in the lunch order application:
- Record Definitions—Restaurant Information and Order Information
- View Definitions—Restaurant Information Create, Restaurant Information Edit, Order Information Create, and Order Information Edit
To make these definitions extendable, you add the Extension Container view component in the view definitions.
BMC Helix Platform Foundation view definitions are enabled for extension out-of-the-box.
Scenario: Extending definitions to add or remove objects
Continuing with the earlier scenario, Calbro Services buys the lunch order application. As a developer of Calbro Services, you want to extend the following record definition and view definitions to add new fields:
- Record Definitions—Restaurant Information
- View Definitions—Restaurant Information Create, Restaurant Information Edit
- New fields—Restaurant Specialty and Restaurant Timings
Process of extending an application
The following figure explains the process of extending an application:
Developers must perform the process of enabling extension and extending the definitions.
Benefits of creating extendable definitions
- The out-of-the-box definitions remain unchanged so that the customizations to the application are not lost when your application or server is upgraded.
- Provides capability to make additional changes to the out-of-the-box definitions.
- Can easily move the customizations to other environments by creating install packages and deploying the install packages to other environments.
Where to go from here
|If you want to create extendable definitions in your application||Enabling extension of application definitions|
|If you want to extend the definitions that are enabled for extension||Extending BMC Helix Platform Foundation definitions|