Extension Framework

Use this topic to understand the extensibility framework for configuring and extending the Launch application.

Schema-based extension framework is based on the TMF630 extension specification. Application composer is used to build that framework and inheritance is achieved through TMF630 extension patterns. The @type and @basetype fields in the data model is used to establish the inheritance hierarchy.

Use the Application Composer to create or build the additional extensible fields required to support the extensions. See About Application Composer.

To work with schema-based extensions, it's important to understand the three key fields that TMF uses to support and model the extension pattern of entities. All the top-level resources have the three following key fields:

  • @type: Denotes the resource schema, which defines the resource. You must create and upload the YML file in this name.

  • @basetype: Denotes the parent resource type.

  • @schemaLocation: Denotes the URL from which a YML formatted file representing the schema can be read.

Schema-based extension is based on adding new attributes to the existing schema directly. Schema-based extension allows two different ways of extending an resource:

  • Adding a simple attribute of type string, number, boolean, date, and so on to the top-level product offer resource.

  • Adding a complex attribute of type JSON object or JSON array to the top-level product offer resource.

For an example of the ProductOffering resource represented with specific attributes in ProductOfferingOracle.yml, see the schema-based extension file in Doc ID 2725039.1 on My Oracle Support.

As part of Launch Experience, TMF resources like product offering have been extended to ProductOfferingOracle and similar extensions exist for other resources as well to enable you to do after market extensions in a similar way. An example of an after market extension for a service provider like Vision Inc will be to add a top-level attribute to ProductOfferingOracle schema and name it as ProductOfferingVision.yml.

Customized Roles for Users

You can create or modify child objects that you created as part of the extension framework by adding the role ORA_CRM_EXTN_ROLE to the user.