This guide also applies to on-premises implementations

1Overview

This chapter contains the following:

Customizing and Extending Applications: Overview

While your application provides robust functionality as delivered, you can make changes to it, if necessary.

You can:

  • Customize: Change a standard (existing) artifact. For example, you can add an attribute to an existing business object or change what's displayed on a standard page.

  • Extend: Create a new artifact, such as a new object.

The three basic scenarios for customizations and extensions are:

  • Run time customizations and extensions

  • Design time customizations and extensions

  • Personalization

What You Can Change

You can customize and extend many aspects of the application, for example the user interface, business intelligence, and data model.

The application is built using a common data model. So, when you make a customization in one area, that customization is available to all objects in the application. For example, if you add an attribute to an object, you can easily add that attribute to the:

  • Web-based view page

  • Associated mobile page

  • Associated reports

Generally, you use the same tools and processes to customize all applications. For more information on customizing business intelligence, see the Creating and Editing Analytics and Reports guides relevant to your products.

Run Time Customizations and Extensions

Run Time Customizations and Extensions: Examples

Run time customizations and extensions include changes that you can make to the application at run time using browser-based composers and other tools. All users or a subset of users can view and use these customizations and extensions. If your role has an administrative privilege, you can access most run time customization tools to customize the user interface (UI), create and customize objects, and so on. Some customization tools, such as Application Composer, are available only for specific product families.

Customizing the UI

To customize the UI, use:

  • The Customize User Interface Text page to edit text that appears on multiple pages. For example, you can change the term, supplier to vendor if that is your preferred term, and the change affects all pages where the term is displayed.

  • The Settings work area to change the:

    • Look and feel of simplified UI

    • Announcements on the home page

  • Page Composer to customize simplified and desktop pages for other users. For example, you can:

    • Add fields

    • Add validation

    • Change defaults

    • Rearrange regions

    • Add external content

    • Save queries

Tip: In Page Composer, you can make changes using the WYSIWYG view. However, in some cases, you can also use the Source view.

Customizing Navigation

Use the Structure page to customize the Navigator and springboard. From the Navigator menu, select Structure under Tools.

Adding Custom Attributes to Business Components Using Flexfields

Most business components, except those in Oracle Sales Cloud products, support using flexfields to extend the object with custom attributes. Use a flexfield to create custom attributes without programming. The flexfield captures data that is related to a specific purpose, such as information about job positions or inventory items. Each attribute is a segment of the flexfield, and corresponds to a reserved column in the application database.

Customizing Reports and Analytics

Predefined analyses, dashboards, and reports help in meeting business intelligence requirements. But you can customize them (for example, change the layout) to fit specific business needs.

For more information, see the Creating Analytics and Reports guides relevant to your products.

Customizing Help

Use the Manage Custom Help page to:

  • Customize the help files in the application Help

  • Determine which help files to show in specific help windows

You can open the Manage Custom Help page from any help window, or from the help site.

Note: You must have the appropriate job roles to customize help.

Tools for Customizations and Extensions: Critical Choices

You can customize and extend your application to suit your business needs.

Choose an appropriate tool based on the types of customizations and extensions to make, such as:

  • Page customization

  • Branding customization

  • Object customization

  • Security customization

  • Business intelligence customization

  • Help customization

Note:
  • The following tables present only the top customization tasks, not all tasks.

  • The tables don't list design time customizations and extensions that usually developers perform. These customizations and extensions aren't available in Oracle Cloud implementations.

Page Customization

This table shows some types of customizations that you can make to pages, and the corresponding tools to use. You can customize only certain pages in Page Composer. If the customization that you want to make isn't available in Page Composer, then developers can customize the pages using Oracle JDeveloper (not available in Oracle Cloud implementations).

Customization Tool

Add, move, delete, show, or hide components on a page

Page Composer

Change a page layout

Page Composer

Create a site-level search for all users

Page Composer

Customize a page title

Page Composer

Customize a task list menu

Page Composer

Customize dialog box content

Page Composer

Customize attributes for a flexfield on a page

Page Composer

Customize properties for user interface (UI) components on a standard page

Page Composer

Customize the UI Shell template

Page Composer

Customize a text string wherever it appears across all pages

User Interface Text

Customize the look and feel of application pages

Appearance page

Change the announcements on the home page

Announcements page

Branding Customization

This table shows some types of customizations that you can make to use your own branding logo, and the corresponding tools to use.

Customization Tool

Customize the UI Shell template

Page Composer

Change the logo and application name in the UI

Appearance page

Customize report layouts

Layout editor in the BI application or external applications such as Microsoft Word

Object Customization

This table shows some types of customizations that you can make to objects, and the corresponding tools to use.

Customization Tool

Add an attribute to a business object using flexfields (not Oracle Sales Cloud)

Setup and Maintenance work area

Add a business object page to the Navigator menu

Setup and Maintenance work area

Security Customization

This table shows a security customization that you can make to objects, and the corresponding tool to use.

Customization Tool

Add data security to a custom object.

Setup and Maintenance work area

Business Intelligence Customization

This table shows some types of customizations that you can make to business intelligence (BI) analytics and reports, and the corresponding tools to use. For more information, see the Creating and Editing Analytics and Reports guides relevant to your products.

Customization Tool

Create report layout

Layout editor in the BI application or external applications such as Microsoft Word

Customize report layouts

Layout editor in the BI application or external applications such as Microsoft Word

Create a report

The BI application

Customize analyses

Reports and Analytics pane or the BI application

Customize dashboards

The BI application

Help Customization

This table shows some types of customizations that you can make to help, and the corresponding tools to use.

Customization Tool

Customize text that is displayed when the user hovers over a button, link, icon button, or tab title

Page Composer

Customize help files and determine the help links to show on help windows

Oracle Fusion Applications Help

Simultaneously replace multiple occurrences of a word or phrase that appear in the embedded help

User Interface Text

Oracle Sales Cloud has additional tools available for customizations. For example, Application Composer and Business Process Composer.

Design Time Customizations and Extensions: Highlights

Developers can customize and extend applications using design time tools, for example, Oracle JDeveloper (a comprehensive integrated development environment). Design timecustomizations and extensions include complex changes that developers need to deploy into the run time environment.

Note: These customizations and extensions aren't available in Oracle Cloud implementations.

Design Time Tasks

Personalization

Personalization: Explained

Personalization refers to the changes that every user of the application can make to certain artifacts in the user interface (UI) at run time. To personalize the UI, click your user name in the global area and use the Personalization menu items.

Note: Personalization changes remain for a user each time the user signs in to the application.

Personalization includes:

  • Changes based on how you use the UI, such as changing the width of a column in a table

  • Changes that you select to save, such as search parameters

  • Composer-based personalizations, where you can redesign aspects of a page. For example, you can use Page Composer to rearrange regions on a page and add or remove content

FAQs for Personalization

How can I retain minor personalizations after I sign out?

Whether minor personalizations (such as changing table layout and hiding regions) persist after you sign out, depends on the page you're on. However, to retain all minor personalizations, make changes by clicking your user name in the global area and selecting Edit Current Page under Personalization (if available).

How can I restore a page to the default content and layout?

Click your user name in the global area and select Reset to Default Content and Layout (if available for the page you're on) under Personalization.

What happens if I restore a page to the default content and layout?

You remove all changes that you had previously made to the page using Edit Current Page (under Personalization, which you open by clicking your user name in the global area). The reset affects objects at the page level, for example, dashboard regions that you added or moved around, and dashboard layout changes. Restoring doesn't reset personalization changes made within the components of a page, for example, within a dashboard region.

Customization Layers

Customization Layers: Explained

Use the built-in customization layers in your application to make customizations that affect only certain instances or users of an application. Before you create customizations, select the layer in which you want to customize. Most of the customization tools provide a dialog box for selecting the layer for your customizations. If the dialog box to select a layer doesn't appear before you customize, then by default your customizations are made to the site layer.

Available Layers

The customization layers available to an application depend on its application family. However, all applications have the following customization layers:

  • Site layer: Customizations made in the site layer affect all users.

  • User layer: All personalizations are made in the user layer. Users don't have to explicitly select this layer as it's automatically applied while personalizing the application.

Layer Hierarchy

The layers are applied in a hierarchy, and the highest layer in that hierarchy in the current context is considered the tip layer. With the default customization layers, the user layer is the tip layer. An object may be customized more than once, but in different layers. At run time, the tip-layer customizations take precedence. For example, say you customize in the site layer. You use Page Composer to add a region on a page. A user personalizes the same page to hide the region. In such a case, the user-layer customization takes precedence for that user at run time.

Storage of Customizations and Layer Information

Customizations aren't saved to the base standard artifact. Instead, they're saved in Extensible Markup Language (XML) files for each layer. These files are stored in an Oracle Metadata Services repository. The XML file acts like a list of instructions that determines how the artifact looks or acts in the application, based on the customization layer. The customization engine in Oracle Metadata Services manages this process.

When you apply an application patch or upgrade, it updates the base artifacts, but it doesn't touch the customizations stored in XML files. The base artifact is replaced. Hence, when you run the application after the patch or upgrade, the XML files are layered on top of the new version. You don't have to redo your customizations.

Working With Customization Layers: Examples

The following scenarios illustrate working with customization layers to ensure that the correct customizations or personalizations are available at run time to appropriate users. For example, the Sales application has a layer for job role. When you customize an artifact, you can choose to make that customization available only to users with a specific role, for example, a sales representative.

Customizing Pages for Users with Specific Roles

You want to remove the Quick Create panel from the Sales home page, and customize this page only for users with the Sales Representative role.

Following are the prerequisites:

  • Activate a sandbox.

  • When you customize a page for a specific job role, that role must be assigned to you for you to test the customization in the sandbox. Your security administrator can either assign the role to you directly, or make the role self requestable for you to add it from the resource directory.

  • Select the layer in which you want to make your customization. In this case, select the role layer with the value, Sales Representative. While customizing, when you remove the panel from the page, an XML file is generated. This file contains instructions to remove the panel, but only for the role layer, and only when the value is Sales Representative.

Note: The original page file remains untouched.

The customization engine in Oracle Metadata Services then stores the XML file in the Oracle Metadata Services repository. When someone signs in and requests an artifact, the customization engine in the metadata service checks the repository for XML files matching the artifact and the given context. On matching, the customization engine layers the instructions on top of the base artifact.

In this example, whenever someone:

  • With the role of Sales Representative (the context) requests the Sales home page (the artifact), before the page is rendered, the customization engine in Oracle Metadata Services:

    • Pulls the corresponding XML file from the repository

    • Layers it on top of the standard Sales home page

    • Removes the panel

  • Without the role of Sales Representative signs in, the customization engine doesn't layer the XML file on top of the standard Sales home page. So, the Quick Create panel is displayed on the page.

This figure shows how the customization XML file is applied to the base document and is displayed only for a sales representative.

Application of XML files at run time to determine
visible customizations

Personalization

All users of the application can use the Personalization menu items to personalize certain pages. For example, you can:

  • Move elements around on a page

  • Hide elements

  • Add available elements to a page

While you personalize a page, the customization engine in Oracle Metadata Services creates an XML file specific to a user (in this case, you), for the user layer. For example, say User 1 (with the role of Sales Representative) personalizes the Sales home page. An XML file, noting the changes that the user made, is stored in the repository. When User 1 signs in, the customization engine in the metadata services:

  • Pulls the XML file with the sales representative customizations from the repository, and layers the file on top of the standard Sales home page

  • Pulls the XML file with the User 1 personalizations, thus enabling the user to see the personalization changes along with the Sales Representative changes.

When other sales representatives sign in, they don't see the User 1 personalization changes, as shown in this figure.

Application of XML files at run time to determine
visible personalizations

Selecting Customization Layers to Include: Examples

While customizing, when you use the dialog box to select the customization layer, you can also include lower layers to view customizations from those layers.

The following scenarios explain what happens based on your selected layers. For these examples, the available layers are Site, Territory, and Job Role.

What You See While Customizing

Suppose you choose to:

  • Edit the Job Role layer and select Sales Representative as the value for that layer

  • Include the Territory layer and select Southwest as the value

Note: The Site layer is automatically included because it applies to everyone.

While customizing in Page Composer, you see customizations that apply to sales representatives in the Southwest territory, based on:

  • What was defined for each layer

  • Which is the highest layer with customization for a specific artifact

What Your Customizations Apply To

No matter what you see while customizing, the customizations you make apply only to the edit layer, Job Role. For example, say a field is hidden in the Site layer but displayed in the Territory layer for Southwest. No customization exists for the field in the Job Role layer for sales representative. Since Territory is higher than Site, you see the field displayed while customizing in Page Composer. However, suppose you choose to hide the field as part of your customization. So, that customization applies to the Job Role layer for sales representatives. Users with other job roles in the Southwest territory may still see the field. However, Job Role is higher than Territory. So, no sales representatives in any territory can see the field, unless a layer higher than Job Role applies to any of these users and has the field displayed.

Business Process Models: Explained

The application is based on business process models that map out business flows. When you customize and extend your application, for example to add new pages, you can use these models to help you plan. For diagrams of business process models, see Oracle Fusion Business Process Models (1542019.1) on My Oracle Support at https://support.oracle.com.

Business Process Modeling Levels

The business flows are presented in a five-level hierarchy: industry (L0), business process area (L1), business process (L2), activity (L3), and tasks (L4).

  • The hierarchy goes from a high-level, conceptual view to a low-level, application-specific view.

  • L1 through L3 are business-driven and don't depend on any specific implementation in the application.

  • L4 aligns with specific features and functionality in the application.

In the Application

The application is organized around these hierarchy levels and flows, which puts focus on the activities and tasks that you must perform. Several aspects of the application are influenced by, if not directly based on, the business process modeling levels. For example, the navigation, user interface, and parts of security are influenced by the business process modeling levels.