Oracle OAF Personalization Training

Introduction
Oracle Applications Framework (OA Framework) provides the capabilities to configure the look and feel of the screens based on the business needs. To better understand these capabilities, distinctions between personalization and extensibility need to be understood. Personalization refers to the ability to declaratively tailor the following to suit a business need or user preference:

·         Look and feel of the user interface (UI)
·         Layout of the UI
·         Visibility of built-in content



Extensibility, on the other hand, refers to the ability to extend the functionality of an application, beyond what can be done through personalization, such as:

·         Adding new content or business logic
·         Extending or overriding existing business logic

This document explains the best practices on the personalization used in a common implementation along with the effective migration of the same to various other environments without redoing them manually.

Personalization Options
The following profiles need to be enabled for a user to enable the personalization links.
·         FND: Personalization Region Link Enabled
·         Personalize Self-Service Defn
·         HR: Enable User Personalization

 

All the above profiles values should be set to ‘Yes’ for the user through which the screens would be personalized.

Personalization Levels
The following are the various levels at which the personalization can be done
·         Site Level – This level is suitable if the screen changes need to be reflected globally across business groups.
·         Location Level – This level is suitable if the screen changes need to be reflected only for a single business group.
·         E.g. If the self service module is rolled out for two countries GB and ES and if GB calls department as ‘HR Organization’ and ES calls it as ‘Department’, then this level has be used to change the prompt only for GB.
·         Organization Level – This level is suitable if the screen changes need to be reflected only for a single operating unit.
·         Responsibility Level – This level is suitable if the screen changes need to be reflected only for a specific responsibility
·         E.g. If two responsibilities are created to display HR and iProc notifications separately, then the filter needs to be set at responsibility level because the underlying screens are common to both modules.
·         Function Level – This level is suitable if the screen changes need to be reflected only for a specific function
E.g. If two different screens are used to display two different Special Information Types (SIT) details, two custom functions need to be created and personalized to display different fields in different screens.
All personalization made through the OA Personalization Framework are added on top of the base product metadata at runtime. These personalizations never overwrite the existing base product UI and are therefore preserved during upgrades and patches and can also be translated.

Personalization types
The following are some of the common types of personalization that could be accomplished using OA Framework.
§  Change the prompt for a field or other text on a page
§  Hide or show a field on a page
§  Make fields read only
§  Reorder fields or items on a page
§  Restrict data that a user can access
§  Add new buttons, links, text items, images, etc.
§  Restrict query results in a table
§  Hide or Show selected DFFs and KFFs

Migrating Personalization
Once personalization is done in the development environment they can be migrated to another instance without redoing them. For each screen personalized, xml files are created with the personalization information. These can be migrated using the following steps.

Export Personalization
All the personalization needs to be exported from the development instance using the following steps.
1.      Set ‘FND: Personalization Document Root Path’ to desired location in the application server.
2.      Bounce the Apache.
3.      Log on to Functional Administrator à Home à Personalization Tab à Import/Export à Personalization Repository
4.      Date filters and application filters could be used to narrow down the search.
5.      Select the personalization that needs to be migrated. (Hint – Do not select the complete list. Ensure that only the required personalization are exported to avoid any wanted items going into the other instance)
6.      Click Export to File System button

Establish Mapping
For the responsibility level personalization, the export option creates the folder name with the responsibility id in the source instance. This does not work in the target instance with the same name because the target instance may have a different responsibility id.
1.  Open the folders under ‘/oracle/apps/per/customizations/responsibility/’
2.  Rename the folders with the corresponding responsibility id from the target instance
3.  Repeat this for all modules and screens

Import Personalization
Import the personalization in the target instance by doing the following steps.
1.  Set ‘FND: Personalization Document Root Path’ to desired location in the application server.
2.  Bounce the Apache.
3.  Move the dump from step 2 to this folder. Make sure all the folders are intact as they were from source system.
4.  Log on to Functional Administrator à Home à Personalization Tab à Import/Export à Exported Personalization
5.  The folder structure that is copied in step iii should appear
6.  Select all or the desired folders/files
7.  Click Import form File System.