Deployment Extension Choice (INFRADeploymentExtensionComputation)

An opening ID is an entry point used to customize business logic. The Deployment Extension Choice (INFRADeploymentExtensionComputation) opening ID lets you determine if you systematically want to complement the definition of an object of a given type with a set of attributes for a given project.

Note: For more information about customization by business rules, see Installation and Setup: Customize: Behavior: Data Setup: Customization by Business Rules.
The attributes are grouped in one or several deployment extensions created by the data model administrator using the Model Customization app. The objective of this business rule is to return the names of the development extensions to extend the object with. It is not mandatory to implement this opening ID. If you decide not to implement it, the object will not be extended.
Notes:
  • The policy name of the object is an input parameter of the opening allowing to assign different deployment extensions depending on the selected policy.
  • You cannot define that a deployment extension (or several ones) will be automatically added when creating an object of a given type, whatever the project. There is no need to use the deployment extension computation for that purpose. You can simply select the automatic mode. This business rule is useful when you want to extend an object differently depending on the collaborative space.

    This business rules is invoked before creating an object whatever the object type: it works for reference or instances. However, a more powerful business rule is provided for example to base the choice of the deployment extension depending on the type of the reference to instantiate. To know more, see Instance Type Selection (INFRAInstanceTypeSelection).

    Finally, the main purpose of this business rule is to add deployment extensions: but you can also use this business rules to extend an object with customer extensions.

This page discusses:

General Information

This opening ID is invoked whenever an object is created in unified typing mode.

The table below provides you with information related to the definition of the Opening ID.

Opening ID: INFRADeploymentExtensionComputation
Customization intent:Computation
Execution context:
  • On the cloud: Client
  • On premises: Client/Server

Input Objects

  • ThisObject is an empty object of the type of the object that will be created.
  • Parameters corresponds to the context object.

Context Object Parameters

Parameter NameTypeRead/WriteComments
DeploymentExtensionNamestring WriteParameter set by the opening ID and that corresponds to the name of the deployment extension to add. The goal of the business rule is to fill this parameter with the name of the deployment extension to add. If you do not want to add it, do not modify this parameter.

The name must correspond to a valid deployment extension created with Model Customization, associated with the type of the object (or one of its super types).

PolicyStringReadPolicy name of the object to be created, that has been computed using INFRAAuthorizedPolicies.
CustomerExtensionsToAddList of StringsList of strings corresponding to the list of other deployment extensions or customer extensions you want to add to the object. This list can also contain deployment extension names.
Notes:
  • Once the business rule is stored and associated with the right type/collaborative space, the type you create is automatically extended with the customer extensions.
  • You can modify the attributes of the customer extensions using the Initialization opening ID when the Deployment Extension Choice opening ID is triggered before the Initialization opening ID.

Sample 1

The following sample shows you how to indicate that the deployment extension to add is equal to "MyCustomerExtension":

  /*The following rule is an example of what can be done*/

  Parameters->SetAttributeString("DeploymentExtensionName","MyCustomerExtension")

Sample 2

The following sample shows you how to add a customer extension.

let l(List)
/* access the list of extensions in output */
 	l = Parameters->GetAttributeObject("CustomerExtensionsToAdd") 
 	l.Append("PrefixExtension1") /* You could add more than one extension */
/* don’t forget to update the list */
Parameters->SetAttributeObject("CustomerExtensionsToAdd",l)