Enhance Oracle SSHR with Advanced Personalizations and OA FWK Extensions discusses personalizations, extensions, custom look and feel (CLAF), and deploying extensions in Oracle Application Framework (OAF). It describes how to add new fields, identify available fields, dynamically set properties using SPEL, maintain personalizations using JDR utilities, extend views and entities, add validation, and deploy extensions.
1 of 40
Downloaded 29 times
More Related Content
24221030 Enhance Oracle Sshr With Advanced Personalizations And Oa Fwk Extensions
1. Enhance Oracle SSHR with
Advanced Personalizations and
OA FWK Extensions
Ramesh Sannegowda
02-Mar-2007
SEOUC 2007
2. Overview
• Overview
– Personalizations/Extensions, What’s the
difference?
– Where are personalizations/page meta data
stored
– Add new items to a page/region
– Identify available fields via ‘About page’
3. Overview cont..
• Overview cont…
– SPEL language for dynamic personalizations
– Using JDR utilities
– Custom Look & Feel (CLAF)
– Extending Business Components
– Deploying extensions
4. Personalizations/Extensions
• Difference between personalizations and
extensions
– Personalizations
• Declaratively alter the UI to meet user/business
need
– Change Label, Show/Hide fields etc.
– Extensions
• Programmatically extend application functionality
– Add business logic, Add new fields etc.
5. Personalizations/Extensions
• Difference between personalizations and
extensions contd..
– OAF components: Declarative and Programmatic
• Declarative/UIX (page metadata): XML
• Programmatic: Java
– Personalizations
• Global Personalize link
• Region/Item level personalize link
– Extensions
• JDeveloper with OA FWK extensions available as patch on
Metalink
6. Personalizations
• Where are personalizations/page meta data
stored?
– Source files
• $PROD_TOP/mds/selfservice/<function>/webui
– Seeded personalizations
• $PROD_TOP/mds/selfservice/<function>/webui/customizations
– Database MDS repository (user personalizations)
• JDR_PATH
• JDR_COMPONENTS
• JDR_ATTRIBUTES
17. Personalizations
• Dynamic personalizations
– SPEL language
• Simplest Possible Expression Language
• Used to set (true/false, yes/no)
– Read Only
– Rendered
– Required
– Disabled
• ${oa.<viewObject>.<viewAttr>},
${oa.function.<functionName>},
${oa.FunctionSecurity.<FunctionName>}
18. Personalizations
• Dynamic personalizations (example)
– Step 1: Create a function with a name that describes the rule
you want to implement. For example, assume you have a text
field whose Read Only property should be True if the user DOES
NOT have access to the MANAGER_READ_ONLY function when
logged in using the MANAGER responsibility.
– Step 2: Create a grant for this function. In this example, we
would create a function grant for MANAGER_READ_ONLY in the
context of the responsibility MANAGER.
– Step 3: Set the Read Only property using the following SPEL
syntax:${oa.FunctionSecurity.<FunctionName>}
19. Personalizations
• Dynamic personalizations (example contd..)
– The test will return False if <FunctionName> is
granted to the current user/responsibility, otherwise
True.
– In this example, we would set the Read Only property
to: ${oa.FunctionSecurity.MANAGER_READ_ONLY}
– If the user is logged in to the MANAGER responsibility
and has been granted access to this function, the OA
Framework returns False in the function security test.
When the Read Only property is set to False, the item
is updateable.
22. Custom Look & Feel (CLAF)
• Components of LAF
– Style Sheets (XSS)
– Icons
– Renderers (.uit)
• Create Custom LAF using
– Base LAF
– Simple LAF
– Another Custom LAF
23. Custom Look & Feel (CLAF)
• Style Sheets
– Control Font and Color of HTML components
• OA_HTML/cabo/styles/<ClafId.xss>
• Icons
– Control LAF of Web Beans
• Renderers
– Controls how Web Beans lay out children and
generate HTML
– Defined declaratively (.uit extension)
• OA_HTML/cabo/templates/ClafID/ClafId.uit
31. Extensions
• Extend VO to add new columns
– Used to add new fields to a page using
personalizations
• Extend VO to smart filter LOVs, Picklists
• Extend EO to add validation
• Avoid extending CO code
32. Extensions
• Extend EO/VO
– Review ‘About this Page’ for the page/region that you
want to add new fields
– Determine the VO that you will be extending
– Import the package that contains the VO into your
JDeveloper project
– Create new VOEx by extending the seeded VO
– Add new attribute to the VOEx
– Substitute seeded VO with VOEx in the JPX file
– Use JPXIMPORT.bat to import the JPX file to database
39. Extensions
• Deploying Extensions
– Do not replace the original object
– Extend and Substitute
– Move all the files and directories in your
custom package to the middle tier
– Run JpxImport utility to migrate the
substitutions
– Bounce Apache