OA Personalization Framework Features

Cumulative Personalizations

The personalizations you make at the various levels are cumulative. Personalizations at the higher levels typically apply to broadly defined user populations, and those at lower levels apply to more narrowly defined groups. Personalizations made at lower levels are applied after those made at higher levels. The personalization levels are ordered as follows, from highest to lowest:

For example, the personalizations made at the Portlet and User levels always overlay personalizations made at the Organization level.

Note: Personalizations made at the Portlet and User levels are mutually exclusive.

For Oracle-internal developers, Function is the highest level at which you can personalize, followed by Industry, Localization, Site, and so on.

The granular nature of each personalization is maintained throughout the layering of personalizations for the different levels. For example, suppose you make a set of Site level personalizations to a region by changing the label of four fields from a, b, c and d to w, x, y, and z. Now suppose you want to make additional changes to that same region, where those changes are available only for users of Org 2. The Organization-level change for Org 2 that you make includes hiding the second and third fields and changing the label of the last field to zz. A user of Org 2 would see, as a result of the cumulative personalizations, a region with two fields labeled w and zz.

Personalization Ownership

Personalizations made at an Admin level can only be modified, viewed, or deleted by an administrator at that respective level. Similarly, a personalized saved search made at the Portlet or User level can only be modified, viewed, or deleted from the portlet where the saved search was created or by the user who created the saved search.

Multiple Personalizations

At the User level, a particular region of an HTML page may have one or more sets of personalizations associated with it. Each set of personalizations is referred to as a personalized saved search of the region. You can identify a personalized saved search by assigning a name to it. OA Personalization Framework also identifies each personalized saved search by assigning a unique ID to it.

Default Saved Searches

Since you may define more than one personalized saved search at the User level, OA Personalization Framework lets you mark a specific saved search as the default saved search to apply to the region when you run the application.

Note: In the case of seeded personalized saved searches, OA Personalization Framework applies a precedence rule to determine the default, if multiple defaults are defined (for example, if defaults exist at the User level, "Admin-seeded user level" and "Oracle-seeded user level"). The User-level default overrides any default set at any level. If no user-level saved search is marked as a default, then the "admin-seeded" default saved searches takes precedence. Similary, if no user-level or "admin-seeded user-level" saved searches are marked as defaults, the "Oracle-seeded" saved search becomes the default.

In the case where personalizations are made on a region that extends another region, at the User, "Admin-seeded user" or "Oracle-seeded user" levels, the default is resolved horizontally across the layers of the region. All of the default User saved searches take precedence, followed by the default admin-seeded saved searches, then the default Oracle-seeded saved searches.

Example

Suppose you have region A, which extends region B, which in turn extends region C, and the following saved searches have been created and marked as "Default":

Region Saved Searches Defined
A (extends B) A.UserSavedSearch - default
A.Admin-seededUserSavedSearch- default
A.Oracle-seededUserSavedSearch - default
B (extends C) B.UserSavedSearch - default
B.Admin-seededUserSavedSearch - default
B.Oracle-seededUserSavedSearch - default
C C.UserSavedSearch - default
C.Admin-seededUserSavedSearch - default
C.Oracle-seededUserSavedSearch - default

The final default saved search is resolved based on the following order of precedence:

A.UserSavedSearch >
   B.UserSavedSearch >
      C.UserSavedSearch >
         A.Admin-seededUserSavedSearch >
            B.Admin-seededUserSavedSearch >
               C.Admin-seededUserSavedSearch >
                  A.Oracle-seededUserSavedSearch >
                     B.Oracle-seededUserSavedSearch >
                        C.Oracle-seededUserSavedSearch 

Personalization Caching

The personalizations that you make to a region do not cause any performance degradation in your application. Admin-level personalizations for a region are statically cached on the JVM (Java Virtual Machine) and user-level personalizations are cached on the session.