Customizing and Extending Oracle Fusion Applications
There is a huge spike in companies adopting software-as-a-solution (SaaS) cloud applications to realize benefits like business agility, quick time to market, and cost optimization. One of the fundamental challenges that organizations face in adopting SaaS applications is exact fitment to their business needs. In most scenarios, organizations need to customize or extend the SaaS applications to meet their specific requirements.
Inability to make changes to the existing application is a major stumbling block for many customers planning their cloud journey.
While this was achieved in on-premises world using Oracle developer tools like reports, forms, Oracle Application Framework (OAF), and workflows, the same tool sets are not applicable for building RICEFW for Oracle SaaS applications like CX (Customer Experience) , Enterprise Resource Planning (ERP), Supply Chain Management (SCM), and Human Capital Management (HCM) on cloud. There is neither direct access to database schema nor option to alter the schema in Oracle SaaS.
However, for customers planning a move to Oracle Cloud Fusion suite, there is good news on this front. Oracle has provided the ability to customize Oracle Fusion Cloud (i.e. change processes already delivered in the product) or extend (i.e. add new objects to create new business processes) the Fusion solution at different levels.
Oracle Fusion Applications is based on Oracle Fusion Middleware. Most user interfaces are implemented using Oracle Application Development Framework (Oracle ADF) and standard Java technologies. The foundation of the applications includes the service-oriented architecture (SOA) business processes. Business intelligence frameworks provide a number of reporting capabilities. Each of these areas of an application can be customized and extended to suit your business needs.
You can use standard Native Oracle cloud SaaS Functionality to do the following extensions. These are pertaining to applications other than Oracle Sales Cloud and Oracle Taleo
The good thing about these tools is that these are inbuilt, no separate license is required and they are available in all pillars. Branding customization – e.g. changing the logo/application name in simplified UI, adding the enterprise logo in the report layout.
Page customization – e.g. the user can add the attribute, move, delete or show a hidden attribute, hide components on a page, change the layout of a page, and the user can customize the content from a dialog box etc.
Object customization – e.g. for the end user, access to a new business object page can be added in the Navigator menu.
Security customization – restricting access to a custom object i.e. adding data security.
Business Intelligence – e.g. report creation, changing report layout, creation of dashboards etc.
Help customization – e.g. change text that’s displayed when the user moves the cursor over a button, any link, any icon button, or over any title of a tab.
Extensible flex fields in Oracle Fusion Cloud – functioning of extensible flex fields are identical to descriptive flex fields, with extra features. You can add as many context-sensitive segments to the flex fields as you need. There is no constraint to the number of columns predefined and listed for the flex field.
There are built-in customization layers in your application to make customizations that affect only certain instances or users of an application. Before we create customizations, we should select the layer in which we want to customize. Most of the customization tools provide a dialog box for selecting the layer for your customizations
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 personalization’s 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
At run time, the tip-layer (User 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 (MDS) repository. The XML file acts like a list of instructions that determines how the artifact looks or behaves in the application, based on the customization layer. The customization engine in MDS 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 need to redo your customizations.
Run Time Customization Vs Design Time Customization
Most pages in Fusion have more fields than needed on a page. This is done to serve as many customers as possible, and most fields that you could need on a page are already there. In most cases, you would want to hide a lot of these fields. Furthermore, you may want to move fields to other places on the page, hide or move headers, change labels or header texts. All of these things can be done with the Page Composer, without programming.
These kinds of changes are referred to by Oracle as “runtime customizations”. Runtime customizations are created by means of setup, without changing the code. At runtime, these customizations are shown to the user, in order to achieve a customer-friendly user experience. This means that the source code in ADF stays the same, but at runtime the “customizations” are displayed on the screen, to change the look and feel of the pages. There are also possibilities to make “Design Time” customizations. These are changes to the source code in ADF or WebCenter, made using JDeveloper. The runtime customizations are handled by the MDS Customization Engine. Design time customizations are programmed by a developer, as opposed to runtime customizations which are set up by a functional consultant.
Creating sandbox
Navigate to Configurations in Application Navigator and select Sandboxes
Creating sandbox
How do I customize in Oracle Fusion?
Navigate to Configurations in Application Navigator and select Sandboxes
- Click on create sandbox
- Create and Enter Sandbox
After following all the steps, the sandbox name displays at the top of the window indicating that you are now working in the sandbox. Now you can customize your application.
Other users can see what you have done only when you publish your sandbox by following the navigation given below. Once you publish your sandbox, the changes will be applied to all the users of the application.
Points to be noted:
- At a time only one sandbox can be active.
- The sandbox name is displayed in the global area once it is active for any session.
- One should always log out from Oracle Cloud Applications and log in back after activating a sandbox which helps to avoid conflicts by ensuring that the cache is cleared.
- A sandbox remains active until one exit the sandbox, publish the sandbox, delete the sandbox, or set another sandbox as active
Let us see an example to change the theme of the application.
- Add the respective tool to your Sandbox as shown below
- Choose your preferences in the screen shown below and click on Apply.
- Publish the sand box
- Logout of the environment and re login to see the new theme applied. Below are the screenshots of the theme before and after customization.