Customization Layers

In Oracle Application Developer Framework (ADF) applications, the Oracle Metadata Services (MDS) framework allows you to create customizable applications. You create customization classes and layers to support the customization of metadata content, and then customize the metadata within the context of a specified layer. In this cue card you will create a customization layer. You will create a customization class in the next cue card.

A customizable application can have multiple customization layers to suit the needs of particular groups, such as industries or sites. Each customization layer can have multiple customization layer values. For example, the
industry layer for a customizable application can contain values for
healthcare and
financial industries. Each customization layer corresponds to a customization document that contains a set of instructions that change the underlying metadata. The layered changes are stored and managed separately from the base metadata of the application in the repository.

The
CustomizationLayerValues.xml file contains all the defined customization layer values and their display names to be used in an instance of JDeveloper. The layers and the layer values are available across applications at design time. To enable specific customization layers in an application, you specify the layers in
adf-config.xml, in the order in which the customizations should be applied.

In the example, first you will define a
site customization layer with two configurable layer values:
headquarters and
remoteoffices.

Before you implement customizations in an application in JDeveloper, you have to select a customization layer and one layer value. The customizations you make are then applied to that layer and layer value only.

When the application is run, MDS applies the different customization layers to the base definition of the application. The customization context of a customized application is defined by the set of customization layers applied to it. For example, a customized application can contain customizations in the
financial layer value of the
industry layer and the
headquarters layer value of the
site layer. The multiple customization layers are applied in the order of precedence as specified by the order of customization classes in
adf-config.xml.

In the next step, you will create the properties file using the file name
customization.properties.

The properties file contains the configurable layer values defined for one or more customization layers in an application. For example, a properties file could contain the following configurable customization layer values defined for a
site layer and an
industry layer:

The values without the prefix
# are the active layer values in that layer at runtime. When an application with customized metadata is run, the customization classes read the active values from
customization.properties, and use those values to determine the customization context. The applicable customizations that belong to the active layer values only are loaded from the corresponding repository and layered over the base metadata of the application to produce the desired customized contents for viewing.