Leveraging 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 or not, 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 definitionA view definition that displays the fields added in the extension record definition and the fields in view that are 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).

Important

BMC Helix Innovation Studio Foundation view definitions are enabled for extension out-of-the-box.

Scenario: Enabling extension of definitions

As a developer, you want to create an extendable lunch order application on BMC Helix Innovation Studio so that the out-of-the-box record definitions and view definitions are not customized, 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, add the Extension Container view component in the view definitions. For more information, see Enabling-extension-of-application-definitions.

Scenario: Extending definitions to add or remove objects

Continuing with the earlier scenario, Apex Global buys the lunch order application. As a developer at Apex Global, 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

Workflow

Developers must perform the process of enabling extension and extending the definitions. The following image explains the process of extending an application:

221_Process of extending an application.png

Benefits

  • 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. 
  • The extension provides capability to make additional changes to the out-of-the-box definitions.
  • Developers 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

Enabling-extension-of-application-definitions

 

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