Skip Headers
Oracle® Fusion Middleware Developer's Guide for Oracle WebCenter
11
g
Release 1 (11.1.1)
E10148-02
Library
Product
Index
Next
Contents
Title and Copyright Information
Preface
Audience
Documentation Accessibility
Related Documents
Conventions
Part I Introduction
1
Understanding Oracle WebCenter
1.1
Introduction to Oracle WebCenter
1.1.1
Introduction to Oracle Application Development Framework
1.1.2
Introduction to Oracle JDeveloper and the WebCenter Extension
1.1.3
Introduction to Oracle WebCenter Framework
1.1.3.1
Oracle Composer
1.1.3.2
Portlets
1.1.3.3
Content Integration
1.1.3.4
Search Framework
1.1.3.5
Resource Catalog
1.1.3.6
Customizable Components
1.1.4
Introduction to Oracle WebCenter Web 2.0 Services
1.1.5
Introduction to Custom WebCenter Applications
1.1.5.1
Application Security
1.1.5.2
Application Life Cycle
1.2
Design Questions to Consider Before You Start
1.2.1
User Considerations
1.2.2
Site Administrator Considerations
1.2.3
Developer Considerations
1.3
Accessibility Features
1.3.1
Generating Accessible HTML
1.3.2
Accessibility Features at Runtime
1.3.3
Accessibility Considerations for Portlets
1.3.4
Accessibility Features in WebCenter Spaces
2
Introduction to the WebCenter Sample Application
2.1
About the Fusion Order Demo for WebCenter
2.2
Browsing the Oracle WebCenter Framework Components in the Fusion Order Demo for WebCenter at Runtime
2.2.1
Exploring the Home.jspx Page in the Fusion Order Demo for WebCenter
2.2.2
Exploring MyPage.jspx in the Fusion Order Demo for WebCenter
2.2.3
Editing MyPage.jspx in the Fusion Order Demo for WebCenter
2.3
Oracle WebCenter Framework Components in the Fusion Order Demo for WebCenter
Part II Using the Oracle WebCenter Framework
3
Preparing Your Development Environment
3.1
Installing the WebCenter Extension Bundle
3.2
Creating a WebCenter Application
3.2.1
How to Create a WebCenter Application Using a Template
3.2.2
What Happens When You Use the WebCenter Application Template
3.2.2.1
Template Projects, Technology Scopes, and Libraries
3.2.2.2
WebCenter Application Template Default Files and Folders
3.3
Creating WebCenter Application-Enabled Pages
3.3.1
How to Create a Page in a WebCenter Application Based on a Template
3.3.2
How to Create a Page in a Manually-Created WebCenter Application
3.4
Creating a Portlet Application
3.4.1
How to Create a Portlet Application Using a Template
3.4.2
What Happens When You Use a Portlet Producer Application Template
3.5
Implementing Security in Your Application
3.5.1
How to Configure ADF Security
3.5.2
How to Create an Application Role
3.5.3
How to Add Login and Logout Links
3.5.4
What Happens at Runtime
3.6
Extending Non-WebCenter Applications to Include WebCenter Capabilities
3.7
Creating a WebCenter Application Project By Importing a WAR File
3.8
Using Integrated WLS
3.8.1
How to Start and Stop Integrated WLS
3.8.2
What You May Need to Know About Integrated WLS
3.8.3
The WebCenter Preconfigured Server Readme File
3.8.4
What You May Need to Know About Preconfigured Portlet Producers
3.8.4.1
Preconfigured Portlet Producers and Portlets
3.8.4.2
The WSRP Sample Portlet Producers and Portlets
3.8.4.3
The PDK-Java Sample Portlet Producer and Portlets
3.9
Accessing Connection Wizards
3.10
Integrating Mobile Support
4
Enabling Runtime Editing of Pages Using Oracle Composer
4.1
Introduction to Oracle Composer
4.1.1
View and Edit Modes of a Page
4.1.2
Personalizing Capabilities in View Mode
4.1.2.1
Expand and Collapse Components
4.1.2.2
Rearrange Components
4.1.2.3
Change the Layout
4.1.2.4
Customize Portlets
4.1.2.5
Switch Between Task Flow Views
4.1.3
Editing Capabilities in Edit Mode
4.1.3.1
Add Content
4.1.3.2
Rearrange Page Content
4.1.3.3
Edit Component Properties
4.1.3.4
Delete Components
4.1.3.5
Change the Layout
4.1.3.6
Edit Page Properties
4.1.3.7
View Component Hierarchy
4.1.3.8
Wire Components to Page Parameters
4.1.3.9
Reset Page
4.1.4
Oracle Composer Components
4.1.4.1
Page Customizable
4.1.4.2
Change Mode Link and Change Mode Button
4.1.4.3
Layout Customizable
4.1.4.4
Panel Customizable
4.1.4.5
Show Detail Frame
4.1.4.6
Custom Action
4.1.5
Security and Oracle Composer
4.1.5.1
Page Security
4.1.5.2
MDS Customization Restrictions
4.1.5.3
Component Action-Level Security
4.2
Designing Editable Pages Using Oracle Composer Components
4.2.1
How to Create a Customizable Page
4.2.2
How to Enable Runtime Customization Using a Page Customizable
4.2.3
How to Enable Switching Between Page Modes Using a Change Mode Link or Change Mode Button
4.2.4
How to Define Editable Areas of a Page Using Panel Customizable Components
4.2.5
How to Enable Layout Customization for a Page Using a Layout Customizable
4.2.6
How to Enable Component Customization Using Show Detail Frame Components
4.2.7
How to Enable Customization in a Populated Page
4.2.8
What Happens When You Add Oracle Composer Components
4.2.9
What Happens at Runtime
4.2.10
What You May Need to Know When Designing Editable Pages
4.2.11
How to Enable Custom Actions on Show Detail Frame Components by Using Facets
4.2.12
How to Enable Custom Actions on Show Detail Frame Components By Using Facets: Example
4.2.12.1
How to Create an ADF Task Flow
4.2.12.2
How to Include an Additional Actions Facets
4.2.12.3
How to Create a Redirection Page
4.2.12.4
How to Create Navigation Rules Between Pages
4.2.12.5
What Happens at Runtime
4.2.13
How to Enable Custom Actions on a Show Detail Frame Enclosing a Task Flow
4.2.13.1
Defining Custom Actions at the Instance Level
4.2.13.2
Defining Custom Actions at the Global Level
4.2.13.3
Defining Custom Actions that Display Task Flow Views in a Separate Browser Window
4.2.14
How to Enable Custom Actions On a Show Detail Frame Enclosing a Task Flow: Example
4.2.15
How to Create Event-Enabled Task Flows
4.2.16
How to Apply Styles to Components
4.3
Designing Editable Pages Using Oracle Composer Components: Example
4.4
Populating Pages with Content
5
Extending Runtime Editing Capabilities Using Oracle Composer
5.1
Overview of Extensibility Options
5.1.1
Oracle Composer Add-Ons
5.1.2
Oracle Composer Custom Property Panels
5.1.3
Oracle Composer UI Events
5.1.4
Property Filters
5.1.5
MDS Customization Classes
5.1.6
Oracle Composer Sandbox
5.1.7
Configuration Files
5.2
Creating Oracle Composer Add-Ons
5.2.1
How to Create and Register Add-Ons
5.2.1.1
Creating an Add-On
5.2.1.2
Registering Add-Ons with Oracle Composer
5.2.1.3
Registering Add-Ons in adf-config.xml
5.2.2
What Happens at Runtime
5.2.3
How to Exclude Oracle Composer Default Add-Ons
5.2.4
How to Selectively Render Add-Ons
5.3
Creating Custom Property Panels
5.3.1
How to Create and Register Custom Property Panels
5.3.1.1
Creating a Custom Property Panel
5.3.1.2
Registering a Custom Property Panel for a Component
5.3.1.3
Registering a Custom Property Panel for a Task Flow
5.3.2
What Happens at Runtime
5.3.3
How to Exclude Default Property Panels
5.3.4
How to Override Default Property Panels
5.3.5
How to Selectively Render Property Panels
5.4
Configuring Event Handlers for Oracle Composer UI Events
5.4.1
How to Create and Register Handlers for Composer UI Events
5.4.1.1
UI Events that Support Event Handler Registration
5.4.1.2
Creating a Save Event Handler: Example
5.4.1.3
Registering an Event Handler with Oracle Composer
5.4.2
What Happens When You Create and Register Event Handlers
5.5
Defining Property Filters
5.5.1
How to Define Property Filters
5.5.2
What Happens at Runtime
5.5.3
How to Remove Property Filters
5.6
Performing MDS-Specific Configurations
5.6.1
Adding Customization Layers to View and Edit Modes: Example
5.6.1.1
How to Add Oracle Composer to a JSF Page
5.6.1.2
How to Create a SiteCC Tip Layer
5.6.1.3
How to Create a Custom UserCC Tip Layer
5.6.1.4
How to Implement the ComposerSessionOptionsFactory Class
5.6.1.5
How to Register the Implementation with Oracle Composer
5.6.1.6
How to Configure WebCenterComposerFilter
5.6.1.7
How to Redirect the Servlet to Enable Switch Between MDS Customization Layers
5.6.1.8
What Happens at Runtime
5.6.2
Applying Tag-Level Security Using the customizationAllowed Attribute
5.6.2.1
How to Enable Customization on an Image Component
5.6.2.2
How to Restrict Customization on an Image Component
5.7
Using Oracle Composer Sandbox
5.7.1
How to Enable Oracle Composer Sandbox Creation
5.7.1.1
Updating Your Application's adf-config.xml File
5.7.1.2
Updating Your Application's web.xml File
5.7.2
What Happens at Runtime
5.7.3
How to Disable Sandbox for an Application
5.7.4
How to Destroy Stale Sandboxes
5.7.5
How to Enable Application Sandbox Creation
5.7.6
What Happens When You Enable Application Sandbox Creation
5.8
Overriding Default Security Behavior of Oracle Composer Components
5.8.1
Applying Component-Level Restrictions by Defining Customization Policies
5.8.1.1
How to Define Type-Level Customization Policies
5.8.1.2
How to Define Instance-Level Customization Policies
5.8.2
Applying a Component Instance-Level Customization Restriction By Using Security Roles: Example
5.8.2.1
How to Configure ADF Security
5.8.2.2
How to Define Users and Grant Roles in the jazn-data.xml File
5.8.2.3
How to Customize the SessionOptions Object to Include Customization Policy
5.8.2.4
How to Register the Implementation with Oracle Composer
5.8.2.5
How to Configure WebCenterComposerFilter
5.8.2.6
How to Apply an Instance-Level Customization Restriction
5.8.2.7
What Happens at Runtime
5.8.3
Applying Attribute-Level Security
5.8.3.1
How to Define Change Persistence at the Component Level
5.8.3.2
What Happens at Runtime
5.8.4
Applying Action-Level Restrictions on Show Detail Component Actions
5.8.4.1
How to Add an enableSecurity Section to adf-config.xml
5.8.4.2
Defining Security at the Actions Category Level
5.8.4.3
Defining Security at the Actions Level
5.9
Disabling Source View for the Application
5.9.1
How to Disable Source View
5.9.2
What Happens at Runtime
5.10
Troubleshooting Oracle Composer Problems
6
Configuring the Resource Catalog for Oracle Composer
6.1
Overview of Resource Catalog
6.2
Modifying the Content of the Default Resource Catalog
6.2.1
How To Add Items to Your Resource Catalog
6.2.1.1
Adding Connections for Resources
6.2.1.2
Defining the Catalog Contents
6.2.1.3
Enabling Task Flows in the Resource Catalog
6.2.1.4
Enabling Documents in the Resource Catalog
6.2.2
What Happens at Runtime
6.2.3
What You May Need to Know When Defining a Resource Catalog
6.2.4
How to Define Task Flow Parameters and Attributes of the Enclosing Show Detail Frames for Task Flows
6.3
Creating a Custom Resource Catalog
6.3.1
How to Create a Custom Resource Catalog
6.3.2
What Happens at Runtime
6.4
Filtering Items in the Resource Catalog
6.4.1
How to Filter Items in the Resource Catalog
6.4.2
What Happens at Runtime
6.5
Configuring Multiple Resource Catalogs
6.5.1
How to Configure Multiple Resource Catalogs
6.5.2
What Happens at Runtime
7
Enabling Runtime Creation and Management of Pages
7.1
Introduction to Page Creation and Management
7.2
Creating Pages and Task Flows
7.2.1
How to Create Pages
7.2.1.1
How to Add the Page - Create New Task Flow
7.2.1.2
Setting Security for the Page Service
7.2.1.3
How to Create Pages at Runtime
7.2.1.4
Structure of Pages Created at Runtime
7.2.1.5
How to Access Pages Created at Runtime
7.3
Defining Values for the Page - Create New Task Flow Parameters
7.3.1
How to Access Page - Create New Task Flow Parameters
7.3.2
Setting Scope in a Page - Create New Task Flow
7.3.3
Setting an Outcome Parameter
7.3.4
Specifying Styles
7.3.4.1
Out-of-the-Box Styles
7.3.4.2
Custom Styles
7.3.5
Specify an ADF Template
7.3.6
Showing a Command Link
7.3.7
Displaying an Image
7.3.8
Customizing the Label
7.4
How to Create Task Flow View Pages
7.5
Managing Pages
7.5.1
Using the Page Service Data Control to Manage Pages
7.5.1.1
How to Add the Page Service Data Control
7.5.1.2
How to View, Edit, and Delete Pages at Runtime
7.5.2
Using the Page Service APIs to Manage Pages and Task Flows
7.6
Introduction to Custom Styles and Templates
7.6.1
How to Create Templates for Pages Created at Runtime
7.6.1.1
How to Create a Page or Page Fragment Style
7.6.1.2
How to Edit Create Page Dialog Styles
7.6.2
Using ADF Templates
7.6.2.1
How to Specify the ADF Template Name Using the Task Flow Parameter
7.6.2.2
How to Specify the ADF Template Name Using API Parameters
7.6.3
Creating Styles for the Create Page Dialog
7.6.3.1
How to Create a Style for the Create Page Dialog
7.6.3.2
How to Reference a New Style from the Page - Create New Task Flow
7.7
Customizing Page Service Views
7.7.1
Rendering Pages with ADF Faces Components
7.7.1.1
Rendering Pages as Tabs Using ADF Faces Components
7.7.1.2
Rendering Pages as Links Using ADF Faces Components
7.7.1.3
Rendering Pages as Image Links Using ADF Faces Components
7.7.2
Managing User Security on Pages and Task Flows
7.8
Introduction to the Page Service APIs
7.8.1
Using the Page Service APIs
7.8.1.1
Location of the Page Service APIs
7.8.1.2
How to Set up Your Application to Use the Page Service APIs
7.8.1.3
Example: How to Create a Page
7.9
Page Service Samples
8
Integrating Content
8.1
Introduction to Content Integration
8.1.1
Overview of Content Data Controls and Adapters
8.1.2
Overview of Content Data Control Methods, Parameters, and Default Attributes
8.1.2.1
The getItems Method
8.1.2.2
The search Method
8.1.2.3
The advancedSearch Method
8.1.2.4
The getURI Method
8.1.2.5
The getAttributes Method
8.2
Configuring Content Repository Connections
8.2.1
How to Create a Content Repository Connection Based on the Oracle Content Server Adapter
8.2.2
How to Create a Content Repository Connection Based on the Oracle Portal Adapter
8.2.3
How to Create a Content Repository Connection Based on the File System Adapter
8.2.4
What Happens When You Create a Repository Connection
8.2.5
What You May Need to Know When Creating a Repository Connection
8.2.5.1
What You Should Know About Using Identity Propagation and External Application Authentication Methods
8.2.5.2
What You Should Know About Oracle Portal
8.2.6
How to Edit a Common Repository Connection
8.2.7
How to Edit a WebCenter Application-Specific Content Repository Connection
8.2.8
How to Use an Existing Repository Connection for a New WebCenter Application
8.3
Adding Content Using Content Repository Connections
8.3.1
How to Add Content as an ADF Inline Frame
8.3.2
How to Add Content as an ADF Image
8.3.3
How to Add Content as an ADF Go Link
8.4
Configuring Content Data Controls for JCR Adapters
8.4.1
How to Configure a Content Repository Data Control
8.4.2
What Happens When You Configure a Content Repository Data Control
8.4.3
How to Edit a Content Repository Data Control
8.4.4
Securing a Content Repository Data Control
8.5
Integrating Content Using Content Data Controls: Examples
8.5.1
How to Publish Content As Links
8.5.1.1
Publishing Content As a Textual Link
8.5.1.2
Creating a Clickable Image to Link to a Document
8.5.2
What Happens at Runtime
8.5.3
How to Publish Content in a Table
8.5.3.1
Displaying Files and Folders in Read-Only Format
8.5.3.2
Displaying the Name Attribute As a Go Link
8.5.3.3
Configuring a Table to Show Only Files
8.5.4
What Happens at Runtime
8.5.5
How to Publish Folder Content in a Tree
8.5.5.1
Displaying Files and Folders in Read-Only Format
8.5.5.2
Displaying File Names As Hyperlinks
8.5.6
What Happens at Runtime
8.5.7
How to Add Search Capabilities to Content Repositories
8.5.7.1
Adding Simple Search Capabilities
8.5.7.2
Adding Advanced Search Capabilities
8.5.8
What Happens at Runtime
8.5.9
What You May Need to Know When Using Search Capabilities
9
Consuming Portlets
9.1
Introduction to Consuming Portlets
9.2
Registering Portlet Producers with a Custom WebCenter Application
9.2.1
How to Register a WSRP Portlet Producer
9.2.2
How to Map a Producer's Declared User Categories to an Application's Defined Java EE Security Roles
9.2.3
How to Register an Oracle PDK-Java Portlet Producer
9.2.4
How to Edit Portlet Producer Registration Settings
9.2.5
How to Test a Portlet Producer Connection
9.2.6
How to Refresh a Portlet Producer
9.2.7
How to Delete a Portlet Producer
9.3
Adding Portlets to a Page
9.3.1
How to Add a Portlet to a Page
9.3.2
What Happens When You Add a Portlet to a Page
9.3.3
What Happens at Runtime
9.4
Setting Attribute Values for the Portlet Tag
9.4.1
How to Set Attribute Values for the Portlet Tag Using the Property Inspector
9.4.2
How to Set Attribute Values for the Portlet Tag in Source Code
9.4.3
Common Attributes of the Portlet Tag
9.4.4
Appearance Attributes of the Portlet Tag
9.4.5
Behavior Attributes of the Portlet Tag
9.4.6
Portlet Modes Attributes of the Portlet Tag
9.4.7
Style Attributes of the Portlet Tag
9.4.8
Binding Attributes of the Portlet Tag
9.4.9
Customization Attributes of the Portlet Tag
9.4.10
Annotations Attributes of the Portlet Tag
9.4.11
Other Attributes of the Portlet Tag
9.4.12
What You May Need to Know About Maximize, Minimize, Restore, and Move
9.4.13
What You May Need to Know About Iframes
9.5
Copying Portlets
9.5.1
How to Copy a Portlet and Place it on the Same Page
9.5.2
How to Copy a Portlet from One Application Page to Another
9.6
Deleting Portlets from Application Pages
9.7
Contextually Linking WSRP 2.0 Portlets
9.7.1
How to Link Portlets With Navigational Parameters
9.7.2
What Happens at Runtime
9.7.3
How To Associate Navigational Parameters with ADFm Events
9.7.4
What Happens at Runtime
9.7.5
How To Cascade Events Across Multiple Components
9.7.6
What Happens at Runtime
10
Integrating with Oracle WebCenter Spaces
10.1
Introduction to WebCenter Spaces
10.2
Programmatically Exposing WebCenter Functionality in Custom WebCenter Applications
10.2.1
Case Study 1: Purchasing Application Uses a Group Space to Evaluate Suppliers
10.2.2
Case Study 2: Customer Support Center Application Uses a Group Space to Discuss Customer Escalation
10.2.3
How to Set Up Your Custom WebCenter Application to Use the WebCenter Spaces APIs
10.2.3.1
Verifying That WebCenter Spaces Is Up and Running
10.2.3.2
Setting Up the Custom WebCenter Application to Use WebCenter Spaces APIs
10.2.3.3
Securing the Connection Between the Application and WebCenter Spaces
10.2.3.4
Setting Up the Group Space Client Context
10.2.4
How to Provide Group Space Functionality in Custom WebCenter Applications
10.2.4.1
Managing Group Spaces and Templates
10.2.4.2
Managing Group Space Membership
10.2.4.3
Retrieving Group Space and Template Information
10.2.5
How to Handle Exceptions Raised by WebCenter Spaces APIs
10.2.5.1
Providing Localized Error Messages
10.2.5.2
Listing the Error Stack
10.2.6
Finding Further Information
10.3
Exposing Enterprise Applications in WebCenter Spaces
10.3.1
Exposing Custom WebCenter Applications in WebCenter Spaces
10.3.2
Exposing Oracle Applications in WebCenter Spaces
10.3.3
Exposing Non-Oracle Applications in WebCenter Spaces
Part III Integrating Services
11
Preparing Your Application for Oracle WebCenter Web 2.0 Services
11.1
Preparing Your WebCenter Application to Consume Services
11.1.1
How to Prepare Your Application to Consume Services
11.1.1.1
Implementing Security for Services
11.1.2
Setting Up an External Application Connection
11.1.3
Automated Task Flow Grants
11.2
Extending Your Application with Custom Components
11.2.1
Introducing the Resource Action Handling Framework
11.2.2
Registering a Resource Viewer
11.3
Configuring General Settings for Your Services
12
Integrating the Announcements Service
12.1
Introduction to Announcements
12.1.1
Understanding the Announcements Service
12.1.2
Requirements for Announcements
12.2
Basic Configuration for the Announcements Service
12.2.1
Setting Up a Connection for Announcements
12.2.1.1
Announcements Connections
12.2.1.2
How to Set Up Connections for Announcements
12.2.2
Adding the Announcements Service at Design Time
12.2.2.1
Announcements Task Flows
12.2.2.2
How to Add Announcements to Your Application
12.2.3
Setting Security for Announcements
12.3
Advanced Information for the Announcements Service
12.3.1
How to Add the Announcements - Sidebar View Task Flow
12.3.2
Customizing Announcements Views
13
Integrating the Discussions Service
13.1
Introduction to Discussions
13.1.1
Understanding the Discussions Service
13.1.2
Requirements for Discussions
13.2
Basic Configuration for the Discussions Service
13.2.1
Setting up Connections for Discussions
13.2.1.1
Discussions Connections
13.2.1.2
How to Set Up Connections for Discussions
13.2.2
Adding the Discussions Service at Design Time
13.2.2.1
Discussions Task Flows
13.2.2.2
How to Add Discussions to your Application
13.2.3
Setting Security for Discussions
13.3
Advanced Information for the Discussions Service
13.3.1
Customizing Discussions Views
13.3.2
Adding the Discussions - Popular Topics Task Flow
13.3.3
Adding the Discussions - Recent Topics Task Flow
13.3.4
Adding the Discussions - Watched Forums Task Flow
13.3.5
Adding the Discussions - Watched Topics Task Flow
13.3.6
Adding the Discussions - Sidebar View Task Flow
13.3.7
Using Custom Discussions APIs
13.3.8
Troubleshooting the Discussions Service
14
Integrating the Documents Service
14.1
Introduction to the Documents Service
14.1.1
Understanding the Documents Service
14.1.2
Requirements for the Documents Service
14.2
Basic Configuration for the Documents Service
14.2.1
Setting Up Connections
14.2.2
Adding the Documents Service at Design Time
14.2.2.1
Documents Service Task Flows and Task Flow Parameters
14.2.2.2
How to Add the Documents Service Task Flows at Design Time
14.2.3
Setting Security for the Documents Service
14.3
Advanced Information for the Documents Service
14.3.1
Using the Documents Service with Other WebCenter Web 2.0 Services
14.3.2
Modifying the Documents Service Task Flow Parameters
14.3.2.1
Modifying the Task Flow Binding Parameters
14.3.2.2
Uploading Files to Content Repositories
14.3.3
Customizing Documents Service Views
14.3.3.1
Displaying Only Recent Documents for the Currently Authenticated User
14.3.3.2
Customizing the Document Library - List View with Oracle Composer
14.3.4
Using Adapters with the Documents Service
15
Integrating the Instant Messaging and Presence Service
15.1
Introduction to the IMP Service
15.1.1
Understanding the IMP Service
15.1.2
Requirements for IMP
15.2
Basic Configuration for the IMP Service
15.2.1
Setting up Connections for the IMP Service
15.2.1.1
IMP Service Connections
15.2.1.2
How to Set Up OWLCS Connections for the IMP Service
15.2.1.3
How to Set Up LCS Connections for the IMP Service
15.2.2
Adding the IMP Service at Design Time
15.2.2.1
IMP Service Task Flows
15.2.2.2
How to Add the IMP Service to your Application
15.2.2.3
Adding the Buddies Task Flow
15.2.3
Setting Security for the IMP Service
15.3
Advanced Information for the IMP Service
15.3.1
Customizing IMP Views
15.3.2
Troubleshooting the IMP Service
16
Integrating the Links Service
16.1
Introduction to the Links Service
16.1.1
Understanding the Links Service
16.1.2
Requirements for the Links Service
16.2
Basic Configuration for the Links Service
16.2.1
Setting up Connections for the Links Service
16.2.2
Adding the Links Service at Design Time
16.2.2.1
Links Service Task Flows
16.2.2.2
How to Add the Links Service to your Application
16.2.3
Setting Security for the Links Service
16.2.4
Troubleshooting the Links Service
17
Integrating the Mail Service
17.1
Introduction to the Mail Service
17.1.1
Understanding the Mail Service
17.1.2
Requirements for the Mail Service
17.2
Basic Configuration for the Mail Service
17.2.1
Setting up Connections for the Mail Service
17.2.2
Adding the Mail Service at Design Time
17.2.2.1
Mail Service Task Flows
17.2.2.2
How to Add the Mail Service to your Application
17.2.3
Setting Security for the Mail Service
17.3
Advanced Information for the Mail Service
17.3.1
Invoking the Mail Compose Page
17.3.2
Configuring the Number of Mails Displayed
17.3.3
Troubleshooting the Mail Service
18
Integrating the Recent Activities Service
18.1
Introduction to the Recent Activities Service
18.1.1
Understanding the Recent Activities Service
18.2
Basic Configuration for the Recent Activities Service
18.2.1
Setting up Connections for the Recent Activities Service
18.2.2
Adding the Recent Activities Service at Design Time
18.2.3
Setting Security for the Recent Activities Service
18.3
Advanced Information for the Recent Activities Service
19
Integrating the RSS Service
19.1
Introduction to the RSS Service
19.2
Basic Configuration for the RSS Service
19.2.1
Setting up a Proxy Server for the RSS Service
19.2.2
Adding the RSS Service at Design Time
19.2.2.1
RSS Service Task Flow
19.2.2.2
How to Add the RSS Service to Your Application
19.2.3
Setting Security for the RSS Viewer Service
20
Integrating the Search Service
20.1
Introduction to Search
20.2
Basic Configuration for the Search Service
20.2.1
Setting up Connections for the Search Service
20.2.2
Adding the Search Service at Design Time
20.2.2.1
Search Service Task Flows
20.2.2.2
How to Add the Search Service to Your Application
20.2.3
Setting Security for the Search Service
20.3
Advanced Information for the Search Service
20.3.1
Adding the Search Task Flow
20.3.2
Adding the Search - Saved Searches Task Flow
20.3.3
Adding the Search Preferences Task Flow
20.3.4
Including Oracle SES Results in WebCenter Search Results
20.3.4.1
Including Oracle SES Results in WebCenter Searches
20.3.4.2
Validating the Oracle SES Connection
20.3.5
Using Search Service APIs
20.3.6
Building Adapters for the Search Service
20.3.6.1
How to Add a Search Source
20.3.6.2
How to Register a Custom Adapter
20.3.6.3
Search Adapter Attributes
20.3.6.4
What Happens at Runtime
20.3.7
Troubleshooting the Search Service
21
Integrating the Tags Service
21.1
Introduction to the Tags Service
21.1.1
Understanding the Tags Service
21.1.2
Requirements for the Tags Service
21.2
Basic Configuration for the Tags Service
21.2.1
Setting up Connections for the Tags Service
21.2.1.1
How to Set Up Connections for the Tags Service
21.2.2
Adding the Tags Service at Design Time
21.2.2.1
Tags Service Components
21.2.2.2
Tags Service Task Flows
21.2.2.3
How to Add the Tags Service to your Application
21.2.3
Setting Security for the Tags Service
21.3
Advanced Information for the Tags Service
21.3.1
Optional Way to Show Tags on Pages
21.3.2
Using the Resource Action Handling Framework to Tag Custom Objects
21.3.3
Using Tagged Cloud and Tagged Items Together
22
Integrating Oracle WebCenter Wiki and Blog Server
22.1
Adding Wikis or Blogs to Your Application or Portal
22.1.1
Adding Wikis or Blogs by Using a Portlet
22.1.2
Adding Wikis or Blogs by Using an iFrame
22.1.3
Adding Wikis or Blogs by Using Web Services
22.2
Oracle WebCenter Wiki and Blog Server URL Endpoints and Query String Parameters
22.3
Oracle WebCenter Wiki and Blog Server Web Services Interface Interface
22.3.1
Definition of the Interface
22.3.2
Oracle WebCenter Wiki and Blog Server Web Services Security
22.3.3
Example Java program
23
Integrating the Worklist Service
23.1
Introduction to the Worklist Service
23.1.1
Understanding Worklists
23.1.2
Requirements for the Worklist Service
23.2
Basic Configuration for the Worklist Service
23.2.1
Setting up Connections for the Worklist Service
23.2.1.1
Worklist Service Connections
23.2.1.2
How to Set Up Connections for the Worklist Service
23.2.2
Adding the Worklist Service at Design Time
23.2.2.1
Worklist Service Task Flows
23.2.2.2
How to Add the Worklist Service to your Application
23.2.3
Setting Security for the Worklist Service
23.3
Advanced Information for the Worklist Service
23.3.1
Adding or Modifying Connections
Part IV Completing Your WebCenter Application
24
Securing Your WebCenter Application
24.1
Introduction to WebCenter Application Security
24.2
Working with External Applications
24.2.1
Using External Applications
24.2.1.1
Secured Service Connections
24.2.1.2
Automated Single Sign-On
24.2.2
Supplying User Credentials
24.2.3
Managing External Applications
24.2.3.1
Working with External Applications in Oracle JDeveloper
24.2.3.2
Working with External Applications in Enterprise Manager
24.2.3.3
Working with External Applications Using WLST
24.3
Setting Up Security for Your Application
24.4
Creating a Login Portlet
24.5
Creating Login Pages and a Login Component
24.6
Adding Portlets to a Login Page
24.7
Creating a Public Welcome Page for Your Application
24.8
Configuring Basic Authentication for Testing Portlet Personalization
24.9
Registering Custom Certificates with the Keystore
24.10
Overriding Inherited Security on Portlets and Customizable Components
24.10.1
Portlets Security
24.10.1.1
Defining Security at the Actions Category Level
24.10.1.2
Defining Security at the Actions Level
24.11
Identity Propagation Mechanisms
24.12
Securing Identity Propagation Through WSRP Producers with WS-Security
24.12.1
Identity Propagation Without WS-Security
24.12.2
Identity Propagation with WS-Security
24.12.3
Configuring Security for WSRP Portlets
24.13
Implementing PDK-Java Portlet Security
24.13.1
Assumptions
24.13.2
Introduction to PDK-Java Portlet Security Features
24.13.2.1
Identity Propagation
24.13.2.2
Authorization
24.13.2.3
Message-level Security
24.13.3
Single Sign-On
24.13.3.1
External Application
24.13.3.2
No Application Authentication
24.13.4
Portlet Security Managers
24.13.4.1
Implementing Your Own Security Manager
24.13.5
Message Authentication
24.13.6
User Input Escape
24.13.6.1
Default Container Encoding
24.13.6.2
Escape Methods
25
Testing and Deploying Your WebCenter Application
25.1
Introduction to Oracle WebLogic Servers
25.2
Testing a Custom WebCenter Application on Integrated WLS Server
25.2.1
How to Run a Custom WebCenter Application on Integrated WLS Server
25.2.2
What Happens When You Run a WebCenter Application on Integrated WLS Server
25.3
Deploying a Custom WebCenter Application to an Oracle WebLogic Managed Server Instance
25.3.1
What You May Need to Know About Database Connections and Application Security Migration When Deploying Custom WebCenter Applications
25.3.1.1
What You May Need to Know About JDBC DataSource
25.3.1.2
What You May Need to Know About JDBC URL
25.3.1.3
What You May Need to Know About Application Security Migration
25.3.2
How to Create Deployment Profiles
25.3.3
How to Create and Provision an Oracle WebLogic Managed Server Instance
25.3.4
How to Create and Register the Metadata Service Repository
25.3.5
How to Create a WebLogic Managed Server Connection
25.3.6
How to Deploy a Custom WebCenter Application to an Oracle WebLogic Managed Server Instance
25.3.7
What Happens When You Deploy A WebCenter Application to an Oracle WebLogic Managed Server Instance
25.4
Transporting Customizations Between Environments
26
Working Productively in Teams
26.1
Enabling Source Control on WebCenter Applications
26.1.1
Importing Application Files into CVS
26.1.2
Creating a Subversion Repository
26.2
Understanding WebCenter Application Files Affected by Developers
26.2.1
Files Associated With Common Objects
26.2.2
Developer Actions Affecting Metadata Files
26.3
Implementing Common Requirements Once
26.4
Portlet Producer Considerations
26.4.1
Portlet Producer Connections
26.4.2
Portlet Producer Name Clashes
26.4.3
Combining Portlets from Different Portlet Producers
Part V Building Portlets
27
Overview of Portlets
27.1
Introduction to Portlets
27.1.1
Portlet Anatomy
27.1.2
Portlet Resources
27.1.2.1
JSF Portlets
27.1.2.2
Rich Text Portlet
27.1.2.3
Prebuilt Portlets
27.1.2.4
Parameter Form and Parameter Display Portlets
27.1.2.5
Web Clipping
27.1.2.6
OmniPortlet
27.1.2.7
Programmatic Portlets
27.1.2.8
Deciding Which Tool to Use
27.2
Portlet Technologies Matrix
27.2.1
General Suitability
27.2.1.1
Oracle JSF Portlet Bridge
27.2.1.2
Web Clipping
27.2.1.3
OmniPortlet
27.2.1.4
Programmatic Portlets
27.2.2
Expertise Required
27.2.2.1
Oracle JSF Portlet Bridge
27.2.2.2
Web Clipping
27.2.2.3
OmniPortlet
27.2.2.4
Programmatic Portlets
27.2.3
Deployment Type
27.2.3.1
PDK-Java Producers
27.2.3.2
WSRP Producers
27.2.3.3
Producer Architecture
27.2.4
Caching Style
27.2.4.1
Oracle JSF Portlet Bridge
27.2.4.2
Web Clipping and OmniPortlet
27.2.4.3
Programmatic Portlets
27.2.5
Development Tool
27.2.5.1
Oracle JSF Portlet Bridge
27.2.5.2
Web Clipping and OmniPortlet
27.2.5.3
Programmatic Portlets
27.2.6
Portlet Creation Style
27.2.6.1
Oracle JSF Portlet Bridge
27.2.6.2
OmniPortlet and Web Clipping
27.2.6.3
Programmatic Portlets
27.2.7
User Interface Flexibility
27.2.7.1
Oracle JSF Portlet Bridge
27.2.7.2
Web Clipping
27.2.7.3
OmniPortlet
27.2.7.4
Programmatic Portlets
27.2.8
Ability to Capture Content from Web Sites
27.2.8.1
Oracle JSF Portlet Bridge
27.2.8.2
Web Clipping
27.2.8.3
OmniPortlet
27.2.8.4
Programmatic Portlets
27.2.9
Ability to Render Content Inline
27.2.9.1
Oracle JSF Portlet Bridge
27.2.9.2
Web Clipping
27.2.9.3
OmniPortlet
27.2.9.4
Programmatic Portlets
27.2.10
Charting Capability
27.2.10.1
Oracle JSF Portlet Bridge
27.2.10.2
Web Clipping
27.2.10.3
OmniPortlet
27.2.10.4
Programmatic Portlets
27.2.11
Public Portlet Parameter Support
27.2.12
Private Portlet Parameter Support
27.2.12.1
Oracle JSF Portlet Bridge
27.2.12.2
OmniPortlet and Web Clipping
27.2.12.3
Programmatic Portlets
27.2.13
Ability to Hide and Show Portlets Based on User Privileges
27.2.13.1
Oracle JSF Portlet Bridge
27.2.13.2
Web Clipping and OmniPortlet
27.2.13.3
Programmatic Portlets
27.2.14
Multilingual Support
27.2.15
Pagination Support
27.2.15.1
Oracle JSF Portlet Bridge
27.2.15.2
Web Clipping
27.2.15.3
OmniPortlet
27.2.15.4
Programmatic Portlets
27.2.16
Authenticating to External Applications
27.2.16.1
Oracle JSF Portlet Bridge
27.2.16.2
Web Clipping
27.2.16.3
OmniPortlet
27.2.16.4
Programmatic Portlets
28
Creating Portlets with the Oracle JSF Portlet Bridge
28.1
Introduction to the Oracle JSF Portlet Bridge
28.2
Creating a Portlet from a JSF Application
28.2.1
How to Create a JSF Portlet Based on a Page
28.2.2
How to Create a JSF Portlet Based on a Task Flow
28.2.2.1
Creating a Portlet From a Task Flow Using the Create Portlet Entry Dialog
28.2.2.2
Creating a Portlet From a Task Flow Using the Manage Portlet Entries of Task Flows Dialog
28.2.3
How to Test a JSF Portlet
28.2.4
What Happens at Runtime
28.2.5
What You May Need to Know When Creating a JSF Portlet
28.2.5.1
General Guidelines
28.2.5.2
Portlet Guidelines
28.2.5.3
Security Guidelines
28.2.5.4
JSF Guidelines
28.2.5.5
Oracle ADF Guidelines
28.3
Creating JSF Portlets: Example
28.3.1
How to Create the Example Application
28.3.2
How to Create Portlets from the Task Flows in the Example Application
28.3.3
How to Consume the JSF Portlets from the Example Application
29
Creating Portlets with the Portlet Wizard
29.1
Introduction to Java Portlets
29.1.1
Introduction to Standards-Based Java Portlets
29.1.2
Introduction to PDK-Java Portlets
29.2
Creating Java Portlets
29.2.1
How to Create a JSR 168 Java Portlet
29.2.2
What Happens When You Create a JSR 168 Java Portlet Using the JDeveloper Wizard
29.2.3
How to Create a PDK-Java Portlet
29.2.4
What Happens When You Create a PDK-Java Portlet
29.2.5
What You May Need to Know When Creating Java Portlets
29.2.5.1
Guidelines for Portlet Modes
29.2.5.2
Guidelines for Navigation within a Portlet
29.2.5.3
Guidelines for JavaScript
29.2.5.4
Guidelines for PDK-Java Portlets
30
Coding Portlets
30.1
Enhancing JSR 168 Java Portlets
30.1.1
How to Add Personalization
30.1.2
How to Implement Navigational Parameters (WSRP 2.0)
30.1.3
How to Implement Export/Import of Customizations (WSRP 2.0)
30.1.4
How to Implement Rewritten URLs for Resource Proxy
30.1.5
How to Implement Stateless Resource Proxying
30.1.6
How to Disable Java Object Cache for Preference Store Access
30.1.7
How to Implement Security for JSR 168 Portlets
30.2
Enhancing PDK-Java Portlets
30.2.1
How to Add Portlet Modes
30.2.2
How to Implement Public Parameters
30.2.3
How to Implement Private Parameters
30.2.3.1
About Private Parameters
30.2.3.2
About Portlet URL Types
30.2.3.3
Building Links with the Portlet URL Types
30.2.3.4
Building Forms with the Portlet URL Types
30.2.3.5
Implementing Navigation within a Portlet
30.2.3.6
Restricting Navigation to Resources
30.2.4
How to Use JNDI Variables
30.2.4.1
Declaring JNDI Variables
30.2.4.2
Setting JNDI Variable Values
30.2.4.3
Retrieving JNDI Variables
30.2.5
How to Access Session Information
30.2.5.1
Implementing Session Storage
30.2.5.2
Viewing the Portlet
30.2.6
How to Enhance Portlet Performance with Caching
30.2.6.1
Activating Caching
30.2.6.2
Adding Expiry-Based Caching
30.2.6.3
Adding Validation-Based Caching
30.3
Testing Portlet Personalization
30.4
Building Struts Portlets
30.4.1
Creating a Struts Portlet
30.4.1.1
Create a New Flow and View to Host the Portlet Actions
30.4.1.2
Creating the New JSPs
30.4.1.3
Creating a Portlet
30.4.1.4
Extending the Portlet to Add Business Logic
30.4.1.5
Registering the Producer
31
Creating Portlets with OmniPortlet
31.1
Introduction to OmniPortlet
31.2
Adding OmniPortlet to Your Application
31.3
Customizing OmniPortlet
31.4
Troubleshooting OmniPortlet Problems
31.4.1
Cannot Define OmniPortlet Using the Define Link
32
Creating Content-Based Portlets with Web Clipping
32.1
Introduction to Web Clipping
32.2
Adding Web Clipping to Your Application
32.3
Integrating Authenticated Web Content Using Single Sign-On
32.4
Advanced Features of Web Clipping
32.4.1
Using Web Clipping Open Transport API
32.4.2
Rewriting Image Links to Use a Resource Proxy
32.5
Current Limitations of Web Clipping
33
Testing and Deploying Your Portlets
33.1
Introduction to Portlet Deployment Testing in a Development Environment
33.2
Testing a Portlet Application on Integrated WebLogic Server
33.2.1
How to Test JSR 168 Portlets on Integrated WebLogic Server
33.2.2
What Happens When You Test JSR 168 Portlets on Integrated WebLogic Server
33.2.3
How to Test PDK-Java Portlet Applications on Integrated WebLogic Server
33.2.4
What Happens When You Test PDK-Java Portlet Applications on Integrated WebLogic Server
33.3
Deploying a Portlet Application to an Oracle WebLogic Managed Server Instance
33.3.1
How to Create Deployment Profiles
33.3.1.1
Creating a WAR Deployment Profile
33.3.1.2
Creating a Deployment Descriptor
33.3.2
How to Create and Provision a WebLogic Managed Server Instance
33.3.3
How to Create and Register the Metadata Service Repository
33.3.4
How to Create a WebLogic Managed Server Connection
33.3.5
How to Deploy a Portlet Application to an Oracle WebLogic Managed Server Instance
33.3.6
What Happens When You Deploy a Portlet Application to an Oracle WebLogic-Managed Portlet Server
33.4
Registering and Viewing Your Portlet
Part VI Appendixes
A
Files for WebCenter Applications
A.1
About Files
A.2
Files Overview
A.3
Files Related to JSR 168 Portlets
A.3.1
portlet.xml
A.3.2
oracle-portlet.xml
A.3.2.1
oracle-portlet.xml Syntax
A.3.2.2
oracle-portlet.xml Sample With Navigation Parameters
A.3.3
oracle-portlet-tags.jar
A.3.4
portlet_mode.jsp
A.3.5
portlet_name.java
A.3.6
portlet_nameBundle.jar
A.3.7
web.xml
A.3.8
connections.xml
A.4
Files Related to PDK-Java Portlets
A.4.1
producer_name.properties
A.4.2
_default.properties
A.4.3
index.jsp
A.4.4
portlet_name_modePage.jsp
A.4.5
provider.xml
A.4.5.1
provider.xml Syntax
A.4.5.2
provider.xml Sample
A.4.6
web.xml
A.4.7
connections.xml
A.5
Files Related to Pages
A.5.1
adf-config.xml
A.5.2
DataBindings.cpx
A.5.3
faces-config.xml
A.5.4
page_name.jspx
A.5.5
PageDef.xml
A.5.6
web.xml
A.5.7
mds Subdirectory
A.5.8
wsdl Subdirectory
A.6
Files Related to Security
A.6.1
jazn-data.xml
A.6.2
cwallet.sso
A.6.3
jps-config.xml
A.6.4
adf-config.xml
A.7
Files Related to WebCenter Web 2.0 Services
B
Oracle Composer Component Properties and Files
B.1
Oracle Composer Component Properties
B.1.1
Page Customizable
B.1.2
Change Mode Link and Change Mode Button
B.1.3
Layout Customizable Component
B.1.4
Panel Customizable Component
B.1.5
Show Detail Frame Component
B.1.6
Custom Action
B.1.7
ImageLink
B.2
Oracle Composer-Specific Files and Configurations
B.2.1
pe_ext.xml
B.2.1.1
addon-config
B.2.1.2
property-panels
B.2.1.3
event-handlers
B.2.1.4
filter-config
B.2.2
adf-config.xml
B.2.2.1
addon-panels
B.2.2.2
sandbox-namespaces
B.2.2.3
session-options-factory
B.2.2.4
rcv-config
B.2.2.5
customizableComponentsSecurity
B.2.2.6
mds-config
B.2.3
web.xml
B.2.3.1
CHANGE_PERSISTENCE Context Parameter
B.2.3.2
WebCenterComposerFilter
B.3
Oracle Composer Default Add-Ons and Property Panels
B.4
Oracle Composer Help Topic IDs
B.5
Oracle Composer Components Style-Specific Properties
B.5.1
Style Selectors for Oracle Composer Components
B.5.1.1
Global Style Selectors
B.5.1.2
Page Customizable Style Selectors
B.5.1.3
Layout Customizable Style Selectors
B.5.1.4
Panel Customizable Style Selectors
B.5.1.5
Show Detail Frame Style Selectors
B.5.2
Style Attributes
B.6
Customizable Components (HTML) Properties
B.6.1
Panel Customizable (HTML) Component
B.6.2
Show Detail Frame (HTML) Component
B.6.3
Customizable Components (HTML) Style Selectors
B.6.3.1
Panel Customizable (HTML) Style Selectors
B.6.3.2
Show Detail Frame (HTML) Style Selectors
B.6.3.3
Property Keys
B.6.3.4
Icon Selectors
C
Resource Catalog Properties and Files
C.1
Configuration and Location of Catalog Definitions
C.2
Default Catalog Definition
C.3
XML Schema
C.4
Catalog Definition Attributes
C.4.1
catalogDefinition
C.4.2
dynamicFolder
C.4.3
folder
C.4.4
attributes
C.4.5
attribute
C.4.6
resource
C.4.7
schema
D
Calling Oracle SES to Search Data
D.1
How to Call Oracle SES to Search Data
D.1.1
Create a Data Control
D.1.2
Use the Data Control on a Page
D.1.3
Format the Output
E
Additional Portlet Configuration
E.1
Java Portlet Configuration Tips
E.2
OmniPortlet Configuration Tips
E.2.1
Configuring the OmniPortlet Producer to Access Data Outside a Firewall
E.2.2
Configuring the OmniPortlet Producer to Access Other Relational Databases
E.2.2.1
Installing DataDirect JDBC Drivers
E.2.2.2
Registering DataDirect Drivers in OmniPortlet
E.2.3
Configure Portal Tools and Web Producers (Optional)
E.3
Web Clipping Portlet Configuration Tips
E.3.1
Web Clipping Repository Configuration
E.3.1.1
Using Oracle Metadata Services (MDS) as the Web Clipping Repository
E.3.1.2
Using an Oracle Database as the Web Clipping Repository
E.3.1.3
Configuring Web Clipping Repository in provider.xml
E.3.1.4
Attributes and Child Tags of the repositoryInfo Tag
E.3.2
HTTP or HTTPS Proxy Configuration
E.3.3
Web Clipping Producer Security
E.3.3.1
Adding Certificates for Trusted Sites
E.3.3.2
Configuring Oracle Advanced Security for the Web Clipping Producer
E.4
Setting Up a Preference Store
E.4.1
WSRP Producers
E.4.2
PDK-Java Producers
E.5
Portlet Preference Store Migration Utilities
E.5.1
JPS Portlet Preference Store - PersistenceMigrationTool
E.5.2
PDK-Java Portlet Preference Store - Migration and Upgrade Utilities
E.5.2.1
Migration Mode
E.5.2.2
Upgrade Mode
E.5.3
Web Clipping Repository
E.5.4
Moving a Producer
F
Reuse of Oracle Portal Components
F.1
Introduction to Oracle Portal Components
F.2
Reusing Portlets
F.2.1
How to Reuse JSR 168 and Oracle PDK-Java Portlets
F.2.2
What You May Need to Know About Events
F.2.3
What You May Need to Know About Mobile Portlets
F.2.4
What You May Need to Know About the Portlet Chrome
F.2.5
What You May Need to Know About Personalizations and Customizations
F.2.6
What You May Need to Know About Oracle Portal System Resources
F.2.7
What You May Need to Know About Partner and External Applications
F.2.8
How to Use the Federated Portal Adapter to Reuse Database Portlets
F.2.9
What You May Need to Know About Troubleshooting the Federated Portal Adapter
F.2.9.1
On Registration
F.2.9.2
During Runtime
F.2.10
What You May Need to Know About Limitations of the Federated Portal Adapter
F.2.11
How to Reuse Oracle PDK-Java Producers from Earlier Oracle Application Server Versions
F.2.11.1
Consuming a Portlet from Oracle Portal
F.2.11.2
Redeploying PDK-Java Producers from Oracle Portal
F.3
Reusing Items
Glossary
Index