Oracle Apps Framework has an OA Personalization Framework associated with it so that you can personalize any OAF page in an Oracle E-business Suite application without changing the basic or underlying code of that OA Framework page, Oracle Application Framework makes it very easy to personalize the appearance of the page or even the personalization of data displayed on to an OA Framework page.
1. As per Oracle Application guidelines and standards Oracle only supports the use of OA Personalization Framework to personalize OA Framework-based applications.
2. Oracle Application Framework pages which are created dynamically or pages that are created using code at runtime which do not have an OA Extension metadata behind them cannot be personalized using OA Personalization Framework.
By default OA Framework comes with the base product metadata, hence all the personalization that we do sits on top of the base metadata personalization. This means that before performing any personalization whatever we see in an OAF page is the base meta data personalization and once we have personalize the page we can see our personalization in a jiffy. This also means that we can never overwrite the base metadata personalization that comes with the OA Framework, which in turn means that the base personalization cannot be changed or deleted and our personalization are always separated from the base personalization.
Thus, we can always extract the personalization that we have done on an OAF Page from instance and save it to a flat file and can directly upload the same personalization to the same page in another instance. Also, any patch or upgrade has been applied to the oracle apps instance will deleted our personalization and will revert to the original base metadata personalization. Hence, it’s always advisable to save all the personalization that we have done to a flat file so that the hard work that we have put in never gets lost forever. Once the patch application or upgrade activity has been finished we can again upload the previously saved personalization to the page in oracle apps instance.
Let’s now have a look at other personalization details like (can also be asked in interviews;) )
a. Levels of personalization
b. What are the features of OA personalization Framework.
c. The profile options used by OA Personalization Framework
The different levels of personalizations
There are many levels of personalization as per OA Personalization Framework and each level has its own use and requirement. It totally depends on the business requirement that which type of personalization we want to have on an OA Framework page.
Before we go any further let’s answer a simple question?
Q. Why there are many levels of personalization in OA Framework? What’s the need?
A. Various levels of personalization are required for different type of audiences that may be using the same OA Framework page. If we see from system administrator point we will be able to see that there are various personalization levels like Functional, Localization, Site, Organization, Responsibility and Admin-Seeded User level. Whenever a personalization is made at any of the above mentioned level then that personalization is available to all the audience at that level. As all the personalization mentioned above should be done by an expert system administrator hence these personalizations are collectively called as Administrator Level or Admin Level Personalizations. User or portlet level personalizations can be done by any end user can will always be visible to that end user only and hence called as end user personalization.
Let’s come back to the track and understand the Personalization levels which can be categorized as:
1. Function Level
2. Localization Level
3. Site Level
4. Organization Level
5. Responsibility Level
6. Admin-Seeded User Level
7. Portlet Level
8. User Level
Before we understand the function level of personalization, let’s first understand what a function in Oracle Application is.
In layman terms, a function can be termed as a hyperlink to another page where as in Oracle Apps terms a function is a token having a unique name under a responsibility.
Oracle Application Personalization Framework allows you to make personalization at function level so that the personalization performed will always be available if the specific function is in context. Let’s take an example to understand in an easier way.
Suppose, you have an OA Framework page which has a region and this region has components which accepts the Name and the email address of the user. Now if we want that this region should be updateable when the OAF page is navigated from one function (FunctionA) and the same region should be non-updateable once the same OAF page is navigated from other function (FunctionB). To achieve this we have to create a function level personalization so that the personalization makes all the fields in the region to be read-only once the page is navigated via functionB and all the fields to be updateable once the OAF page is navigated via FunctionA.
Note: There can be only one set of personalization per region per function, but we can have as many functions and personalization as needed, provided that these functions can be brought into context at runtime either by passing them as parameters from URL or by linking these function to menus.
As the internet has grown around the world the same way has the software grown. Oracle Application being an e-business suite understand that the globalization of the business has made the world very small and the demands of entrepreneurs very complex.
Now what Oracle Application Personalization Framework means by Localization Level of personalization is that an end user in one place can see a personalization and the end user at another place would not be able to see that personalization provided that both the end-users are identified in different locales.
Again let’s take an example to understand this form of personalization:
Suppose we have end users in USA and also in UK. Now suppose that there is an OA Framework page where the end users can view their salary slips. The end user in USA wants to see the currency in USD where as the other end user wants to see the currency in GBP. In order to achieve these types of scenarios Oracle Application Personalization framework has enabled this level of personalization. Hence once a localization level of personalization has been enabled on the currency field of the said salary OAF Page this can be easily achieved. The exchange rate can be taken from the exchange as applicable.
A site in Oracle Application terms is an instance of the Oracle E-business suite. As per developers we call it instance and know by names like DEV instance, QA instance and Production (PROD) Instance. All the instances are sites as per Oracle Application e-business suite. Hence, any personalization done at the site level affects the complete instance irrespective of anything. An example of Site Level personalization can be like if you want to change the label of the table so as to match the corporate standards of your business. All the site level personalization should be done after well scrutiny and thought process.
An org or organization is Oracle Application is a business unit, as per Oracle Application e-business suite an Organization can be a either a plant or warehouse or department etc. All the personalization performed at the organization level will affect all the users belonging to that organization. For example we can hide some of the fields from an O Framework page for an organization if we understand that those fields are not germane to the organization.
Again before we go any further into this level let’s first understand what a responsibility in Oralce Application is. In simple layman terms a responsibility is a folder sort of structure that we see once we login to oracle application, where as in terms of Oracle Application e-business suite responsibility has a very deeper meaning. In oracle application terms a responsibility represents a specific level of authority in an application. A responsibility allows us to access functions that fall under the responsibility, menus that are attached to the responsibility, pages, and data any much more. Now, when we make a personalization at any responsibility level the personalization is available only if we navigate through that responsibility. For example suppose there is a page that shows the requisition lines( both open and closed) now the business requirement is like all the users using responsibility want to see only the open requisition lines and the other users using responsibilityB want to see the closed lines only. In this situation, we can create a responsibility level of personalization to the OA Framework page so that once a user navigates to OA Framework page from responsibilityA using a function, he/she will be able to see only the open requisition lines and the other user navigating via responsibilityB using the same function will be able to see the closed requisition lines only.