Skip Headers
Oracle® Fusion Middleware Developer's Guide for Oracle WebCenter
11
g
Release 1 (11.1.1.4.0)
E10148-12
Library
Product
Index
Next
Contents
Title and Copyright Information
Preface
Audience
Documentation Accessibility
Related Documents
Conventions
Part I Introduction
1
Developer's Quick Start Guide
1.1
WebCenter Portal Developer's FAQ
1.2
Installing Required Software
1.3
Preparing for Team Development
1.4
Creating a New WebCenter Portal Application
1.5
Preparing for Iterative Development
1.5.1
What Is Iterative Development?
1.5.2
How Does Iterative Development Work?
1.5.3
Enabling Iterative Development
1.5.4
Turning Off Iterative Development
1.6
Creating Application Resource Connections
1.6.1
Where Are Connections Located?
1.6.2
How Do I Access the Connection Wizards?
1.6.3
Where Can I Learn More About Connections?
1.7
Planning the Portal Layout
1.8
Working with Skins
1.9
Preparing for Round-Trip Development
1.10
What Configuration Files Should I Know About?
1.10.1
The WebCenter Portal Application Template Default web.xml File
1.10.2
The WebCenter Portal Application Template Default faces-config.xml File
1.10.3
The WebCenter Application Template Default trinidad-config.xml File
1.10.4
The WebCenter Application Template Default adfc-config.xml File
1.11
Installing Database Schemas
2
Understanding Oracle WebCenter
2.1
What Is Oracle WebCenter?
2.2
Introducing the Oracle WebCenter Portal Framework
2.3
What WebCenter Features Can I Add to a Portal?
2.3.1
Portlets and Pagelets for Accessing Remote Applications and Services
2.3.1.1
What Are Portlets?
2.3.1.2
What Are Pagelets?
2.3.2
Oracle Composer Allows User Customization
2.3.3
Content Integration with Supported Content Repositories
2.3.4
Search Framework
2.3.5
Resource Catalogs Help Organize the Development Experience
2.3.6
Application Security
2.4
Introducing Oracle WebCenter Services
2.4.1
WebCenter Services and the REST APIs
2.5
Introducing Oracle Application Development Framework (Oracle ADF)
2.5.1
What Is Oracle ADF?
2.5.2
Why Is Oracle ADF Important for WebCenter Portal Developers?
2.5.3
What Does Oracle ADF Technology Include?
2.6
Introducing Oracle JDeveloper and the WebCenter Extension
2.7
Understanding the Application Life Cycle
2.8
Design Questions to Consider Before You Start
2.8.1
User Considerations
2.8.2
Site Administrator Considerations
2.8.3
Developer Considerations
2.9
Overview of WebCenter Accessibility Features
2.9.1
Generating Accessible HTML
2.9.2
Accessibility Features at Runtime
2.9.3
Accessibility Considerations for Portlets
3
Preparing Your Development Environment
3.1
Installing Oracle JDeveloper
3.2
Installing the WebCenter Extension Bundle
3.3
Setting the User Home Directory Environment Variable
3.4
Working with the Integrated WebLogic Server
3.4.1
How to Start and Stop Integrated WLS
3.4.2
What You May Need to Know About Integrated WLS
3.4.3
The WebCenter Preconfigured Server Readme File
3.4.4
What You May Need to Know About Preconfigured Portlet Producers
3.4.4.1
OmniPortlet and Web Clipping
3.4.4.2
The WSRP Sample Portlet Producers and Portlets
3.4.4.3
The PDK-Java Sample Portlet Producer and Portlets
3.5
Installing Database Schemas
3.5.1
Installing Schemas With RCU
3.5.2
Installing the WebCenter Schema with a SQL Script
3.6
Installing the Oracle WebCenter Adapter for Microsoft SharePoint
4
Working Productively in Teams
4.1
Enabling Source Control on WebCenter Portal Applications
4.1.1
Creating a Subversion Repository
4.1.2
Understanding Oracle Team Productivity Center
4.2
Understanding WebCenter Portal Application Files Affected by Developers
4.2.1
Files Associated With Common Objects
4.2.2
Developer Actions Affecting Metadata Files
4.3
Implementing Common Requirements One Time
4.4
Portlet Producer Considerations
4.4.1
Portlet Producer Connections
4.4.2
Portlet Producer Name Clashes
4.4.3
Combining Portlets from Different Portlet Producers
5
Creating WebCenter Applications
5.1
What Are WebCenter Application Templates?
5.2
Creating a WebCenter Portal Application and Adding Pages
5.2.1
How to Create a WebCenter Portal Application
5.2.2
Adding Pages to the Portal
5.3
Understanding the PortalWebAssets Project
5.3.1
Introduction
5.3.2
Decoupling the Static Application Resources Project
5.3.3
Deployment Options
5.3.4
Using EL to Manage Static Resources
5.3.4.1
Defining a Base URL Preference
5.3.4.2
Mapping URLs Dynamically
5.4
Creating a Portlet Producer Application
5.4.1
How to Create a Portlet Application Using a Template
5.4.2
What Happens When You Use a Portlet Producer Application Template
5.5
How Is Portal Application Security Configured by Default?
6
Advanced Configuration Options
6.1
Manually Configuring a WebCenter Application With Technology Scopes
6.1.1
What are Technology Scopes?
6.1.2
Adding and Removing Technology Scopes
6.1.3
What Are the Default Technology Scopes for a Portal Application?
6.1.4
Which Technology Scopes Are Portal Application-Specific?
6.1.5
Can I Create a Portal Application by Adding the Portal Framework Technology Scope Later?
6.1.6
Migrating a WebCenter PS2 or Earlier Application to a WebCenter Portal Application
6.2
Extending Non-WebCenter Applications to Include WebCenter Capabilities
6.3
Creating a Project by Importing a WAR File
7
Preparing Your Application for Oracle WebCenter Services
7.1
Understanding WebCenter Services Technologies
7.1.1
Understanding WebCenter Horizontal Services
7.1.2
Understanding WebCenter APIs
7.1.3
Using WebCenter Data Controls
7.2
Preparing Your WebCenter Portal Application to Consume Services
7.2.1
How to Prepare Your Application to Consume Services
7.2.1.1
Implementing Security for Services
7.2.1.2
Setting Up SSL-Protected Connections for Services
7.2.2
Setting Up a Database Connection
7.2.2.1
Associating Existing Database Connections
7.2.3
Setting Up an External Application Connection
7.3
Extending Your Application with Custom Components
7.3.1
Introducing the Resource Action Handling Framework
7.3.2
Registering a Resource Viewer
7.3.3
Creating a Resource Authorizer Class
7.3.4
Specifying the View Handler and Navigation Behavior
7.4
Configuring General Settings for Your Services
7.4.1
Building a Preferences User Interface
7.4.2
Using General Settings to Specify the User's Locale
Part II Setting Up Your Portal Structure
8
Understanding WebCenter Portal Applications
8.1
What is a Portal?
8.2
What is the WebCenter Portal Framework?
8.2.1
How Do I Add Portal Framework to a Project?
8.2.2
What Features Does the Portal Framework Provide?
8.3
What is the Portal Life Cycle?
8.4
Creating a WebCenter Portal Application
8.5
Understanding the Features of a Portal Application
8.5.1
Understanding Pages, Page Templates, and the Portal Page Hierarchy
8.5.2
Securing Your Portal Pages
8.5.3
Understanding the Navigation Model and the Navigation Registry
8.5.4
Understanding Resource Catalogs and the Catalog Registry
8.5.5
Other Design Time Folders
8.5.6
Tips for More Advanced Development Use Cases
8.6
Developing Your Portal's Look and Feel
8.7
Changing Default Portal Preferences
8.7.1
What Are the Default Portal Preferences?
8.7.2
How to Change the Default Preferences at Design Time
8.8
Using Iterative and Round Trip Development Techniques
8.9
What is the Application Sources Folder?
8.10
Running and Testing a Portal
8.11
WebCenter Portals at Runtime
8.11.1
Preserving Runtime Customizations on the Integrated WebLogic Server
8.11.2
Runtime WebCenter Portal Administration Console
8.11.3
How Security Settings Affect the Runtime Portal?
8.11.4
Runtime Editing of Portal Resources
8.12
How are WebCenter Portal Files Organized?
8.12.1
Understanding the Organization of a WebCenter Portal Application
8.12.1.1
How is a Portal Application Organized?
8.12.1.2
Why Is a Portal Application Organized the Way It Is?
8.12.2
Viewing Your Portal Project on the Filesystem
8.12.3
Viewing Your Portal Project in JDeveloper
8.13
Changing the Default Home Page and Login/Logout Target Pages
8.13.1
Understanding How the Home Page is Specified
8.13.2
How to Change the Default Home Page
8.13.3
How is the Default Index Page Specified?
8.13.4
Specifying the Target Page After a Login or Logout
8.14
Basic Portal Development Tasks
9
Understanding the Portal Life Cycle
9.1
What is the WebCenter Portal Life Cycle?
9.2
What Are the Major Life Cycle Tasks?
9.2.1
One-Time Setup Tasks
9.2.2
Development Environment Tasks
9.2.3
Nightly Build Environment Tasks
9.2.4
Testing Environment Tasks
9.2.5
Stage Environment Tasks
9.2.6
Production Environment Tasks
9.3
Who Participates in the Portal Life Cycle?
9.4
Understanding the Build and Test Environments
9.5
Understanding the Staging and Production Environments
9.5.1
Provisioning the Staging Environment
9.5.2
Adding Content to the Staging Environment
9.5.3
Moving the Portal from Staging to Production
9.6
Tools for Managing the Life Cycle
9.7
Configuring a Nightly Build Script
9.8
Setting Up a Staging or Production Environment for the First Time
9.9
Moving a WebCenter Portal Application to an Existing Environment
9.10
Deploying to Managed Servers
9.11
Deploying and Configuring the Application on Targeted Servers
9.11.1
Introduction
9.11.2
Using the Deploy and Configure Script
9.12
Building and Deploying WebCenter Personalization Service Files
9.12.1
Building the WCPS MAR File
9.12.2
Deploying WCPS Files to a Server
9.12.3
Deploying WCPS Files to an Archive File
9.12.4
Importing and Exporting MAR Files
9.13
Using the Propagation Tool to Propagate From Staging to Production
9.13.1
Introduction to the Propagation Tool
9.13.2
Configuring the Propagation Tool
9.13.2.1
Configuring the URL Connection With Oracle Enterprise Manager
9.13.2.2
Configuring the URL Connection with WLST
9.13.3
Propagating Portal Metadata
9.13.4
Propagating WCPS Files
9.14
Propagating UCM Content
9.15
Managing Security Through the Life Cycle
9.15.1
Migrating Security Policies for First-Time Deployment
9.15.2
Migrating Security Policies On Redeployment
9.15.3
Migrating Credentials for First-Time Deployment
9.15.4
Migrating Credentials On Redeployment
9.16
Migrating Portlet Preferences
10
Building a Navigation Model for Your Portal
10.1
Introduction to Navigation Models
10.2
Creating a Navigation Model
10.3
Adding Resources to a Navigation Model
10.3.1
How to Drag and Drop a Resource onto a Navigation Model
10.3.2
How to Add a Content Item to a Navigation Model
10.3.3
How to Add Content Based on the Results of a Query to a Navigation Model
10.3.4
How to Add a Page, Portlet, Task Flow, External Application, or Web Page to a Navigation Model
10.3.5
How to Add a Page Hierarchy to a Navigation Model
10.3.6
How to Embed Another Navigation Model Within a Navigation Model
10.3.7
How to Extend Navigation Model Data
10.3.7.1
How to Add a Link to a Custom Resource
10.3.7.2
How to Add a Component to a Navigation Model
10.3.7.3
How to Add a Custom Folder to a Navigation Model
10.3.7.4
How to Add a Custom Content Provider to a Navigation Model
10.3.8
How to Organize Resources in a Navigation Model
10.3.9
How to Set Display Options for a Resource
10.4
Selecting the Default Navigation Model
10.5
Editing the Navigation Renderer
10.6
Setting the REDIRECT_OPTIONS Context Parameter
10.7
Enabling Runtime Administration of Navigation Models
10.7.1
How to Edit the Navigation Registry File
10.7.2
How to Enable Further Development of Deployed Navigation Models
10.7.2.1
Importing a Navigation Model
10.7.2.2
Exporting a Navigation Model
10.8
Working with WebCenter Spaces Navigation Models
11
Designing the Look and Feel of Your Portal
11.1
Introduction to Page Templates and Styles
11.1.1
Page Templates
11.1.2
Page Styles
11.1.3
Mashup Styles
11.1.4
Content Presenter Display Templates
11.2
Working with Page Templates
11.2.1
Introduction to the WebCenter Portal Application Seeded Page Templates
11.2.2
How to Create a Page Template
11.2.3
What You Should Know About Creating Page Templates for WebCenter Portal Applications
11.2.4
Enabling Runtime Switching of Page Templates
11.2.5
How to Edit a Page Template
11.2.6
How to Delete a Page Template
11.2.7
How to Enable Runtime Administration of a Page Template
11.2.8
How to Enable Further Development of Deployed Page Templates
11.2.8.1
Importing a Page Template
11.2.8.2
Exporting a Page Template
11.2.9
How to Create and Manage WebCenter Spaces Page Templates
11.3
Working with Page Styles
11.3.1
How to Create a Page Style
11.3.2
How to Enable Runtime Administration of a Page Style
11.3.3
How to Enable Further Development of Deployed Page Styles
11.3.3.1
Importing a Page Style
11.3.3.2
Exporting a Page Style
11.3.4
How to Create and Manage WebCenter Spaces Page Styles
11.4
Working with Mashup Styles
11.4.1
How to Create a Mashup Style
11.4.2
How to Enable Runtime Administration of Mashup Styles
11.4.3
How to Enable Further Development of Mashup Styles in a Deployed Application
11.4.3.1
Importing Mashup Styles
11.4.3.2
Exporting Mashup Styles
11.4.4
How to Create and Manage WebCenter Spaces Mashup Styles
12
Adding Resources to Your Portal
12.1
Adding Pages to Your Portal
12.2
Adding Service Task Flows to Your Portal
12.3
Adding Custom Task Flows to Your Portal
12.4
Adding Content from Oracle Content Server to Your Portal
12.5
Adding Portlets to Your Portal
12.6
Adding Pagelets to Your Portal
12.7
Adding External Applications to Your Portal
12.8
Adding Data Controls to Your Portal
13
Visualizing Your Portal Navigation
13.1
Introduction to Navigation Visualization
13.2
Adding Built-in Navigation Task Flows to a Page Template
13.2.1
How to Add a Navigation Task Flow to a Page Template
13.2.2
Navigation Task Flow Parameters
13.2.3
What You May Need to Know About Navigation Task Flow Style Classes
13.3
Programmatically Adding Navigation to a Page Template
13.3.1
Using the Navigation Expression Language APIs
13.3.1.1
Introduction to the Navigation Context
13.3.1.2
Introduction to the Navigation Runtime Model
13.3.1.3
Introduction to the Navigation Resource
13.3.1.4
How to Render the Navigation Model as a List of Links
13.3.1.5
How to Render the Navigation Model as a Tree
13.3.1.6
How to Render the Navigation Model as a Three-Level Menu
13.3.1.7
How to Render the Navigation Model as Breadcrumbs
13.3.1.8
How to Render Master-Detail Navigation
13.3.2
Using the Navigation REST APIs
13.4
Using Portal Navigation to Create a Sitemap
14
Creating and Managing Skins
14.1
Overview of Skins
14.2
Creating a Skin in JDeveloper
14.2.1
What You Should Know About Skin Creation
14.2.2
How to Create a CSS File
14.2.3
How to Define Skin Selectors
14.3
Editing portal-skin.css
14.3.1
What You Should Know About portal-skin.css
14.3.2
How to Edit portal-skin.css
14.4
Enabling Runtime Administration of Skins
14.4.1
What You Should Know About Enabling Runtime Administration of Skins
14.4.2
How to Enable Runtime Administration of a Skin
14.4.3
How to Enable Further Development of Deployed Skins
14.4.3.1
Importing a Skin
14.4.3.2
Exporting a Skin
14.4.4
Creating a Skin in JDeveloper and Making it Available at Runtime
14.4.5
How to Create and Manage Skins at Runtime
14.5
Applying Skins to WebCenter Portal Applications
14.5.1
Applying a Skin at Design Time
14.5.2
Applying a Skin at Runtime
14.6
How to Create and Manage WebCenter Spaces Skins
14.7
Deploying a Skin as a Separate Shared Library
14.7.1
About Skin Sharing
14.7.2
How to Deploy a Skin as a Separate Shared Library
14.8
Conditionally Changing Skins for Users
14.9
Troubleshooting Problems with Skins
14.10
Files Relates to Skins
14.10.1
adf-config.xml
14.10.2
trinidad-config.xml
14.10.3
trinidad-skins.xml
15
Creating and Managing Resource Catalogs
15.1
Overview of Resource Catalog
15.2
Creating a Custom Resource Catalog
15.2.1
How to Create a Custom Resource Catalog
15.2.2
How to Define Connections to Resources
15.2.3
How to Manage Content in the Resource Catalog
15.2.3.1
Adding a Folder
15.2.3.2
Adding a Link
15.2.3.3
Adding a Resource Catalog
15.2.3.4
Adding a Component
15.2.3.5
Adding a Custom Folder
15.2.3.6
Adding a Custom Content Provider
15.2.3.7
Dragging and Dropping a Resource into the Catalog
15.2.3.8
Editing a Resource
15.2.3.9
Deleting a Resource
15.2.3.10
Rearranging Resources in the Catalog
15.2.4
How to Expose Data Controls Created at Design Time
15.2.5
How to Expose Data Controls Created at Runtime
15.2.6
How to Control Visibility of Portlets in the Resource Catalog
15.2.7
How to Configure the Default Resource Catalog for an Application or Page
15.2.8
What You May Need to Know When Defining a Resource Catalog
15.2.9
How to Define Task Flow Parameters and Attributes of the Enclosing Show Detail Frames for Task Flows
15.3
Managing a Resource Catalog and Enabling Runtime Administration
15.3.1
Managing Resource Manager Entries
15.3.2
Enabling Further Development of Deployed Resource Catalogs
15.3.2.1
Exporting a Resource Catalog
15.3.2.2
Importing a Resource Catalog
15.3.3
Working with WebCenter Spaces Resource Catalogs
15.4
Filtering Items in the Resource Catalog
15.4.1
Resource-Level Filtering
15.4.2
Catalog-Level Filtering
15.5
Configuring Multiple Resource Catalogs
15.5.1
How to Configure Multiple Resource Catalogs
15.5.2
What Happens at Runtime
15.6
Troubleshooting Problems with the Resource Catalog
16
Adding and Using the Resource Manager
16.1
Introduction to Runtime Resource Management
16.2
Working with Portal Resources in JDeveloper
16.2.1
How to Add a Resource to the Resource Manager
16.2.2
How to Update Portal Resource Properties
16.2.3
How to Remove a Resource from the Resource Manager
16.3
Enabling Runtime Administration of Your Portal
16.3.1
How to Add the Resource Manager Task Flow
16.3.2
How to Use the Resource Manager at Runtime
16.3.2.1
Accessing the Resource Manager
16.3.2.2
Creating a Resource
16.3.2.3
Uploading and Downloading a Resource
16.3.2.4
Editing a Resource
16.3.2.5
Copying a Resource
16.3.2.6
Setting Security for a Resource
16.3.2.7
Deleting a Resource
16.3.2.8
Showing or Hiding a Resource
16.3.2.9
Editing the Source Code of a Resource
16.3.2.10
Setting Properties on a Resource
16.3.2.11
Previewing a Resource
16.4
Enabling Round-Trip Development of Resources
16.4.1
What You Should Know About Round-Trip Development of WebCenter Spaces Resources
16.4.2
How to Download a Resource Using the Resource Manager
16.4.3
How to Import a Portal Resource into JDeveloper
16.4.4
How to Export a Portal Resource from JDeveloper
16.4.5
How to Upload a Resource Using the Resource Manager
Part III Customizing Your Application and Extending Customization Options
17
Introduction to Oracle Composer
17.1
Application and User Customizations
17.2
View and Edit Modes of a Page
17.3
Customizing Capabilities in Page View Mode
17.3.1
Rearrange Components
17.3.2
Change the Layout
17.3.3
Expand and Collapse Components
17.4
Editing Capabilities in Design View in Page Edit Mode
17.4.1
Add Content
17.4.1.1
Add Box Components Adjacent to Existing Ones
17.4.1.2
Add a Tab Set or a Tab to a Box Component
17.4.2
Rearrange Page Content
17.4.3
Edit Component Properties and Parameters
17.4.4
Reset and Override Component Properties in the Current Layer
17.4.5
Edit Resource Strings
17.4.6
Show or Hide Components
17.4.7
Delete Components
17.4.8
Change the Layout
17.4.9
Edit Page Properties
17.4.10
Wire Components to Page Parameters
17.4.11
Reset Page
17.4.12
Reset Application Customizations on Detecting Errors
17.4.13
Create Labels On Saving Application Customizations
17.4.14
Manage Application Customizations
17.5
Editing Capabilities in Source View in Page Edit Mode
17.5.1
Rearrange Page Content Using Cut and Paste Options
17.5.2
Edit Content Inside a Task Flow
17.5.2.1
Reset Task Flow
17.5.3
Edit Content Inside a Declarative Component
17.5.4
Show or Hide Components
17.6
Oracle Composer Components
17.6.1
Page Customizable
17.6.2
Change Mode Link and Change Mode Button
17.6.3
Panel Customizable
17.6.4
Show Detail Frame
17.6.5
Layout Customizable
17.7
Security and Oracle Composer
17.7.1
Page Security
17.7.2
Task Flow Security
17.7.3
MDS Customization Restrictions
17.7.4
Component Action-Level Security
18
Enabling Runtime Creation and Management of Pages
18.1
Introduction to Page Creation and Management
18.2
Creating Pages and Task Flows
18.2.1
How to Create Pages
18.2.1.1
How to Add the Page - Create New Task Flow
18.2.1.2
Setting Security for the Page Service
18.2.1.3
How to Create Pages at Runtime
18.2.1.4
Structure of Pages Created at Runtime
18.2.1.5
How to Access Pages Created at Runtime
18.3
Defining Values for the Page - Create New Task Flow Parameters
18.3.1
How to Access Page - Create New Task Flow Parameters
18.3.2
Setting Scope in a Page - Create New Task Flow
18.3.3
Setting an Outcome Parameter
18.3.4
Specifying Styles
18.3.4.1
Out-of-the-Box Styles
18.3.4.2
Custom Styles
18.3.5
Specify an ADF Template
18.3.6
Showing a Command Link
18.3.7
Displaying an Image
18.3.8
Customizing the Label
18.4
How to Create Task Flow View Pages
18.5
Managing Pages
18.5.1
Using the Page Service Data Control to Manage Pages
18.5.2
Using the Page Service APIs to Manage Pages and Task Flows
18.6
Introduction to Custom Styles and Templates
18.6.1
How to Create Templates for Pages Created at Runtime
18.6.1.1
How to Create a Page or Page Fragment Style
18.6.1.2
How to Edit Create Page Dialog Styles
18.6.2
Using ADF Templates
18.6.2.1
How to Specify the ADF Template Name Using the Task Flow Parameter
18.6.2.2
How to Specify the ADF Template Name Using API Parameters
18.6.3
Creating Styles for the Create Page Dialog
18.6.3.1
How to Create a Style for the Create Page Dialog
18.6.3.2
How to Reference a New Style from the Page - Create New Task Flow
18.7
Customizing Page Service Views
18.7.1
Rendering Pages with ADF Faces Components
18.7.1.1
Rendering Pages as Tabs Using ADF Faces Components
18.7.1.2
Rendering Pages as Links Using ADF Faces Components
18.7.1.3
Rendering Pages as Image Links Using ADF Faces Components
18.7.2
Managing User Security on Pages and Task Flows
18.8
Advanced Information for the Page Service
18.8.1
Using the Page Service Java APIs
18.8.1.1
Configuration Settings Required for Using Page Service APIs
18.8.1.2
Introduction to the Page Service APIs
18.8.1.3
How to Set up Your Application to Use the Page Service APIs
18.8.1.4
Example: How to Create a Page
18.8.2
Using the Page Service Data Control
18.8.2.1
How to Add the Page Service Data Control
18.8.2.2
How to View, Edit, and Delete Pages at Runtime
18.9
Page Service Samples
19
Enabling Runtime Editing of Pages Using Oracle Composer
19.1
Designing Editable Pages Using Oracle Composer Components
19.1.1
How to Create a Customizable Page
19.1.2
How to Enable Runtime Customization Using a Page Customizable
19.1.3
How to Enable Switching Between Page Modes Using a Change Mode Link or Change Mode Button
19.1.4
How to Define Editable Areas of a Page Using Panel Customizable Components
19.1.5
How to Enable Layout Customization for a Page Using a Layout Customizable
19.1.6
How to Enable Component Customization Using Show Detail Frame Components
19.1.7
How to Create a Page Template for Creating Customizable Pages
19.1.8
How to Enable Customization in a Populated Page
19.1.9
What Happens When You Add Oracle Composer Components
19.1.10
What Happens at Runtime
19.1.11
What You May Need to Know When Designing Editable Pages
19.2
Designing Editable Pages Using Oracle Composer Components: Example
19.3
Populating Pages with Content
19.3.1
What You May Need to Know When Adding Content to the Page
19.3.1.1
Considerations for Adding Task Flows
19.4
Troubleshooting Oracle Composer Problems
20
Extending Runtime Editing Capabilities Using Oracle Composer
20.1
Overview of Extensibility Options
20.1.1
Oracle Composer Add-Ons
20.1.2
Oracle Composer Custom Property Panels
20.1.3
Oracle Composer Events Handlers
20.1.4
Drop Handlers
20.1.5
Component Property Filters
20.1.6
Customization Manager
20.1.7
Oracle Composer Toolbar Customization
20.1.8
Configuration Files
20.2
Creating Oracle Composer Add-Ons
20.2.1
How to Create and Register Add-Ons
20.2.1.1
Creating an Add-On Task Flow
20.2.1.2
Registering Add-Ons with Oracle Composer
20.2.1.3
Registering Add-Ons in adf-config.xml
20.2.2
What Happens at Runtime
20.2.3
How to Exclude Oracle Composer Default Add-Ons
20.2.4
How to Display the Customization Manager Add-On
20.2.5
How to Selectively Display Add-Ons
20.3
Creating Custom Property Panels
20.3.1
How to Create and Register Custom Property Panels
20.3.1.1
Creating a Custom Property Panel
20.3.1.2
Registering a Custom Property Panel for a Component
20.3.1.3
Registering a Custom Property Panel for a Task Flow
20.3.2
What Happens at Runtime
20.3.3
How to Exclude Default Property Panels
20.3.4
How to Override Default Property Panels
20.3.5
How to Selectively Render Property Panels
20.3.6
How to Display Properties and Parameters in a Custom Property Panel
20.4
Extending the Expression Builder
20.4.1
How to Extend the Expression Builder
20.4.2
What Happens at Runtime
20.5
Configuring Custom LOVs or Pickers for Task Flow Parameters
20.5.1
How to Configure an LOV
20.5.1.1
Configuring a Static LOV
20.5.1.2
Configuring a Dynamic LOV
20.5.1.3
Configuring a Picker
20.5.1.4
Configuring an LOV from a Global List
20.5.2
What Happens at Runtime
20.6
Configuring Event Handlers for Oracle Composer UI Events
20.6.1
How to Create and Register Handlers for Composer UI Events
20.6.1.1
UI Events that Support Event Handler Registration
20.6.1.2
Creating a Save Event Handler: Example
20.6.1.3
Registering an Event Handler with Oracle Composer
20.6.2
What Happens When You Create and Register Event Handlers
20.6.3
Performing Additional Oracle Composer Event Handler Configurations
20.7
Configuring Drop Handlers in the Resource Catalog
20.7.1
How to Create and Register Java Drop Handlers
20.7.1.1
Creating a Drop Handler
20.7.1.2
Registering a Drop Handler with Oracle Composer
20.7.1.3
Adding an XML Component to the Resource Catalog
20.7.2
What Happens at Runtime
20.8
Defining Property Filters
20.8.1
How to Define Property Filters
20.8.2
What Happens at Runtime
20.8.3
How to Remove Property Filters
20.9
Enabling Parameter Support on the Customization Manager Task Flow
20.9.1
How to Set the Customization Manager Task Flow Parameters
20.9.2
What Happens When You Enable Parameter Support
20.10
Customizing the Oracle Composer Toolbar
20.10.1
How to Rearrange or Hide Toolbar Elements
20.10.2
What Happens at Runtime
20.10.3
How to Add New Sections to the Toolbar
20.10.4
How to Override a Toolbar Section to Display Custom Content
20.11
Troubleshooting Problems with Oracle Composer Extensibility Features
21
Performing Advanced Oracle Composer Configurations
21.1
Enabling Custom Actions on a Show Detail Frame Component by Using Facets
21.2
Enabling Custom Actions on a Show Detail Frame Component By Using Facets: Example
21.2.1
How to Create an ADF Task Flow
21.2.2
How to Include an Additional Actions Facet
21.2.3
How to Create a Redirection Page
21.2.4
How to Create Navigation Rules Between Pages
21.2.5
What Happens at Runtime
21.3
Enabling Custom Actions on a Task Flow
21.3.1
How to Enable Custom Actions Directly on a Task Flow
21.3.2
How to Enable Custom Actions on a Show Detail Frame Enclosing a Task Flow
21.3.2.1
Defining Custom Actions at the Instance Level
21.3.2.2
Defining Custom Actions at the Global Level
21.3.2.3
Configuring Custom Actions that Display Task Flow Views in a Separate Browser Window
21.3.3
What Happens at Runtime
21.3.4
How to Enable Custom Actions On a Show Detail Frame Enclosing a Task Flow: Example
21.4
Enabling Custom Actions that Display on Task Flows in the Component Navigator
21.4.1
How to Configure Custom Actions in the Component Navigator
21.4.1.1
Defining the Logic for the Custom Action
21.4.1.2
Creating a JSPX Page Containing the Custom Action
21.4.1.3
Calling the JSPX Page from the Application Page Containing the Task Flow
21.4.2
What Happens at Runtime
21.5
Configuring a Keyboard Shortcut to Access Oracle Composer
21.5.1
How to Enable Linkless Entry Into Edit Mode
21.5.2
How to Configure an Event Handler for the Shortcut Key
21.5.3
What Happens at Runtime
21.6
Creating Event-Enabled Task Flows
21.7
Configuring an Application Page to Display in Source View by Default
21.7.1
How to Configure an Application Page to Display in Source View by Default
21.7.2
What Happens at Runtime
21.8
Disabling Source View for the Application
21.8.1
How to Disable Source View
21.8.2
What Happens at Runtime
21.9
Disabling Task Flow Zoom Capability
21.10
Applying Styles to Components
21.11
Configuring the Persistence Change Manager
21.11.1
Overview of the Default Change Manager Configuration
21.11.2
How to Configure ComposerChangeManager in Existing 11.1.1.1 Applications
21.11.2.1
Updating CHANGE_PERSISTENCE Context Parameter in the web.xml File
21.11.2.2
Adding Relevant Entries to the adf-config.xml File
21.12
Configuring Runtime Resource String Editing
21.12.1
Overview of the Resource String Editor
21.12.2
How to Enable the Resource String Editor in Your Application
21.12.3
How to Configure the Override Bundle
21.12.4
What Happens at Runtime
21.13
Troubleshooting Problems with Advanced Oracle Composer Configurations
22
Performing Oracle Composer-Specific MDS Configurations
22.1
Introduction to MDS
22.2
Using Oracle Composer Sandbox
22.2.1
How to Enable Oracle Composer Sandbox Creation
22.2.1.1
Updating Your Application's adf-config.xml File
22.2.1.2
Updating Your Application's web.xml File
22.2.1.3
Selecting a Database Store for Your Application
22.2.2
What Happens at Runtime
22.2.3
How to Disable Sandbox for an Application
22.2.4
How to Destroy Stale Sandboxes
22.2.5
How to Enable Application Sandbox Creation
22.2.6
What Happens When You Enable Application Sandbox Creation
22.3
Adding Customization Layers to View and Edit Modes: Example
22.3.1
How to Add Oracle Composer to a JSF Page
22.3.2
How to Create a Custom SiteCC Tip Layer
22.3.3
How to Create a Custom UserCC Tip Layer
22.3.4
How to Implement the ComposerSessionOptionsFactory Class
22.3.5
How to Register the Implementation with Oracle Composer
22.3.6
How to Configure WebCenterComposerFilter
22.3.7
How to Redirect the Servlet to Enable Switch Between MDS Customization Layers
22.3.7.1
How to Create the AppNavigationUtils Class
22.3.7.2
How to Create AppCloseHandler
22.3.7.3
How to Register the AppCloseHandler
22.3.7.4
How to Create AppModeBean
22.3.8
What Happens at Runtime
22.4
Troubleshooting MDS-Related Problems with Oracle Composer
23
Modifying Default Security Behavior of Oracle Composer Components
23.1
Applying Component-Level Restrictions by Defining Customization Policies
23.1.1
How to Define Type-Level Customization Policies
23.1.2
How to Define Instance-Level Customization Policies
23.2
Applying a Component Instance-Level Customization Restriction By Using Security Roles: Example
23.2.1
How to Configure ADF Security
23.2.2
How to Define Roles and Grant Privileges in the jazn-data.xml File
23.2.3
How to Customize the SessionOptions Object to Include Customization Policy
23.2.4
How to Register the Implementation with Oracle Composer
23.2.5
How to Configure WebCenterComposerFilter
23.2.6
How to Apply an Instance-Level Customization Restriction
23.2.7
What Happens at Runtime
23.3
Applying Tag-Level Security Using the customizationAllowed Attribute
23.3.1
How to Enable Application Customization on an Image Component
23.3.2
How to Restrict Customization on an Image Component
23.4
Applying Attribute-Level Security
23.4.1
How to Define Change Persistence at the Component Level
23.4.2
What Happens at Runtime
23.5
Applying Action-Level Restrictions on Panel Customizable and Show Detail Component Actions
23.5.1
How to Add an enableSecurity Section to adf-config.xml
23.5.2
Defining Security at the Actions Category Level
23.5.3
Defining Security at the Actions Level
23.6
Applying Task Flow Restrictions
23.7
Overriding Oracle Composer's Default Security Policies
23.7.1
How to Create a Custom Security Policy
23.7.2
How to Register a Custom Policy with Oracle Composer
23.7.3
What Happens at Runtime
23.8
Troubleshooting Problems with Oracle Composer Components Security
24
Customizing Task Flows
24.1
Preparing for Task Flow Customization
24.1.1
Start JDeveloper in the Customization Developer Role
24.1.2
Preparing a WebCenter Portal Application for Task Flow Customization
24.2
Customizing WebCenter Task Flows
24.2.1
Use Case 1: WebCenter Spaces: Add a Link to the WebCenter Spaces Global Toolbar Task Flow
24.2.2
Use Case 2: WebCenter Spaces: Remove Primary Tabs from the Local Toolbar Task Flow
24.2.3
Use Case 3: Customize the Discussion Forums Task Flow
24.2.4
Applying Task Flow Customizations to Deployed WebCenter Applications
24.2.4.1
Removing Customizations from Deployed WebCenter Applications
24.3
Catalog of WebCenter Task Flows
Part IV Integrating and Publishing Content
25
Introduction to Integrating and Publishing Content
26
Configuring Content Repository Connections
26.1
Overview of Content Adapters
26.2
Configuring Content Repository Connections
26.2.1
How to Create a Content Repository Connection Based on the Oracle Content Server Adapter
26.2.2
How to Create a Content Repository Connection Based on the Oracle Portal Adapter
26.2.3
How to Create a Content Repository Connection Based on the Oracle WebCenter Adapter for Microsoft SharePoint
26.2.3.1
Creating a Content Repository Connection Based on the Oracle WebCenter Adapter for Microsoft SharePoint
26.2.3.2
Mapping Microsoft SharePoint Content and Services
26.2.4
How to Create a Content Repository Connection Based on the File System Adapter
26.2.5
What Happens When You Create a Repository Connection
26.2.6
What You May Need to Know When Creating a Repository Connection
26.2.6.1
What You Should Know About Using Identity Propagation and External Application Authentication Methods
26.2.6.2
What You Should Know About Oracle Portal
26.2.6.3
What You Should Know About Oracle WebCenter Adapter for Microsoft SharePoint
26.3
Editing Content Repository Connections
26.3.1
How to Edit a Common Repository Connection
26.3.2
How to Edit a WebCenter Portal Application-Specific Content Repository Connection
26.4
Using an Existing Repository Connection for a New WebCenter Portal Application
27
Configuring Content Data Controls for JCR Adapters
27.1
Overview of Content Data Controls
27.1.1
The getItems Method
27.1.2
The search Method
27.1.3
The advancedSearch Method
27.1.4
The getURI Method
27.1.5
The getAttributes Method
27.2
Configuring Content Data Controls for JCR Adapters
27.2.1
How to Configure a Content Repository Data Control
27.2.2
What Happens When You Configure a Content Repository Data Control
27.3
Editing Content Repository Data Controls
27.4
Securing a Content Repository Data Control
27.5
Integrating Content Using Content Data Controls
27.5.1
How to Publish Content As Links
27.5.1.1
Publishing Content As a Textual Link
27.5.1.2
Creating a Clickable Image to Link to a Document
27.5.2
What Happens at Runtime
27.5.3
How to Publish Content in a Table
27.5.3.1
Displaying Files and Folders in Read-Only Format
27.5.3.2
Displaying the Name Attribute As a Go Link
27.5.3.3
Configuring a Table to Show Only Files
27.5.4
What Happens at Runtime
27.5.5
How to Publish Folder Content in a Tree
27.5.5.1
Displaying Files and Folders in Read-Only Format
27.5.5.2
Displaying File Names As Hyperlinks
27.5.6
What Happens at Runtime
27.5.7
How to Add Search Capabilities to Content Repositories
27.5.7.1
Adding Simple Search Capabilities
27.5.7.2
Adding Advanced Search Capabilities
27.5.8
What Happens at Runtime
27.5.9
What You May Need to Know When Using Search Capabilities
28
Creating Content Presenter Display Templates
28.1
Adding Content Presenter to an Application
28.2
What Is a Content Presenter Display Template?
28.3
Using the Out-of-the-Box Display Templates
28.4
Creating Content Presenter Display Templates
28.4.1
Overview
28.4.2
Defining Single-Item Display Templates
28.4.3
Defining Multiple-Item Display Templates
28.4.4
Using EL Expressions to Retrieve Content Item Information
28.4.4.1
Retrieving Basic Information About a Content Item
28.4.4.2
Working with Content Item Properties and Values
28.4.4.3
Working with Content Item Icons and URLs
28.4.5
Discovering Content Type Property Names
28.4.6
Referencing External Files in Display Templates
28.4.7
Using the Content Presenter Display Template
28.5
Using Content Presenter Display Templates in a WebCenter Portal Application
28.5.1
Export a Content Presenter Display Template as a Portal Resource
28.5.2
Upload the New Content Presenter Display Template to a WebCenter Portal or Spaces Application
28.5.3
Test the New Content Presenter Display Template
28.6
What Happens at Runtime?
28.6.1
Runtime Overview
28.6.2
Identifying Display Templates for Selected Content Items
28.7
Performance Considerations for Content Presenter Display Templates
29
Integrating the Documents Service
29.1
Introduction to the Documents Service
29.2
Setting Up Connections
29.3
Setting Security for the Documents Service
29.4
Using the Documents Service with Other WebCenter Services
29.5
Setting Parameters to Upload Files to Content Repositories
29.6
Using Adapters with the Documents Service
30
Adding Content Task Flows and Document Components to a Portal Page
30.1
Understanding the Content Presenter Task Flow
30.2
Understanding the Documents Service Task Flows
30.3
Understanding Document Components
30.4
Adding a Selected Folder or File to a Page
30.5
Adding a Content Task Flow to a Page
30.6
Modifying Content Task Flow Parameters
30.7
Content Task Flow Parameters
30.7.1
Content Presenter Task Flow Parameters and Out-of-the-Box Display Templates
30.7.2
Document Explorer Task Flow Parameters
30.7.3
Document List Viewer Task Flow Parameters
30.7.4
Document Manager Task Flow Parameters
30.7.5
Document Navigator Task Flow Parameters
30.7.6
Folder Viewer Task Flow Parameters
30.7.7
Recent Documents Task Flow Parameters
30.7.8
Document Viewer Task Flow Parameters
30.7.9
Document Mini Properties Task Flow Parameters
30.7.10
Document Properties Task Flow Parameters
30.7.11
Rich Text Editor Task Flow Parameters
30.7.12
Document Upload Task Flow Parameters
30.7.13
Document Version History Task Flow Parameters
30.7.14
AutoVue Task Flow Parameters
31
Integrating Wikis and Blogs
31.1
Introduction to Wikis and Blogs
31.2
Requirements for Wikis and Blogs
31.3
Integrating Wikis
31.3.1
What You Should Know About the Document Explorer Task Flow
31.3.2
Adding the Document Explorer Task Flow to Provide the Wiki Functionality
31.3.3
Modifying Document Explorer Task Flow Parameters
31.3.4
What Happens at Runtime
31.3.5
Displaying Wiki Page Links Within Content Presenter
31.4
Integrating Blogs
31.4.1
Integrating the Blogs Functionality into a Page
31.4.1.1
Adding the Blogs Task Flow for a Selected Folder
31.4.1.2
Adding the Standalone Blogs Task Flow to a Page
31.4.2
What You Should Know About Blogs Task Flow Parameters
31.4.3
How to Modify Blogs Task Flow Parameters
31.4.4
What Happens at Runtime
Part V Enabling Communication and Collaboration
32
Integrating the Announcements Service
32.1
Introduction to Announcements
32.1.1
Understanding the Announcements Service
32.1.2
Requirements for Announcements
32.1.3
What Happens at Runtime
32.2
Basic Configuration for the Announcements Service
32.2.1
Setting Up a Connection for Announcements
32.2.1.1
Announcements Connections
32.2.1.2
How to Set Up Connections for Announcements
32.2.2
Adding the Announcements Service at Design Time
32.2.2.1
Announcements Service Task Flows
32.2.2.2
How to Add Announcements to Your Page
32.2.2.3
How to Modify Announcements Service Task Flow Parameters
32.2.3
Setting Security for Announcements
32.3
Advanced Information for the Announcements Service
32.3.1
How to Add the Announcements - Quick View Task Flow
32.3.2
Customizing Announcements Views
32.3.3
Obtaining Space RSS News Feed URL for the Announcements Service
33
Integrating the Discussions Service
33.1
Introduction to Discussions
33.1.1
Understanding the Discussions Service
33.1.2
Requirements for Discussions
33.1.3
What Happens at Runtime
33.2
Basic Configuration for the Discussions Service
33.2.1
Setting up Connections for Discussions
33.2.1.1
Discussions Connections
33.2.1.2
How to Set Up Connections for Discussions
33.2.2
Adding the Discussions Service at Design Time
33.2.2.1
Discussions Task Flows
33.2.2.2
How to Add Discussions to a Page
33.2.2.3
How to Modify the Discussions Service Task Flow Parameters
33.2.3
Setting Security for Discussions
33.3
Advanced Information for the Discussions Service
33.3.1
Adding the Discussions - Popular Topics Task Flow
33.3.2
Adding the Discussions - Recent Topics Task Flow
33.3.3
Adding the Discussions - Watched Forums Task Flow
33.3.4
Adding the Discussions - Watched Topics Task Flow
33.3.5
Adding the Discussions - Quick View Task Flow
33.3.6
Obtaining Space RSS News Feed URL for the Discussions Service
33.3.7
Using Custom Discussions APIs
33.3.8
Using the Discussions Service REST APIs
33.3.8.1
Discussions Entry Point
33.3.8.2
Discussions Resource Type Taxonomy
33.3.8.3
Security Considerations
33.3.8.4
Discussions Resource Types
33.3.9
Troubleshooting the Discussions Service
34
Integrating the Instant Messaging and Presence Service
34.1
Introduction to the IMP Service
34.1.1
Understanding the IMP Service
34.1.2
Requirements for IMP
34.2
Basic Configuration for the IMP Service
34.2.1
Setting up Connections for the IMP Service
34.2.1.1
IMP Service Connections
34.2.1.2
How to Set Up Microsoft LCS Connections for the IMP Service
34.2.1.3
How to Set Up Microsoft OCS Connections for the IMP Service
34.2.1.4
How to Set Up OWLCS Connections for the IMP Service
34.2.2
Adding the IMP Service at Design Time
34.2.2.1
IMP Service Task Flows
34.2.2.2
How to Add the IMP Service to your Application
34.2.3
Setting Security for the IMP Service
34.3
Advanced Information for the IMP Service
34.3.1
Enabling Network Presence
34.3.1.1
Setting Up Yahoo! Messenger Presence
34.3.1.2
Setting Up Other Network Presence Providers
34.3.2
Customizing IMP Views
34.3.3
Troubleshooting the IMP Service
35
Integrating the People Connections Service
35.1
Introduction to the People Connections Service
35.1.1
Understanding the People Connections Service
35.1.1.1
Activity Stream
35.1.1.2
Connections
35.1.1.3
Feedback
35.1.1.4
Message Board
35.1.1.5
Profile
35.1.1.6
The Publisher Task Flow
35.1.2
Requirements for the People Connections Service
35.2
Basic Configuration for the People Connections Service
35.2.1
How to Set Up a Database Connection for the People Connections Service
35.2.2
How to Add People Connections Task Flows to a Page
35.2.3
Setting Security for the People Connections Service
35.3
Advanced Information for the People Connections Service
35.3.1
Establishing Site-Level Settings for People Connections Features
35.3.1.1
Understanding the People Connections Site-Level Setting Scripts
35.3.1.2
Supported Site-Level Settings for People Connections Features
35.3.1.3
Example: Configuring Connections to Accept Invitations Automatically
35.3.2
Customizing People Connections Task Flows Using Task Flow Binding Parameters
35.3.2.1
How to Revise People Connections Task Flow Binding Parameters
35.3.2.2
People Connections Task Flow Binding Parameters
35.3.2.3
What You Should Know About the Activity Stream Advanced Query Option
35.3.3
Using People Connections Data Controls
35.3.3.1
Adding a Data Control to Your Project
35.3.3.2
Working with People Connections Management Data Control
35.3.3.3
Working with Profile Data Control
35.3.4
Using People Connections Service Java APIs
35.3.5
Using the People Connections Service REST APIs
35.3.5.1
Activity Stream REST APIs
35.3.5.2
Connections and Profile REST APIs
35.3.5.3
Feedback REST APIs
35.3.5.4
Message Board REST APIs
35.4
Creating an Invitation
35.4.1
Creating an Invitation
35.4.2
Deleting an Invitation
35.5
Troubleshooting the People Connections Service
36
Integrating the Mail Service
36.1
Introduction to the Mail Service
36.1.1
Understanding the Mail Service
36.1.2
Requirements for the Mail Service
36.2
Basic Configuration for the Mail Service
36.2.1
Setting up Connections for the Mail Service
36.2.2
Adding the Mail Service at Design Time
36.2.2.1
Mail Service Task Flows
36.2.2.2
How to Add the Mail Service to your Application
36.2.2.3
How to Modify the Mail Service Task Flow Parameters
36.2.3
Setting Security for the Mail Service
36.3
Advanced Information for the Mail Service
36.3.1
Invoking the Mail Compose Page
36.3.2
Configuring the Number of Mails Displayed
36.3.3
Troubleshooting the Mail Service
37
Integrating the Polls Service
37.1
Introduction to Polls
37.1.1
Understanding the Polls Service
37.1.2
Requirements for Polls
37.1.3
What Happens at Runtime
37.2
Basic Configuration for the Polls Service
37.2.1
Setting up Connections for the Polls Service
37.2.2
Adding the Polls Service at Design Time
37.2.2.1
Polls Task Flows
37.2.2.2
How to Add the Polls Quick View to Your Page
37.2.2.3
How to Modify the Polls Service Task Flow Parameters
37.2.3
Setting Security for Polls
37.3
Advanced Information for the Polls Service
37.3.1
How to Add the Polls Manager Task Flow
37.3.2
How to Add the Take Polls Task Flow
37.3.3
How to Add the Polls - View Poll Results Task Flow
37.3.4
Using the Polls Service Data Controls
37.3.4.1
Take Poll Data Control
37.3.4.2
Polls Manager Data Control
Part VI Helping Users Find Content
38
Integrating the Links Service
38.1
Introduction to the Links Service
38.1.1
Understanding the Links Service
38.1.2
Requirements for the Links Service
38.1.3
What Happens at Runtime
38.2
Basic Configuration for the Links Service
38.2.1
Setting up Connections for the Links Service
38.2.2
Adding the Links Service at Design Time
38.2.2.1
Links Service Task Flows
38.2.2.2
How to Add the Links Service to your Application
38.2.3
Setting Security for the Links Service
38.2.4
Troubleshooting the Links Service
38.3
Advanced Information for the Links Service
38.3.1
Using the Links Service REST APIs
38.3.1.1
Links Entry Point
38.3.1.2
Links Resource Type Taxonomy
38.3.1.3
Security Considerations
38.3.1.4
Links Resource Types
39
Integrating the Tags Service
39.1
Introduction to the Tags Service
39.1.1
Understanding the Tags Service
39.1.2
Requirements for the Tags Service
39.1.3
What Happens at Runtime
39.2
Basic Configuration for the Tags Service
39.2.1
Setting up Connections for the Tags Service
39.2.2
Adding the Tags Service at Design Time
39.2.2.1
Tags Service Components
39.2.2.2
Tags Service Task Flows
39.2.2.3
How to Add the Tags Service to your Page
39.2.2.4
How to Modify the Tags Service Task Flow Parameters
39.2.3
Setting Security for the Tags Service
39.3
Advanced Information for the Tags Service
39.3.1
Using the Tags Service Java APIs
39.3.2
Using the Tags Service REST APIs
39.3.2.1
Tags Entry Point
39.3.2.2
Tags Resource Type Taxonomy
39.3.2.3
Security Considerations
39.3.2.4
Tags Resource Types
39.3.3
Optional Way to Show Tags on Pages
39.3.4
Using the Resource Action Handling Framework to Tag Custom Objects
40
Integrating the Search Service
40.1
Introduction to Search
40.1.1
Understanding the Search Service
40.1.1.1
Understanding Search with the Oracle SES Adapter
40.1.1.2
Understanding Search with the WebCenter Search Adapters
40.1.1.3
Click Actions on Search Results
40.1.2
What Happens at Runtime
40.2
Basic Configuration for the Search Service
40.2.1
Setting up Connections for the Search Service
40.2.2
Adding the Search Service at Design Time
40.2.2.1
Search Service Task Flows
40.2.2.2
How to Add the Search Service to Your Page
40.2.2.3
How to Modify the Search Service Task Flow Parameters
40.2.3
Setting Security for the Search Service
40.3
Advanced Information for the Search Service
40.3.1
Adding the Search Task Flow
40.3.2
Adding the Search - Saved Searches Task Flow
40.3.3
Adding the Search Preferences Task Flow
40.3.4
Configuring Search with the Oracle SES Adapter
40.3.5
Configuring Search with WebCenter Search Adapters
40.3.6
Using the Search Service Java APIs
40.3.7
Using the Search Service REST APIs
40.3.7.1
Search Entry Point
40.3.7.2
Search Resource Type Taxonomy
40.3.7.3
Security Considerations
40.3.7.4
Search Resource Types
40.3.8
Using the Search Service Data Control
40.3.8.1
Search Data Control Methods, Attributes, and Classes
40.3.8.2
Integrating the Search Data Control
40.3.9
Building Adapters for the Search Service
40.3.9.1
How to Add a Search Source
40.3.9.2
How to Register a Custom Adapter
40.3.9.3
Search Adapter Attributes
40.3.9.4
What Happens at Runtime
40.3.10
Customizing the Search UI Without the Search Service APIs
40.3.11
Troubleshooting the Search Service
41
Integrating the Activity Graph Service
41.1
Introduction to the Activity Graph Service
41.1.1
Understanding the Activity Graph Service
41.1.2
Requirements for the Activity Graph Service
41.1.3
What Happens at Runtime
41.2
Basic Configuration for the Activity Graph Service
41.2.1
Setting Up Connections for the Activity Graph Service
41.2.2
Adding the Activity Graph Service at Design Time
41.2.2.1
Activity Graph Service Task Flows
41.2.2.2
How to Add Activity Graph Service Task Flows to a Page
41.2.2.3
How to Modify Activity Graph Service Task Flow Parameters
41.2.2.4
Activity Graph Service Task Flows and Task Flow Parameters
41.3
Advanced Information for the Activity Graph Service
41.3.1
Using the Activity Graph Data Control
41.3.2
Using the Activity Graph Service REST APIs
41.3.2.1
Activity Graph Entry Point
41.3.2.2
Activity Graph Resource Type Taxonomy
41.3.2.3
Security Considerations
41.3.2.4
Activity Graph Resource Types
41.4
Extending the Activity Graph Service
41.4.1
Defining Custom Node Classes
41.4.2
Defining Custom Actions
41.4.3
Defining Custom Similarity Calculations
41.4.4
Defining Custom Rank Calculations
41.4.5
Registering Custom Activity Providers
41.4.6
Registering Custom QRPPs
41.5
Troubleshooting the Activity Graph Service
41.5.1
Troubleshooting the Activity Graph Service Task Flows (All Task Flows)
41.5.2
Troubleshooting the Recommended Connections Task Flow
41.5.3
Troubleshooting the Similar Spaces Task Flow
41.5.4
Troubleshooting the Similar Items Task Flow
Part VII Helping Users Keep Track
42
Integrating the Analytics Service
42.1
Introduction to the Analytics Service
42.1.1
Understanding the Analytics Service
42.1.2
Requirements for the Analytics Service
42.1.3
What Happens at Runtime
42.2
Basic Configuration for the Analytics Service
42.2.1
Setting up Connections for the Analytics Service
42.2.1.1
How to Set Up a Connection to the Analytics Database
42.2.1.2
How to Set Analytics Collector Properties
42.2.1.3
How to Set Up a Connection to the Analytics Collector
42.2.2
Configuring a Namespace for Analytics Customizations in MDS
42.2.3
Adding Analytics Task Flows at Design Time
42.2.3.1
Analytics Task Flows
42.2.3.2
How to Add Analytics Task Flows to a Page
42.2.3.3
How to Modify Analytics Task Flow Parameters
42.2.3.4
How to Allow End Users to Customize Analytics Task Flows at Runtime
42.2.3.5
Analytics Task Flows and Task Flow Parameters
42.2.4
Setting up Security for Analytics Task Flows and Usage Data
42.3
Advanced Information for the Analytics Service
42.3.1
Building Custom Analytics Reports
42.3.2
SQL Statements for Out-of-the-Box Analytics Reports
42.3.2.1
WebCenter Traffic - Analytics SQL
42.3.2.2
Page Traffic - Analytics SQL
42.3.2.3
Login Metrics - Analytics SQL
42.3.2.4
Space Traffic - Analytics SQL
42.3.2.5
Space Response Time - Analytics SQL
42.3.2.6
Portlet Traffic - Analytics SQL
42.3.2.7
Portlet Instance Traffic - Analytics SQL
42.3.2.8
Portlet Response Time - Analytics SQL
42.3.2.9
Portlet Instance Response Time - Analytics SQL
42.3.2.10
Search Metrics - Analytics SQL
42.3.2.11
Document Metrics - Analytics SQL
42.3.2.12
Wiki Metrics - Analytics SQL
42.3.2.13
Blog Metrics - Analytics SQL
42.3.2.14
Discussion Metrics - Analytics SQL
43
Integrating the Lists Service
43.1
Introduction to the Lists Service
43.1.1
Understanding the Lists Service
43.1.2
What Happens to the Lists Service at Runtime
43.2
Basic Configuration for the Lists Service
43.2.1
Setting Up Connections for the Lists Service
43.2.2
Adding the Lists Service at Design Time
43.2.2.1
Lists Service Task Flows
43.2.2.2
How to Add the Lists Service to your Application
43.2.3
Enabling Users to Work with Lists at Runtime
43.3
Adding Lists to a Resource Catalog
43.4
Using the Lists Service REST APIs
43.4.1
Entry Point for Lists
43.4.2
Lists Resource Type Taxonomy
43.4.3
Lists Security Considerations
43.4.4
Lists Resource Types
43.4.4.1
urn:oracle:webcenter:space:lists
43.4.4.2
urn:oracle:webcenter:space:list
43.4.4.3
urn:oracle:webcenter:space:list:rows
43.4.4.4
urn:oracle:webcenter:space:list:row
43.4.4.5
urn:oracle:webcenter:space:list:columns
43.4.4.6
urn:oracle:webcenter:space:list:column
43.5
Troubleshooting the Lists Service
44
Integrating Notifications
44.1
Introduction to Notifications
44.1.1
Understanding Notifications
44.1.2
Requirements for Notifications
44.1.3
What Happens with Notifications at Runtime?
44.2
Basic Configuration for Notifications
44.2.1
Adding the Notifications Namespace
44.2.2
Creating a Notifications Connection to a Mail Server
44.2.3
Creating a Notifications Connection to a BPEL Server
44.2.4
Setting Application Defaults for Notifications
44.2.4.1
What You Should Know About Subscription Defaults
44.2.4.2
Setting Notifications Subscription Defaults
44.2.5
Adding Notifications Task Flows to Your Application
44.2.5.1
Notifications Task flows
44.2.5.2
How to Add a Notifications Task Flow to a Page
44.2.5.3
Subscription Preferences Task Flow Input Parameters
44.2.6
Setting Security for Notifications
44.3
Advanced Information for Notifications
44.3.1
Using Notifications Java APIs
44.3.1.1
Configuration Settings Required to Use Notifications Java APIs
44.3.1.2
Introduction to Notifications Java APIs
44.3.1.3
How to Set up Your Application to Use Notifications Java APIs
44.3.2
Using Notifications Data Controls
44.3.2.1
Adding a Data Control to Your Project
44.3.2.2
Understanding the Notification Subscription Data Control
44.3.2.3
Notification Subscription Data Control Methods and Attributes
44.3.2.4
Notification Subscription Data Control Classes
45
Integrating the Recent Activities Service
45.1
Introduction to the Recent Activities Service
45.1.1
Understanding the Recent Activities Service
45.1.2
What Happens at Runtime
45.2
Basic Configuration for the Recent Activities Service
45.2.1
Setting up Connections for the Recent Activities Service
45.2.2
Adding the Recent Activities Service at Design Time
45.2.3
Modifying Recent Activities Service Task Flow Parameters
45.2.4
Setting Security for the Recent Activities Service
45.3
Advanced Information for the Recent Activities Service
45.3.1
Refining the Behavior of the Recent Activities Service
45.3.2
Obtaining RSS News Feed URL for the Recent Activities Service
46
Integrating the Worklist Service
46.1
Introduction to the Worklist Service
46.1.1
Understanding Worklists
46.1.2
Requirements for the Worklist Service
46.1.3
What Happens at Runtime
46.2
Basic Configuration for the Worklist Service
46.2.1
Setting up Connections for the Worklist Service
46.2.1.1
Worklist Service Connections
46.2.1.2
How to Set Up Connections for the Worklist Service
46.2.2
Adding the Worklist Service at Design Time
46.2.2.1
Worklist Service Task Flows
46.2.2.2
How to Add the Worklist Service to your Application
46.2.3
Setting Security for the Worklist Service
46.3
Advanced Information for the Worklist Service
47
Integrating the Events Service
47.1
Introduction to the Events Service
47.1.1
Understanding the Events Service
47.1.2
Requirements for the Events Service
47.1.3
What Happens at Runtime
47.2
Basic Configuration for the Events Service
47.2.1
Setting Up a Connection for the Events Service
47.2.2
Adding the Events Service at Design Time
47.2.2.1
Events Task Flows
47.2.2.2
How to Add the Events Service to Your Application
47.2.3
Setting Security for the Events Service
47.3
Troubleshooting the Events Service
48
Integrating the RSS Service
48.1
Introduction to the RSS Service
48.1.1
Understanding the RSS Service
48.1.2
Requirements for the RSS Service
48.1.3
What Happens at Runtime
48.2
Basic Configuration for the RSS Service
48.2.1
Setting Up a Proxy Server for the RSS Service
48.2.2
Adding the RSS Service at Design Time
48.2.2.1
About RSS Viewer Task Flow
48.2.2.2
How to Add the RSS Viewer Task Flow to Your Application
48.2.2.3
How to Modify RSS Viewer Task Flow Parameters
48.2.3
Setting Security for the RSS Viewer Service
Part VIII Extending Your Application
49
Extending WebCenter Spaces Using JDeveloper
49.1
Downloading a Workspace for WebCenter Spaces Development
49.2
Including Additional Shared Libraries in WebCenter Spaces
49.2.1
What You Should Know About WebCenter Spaces Shared Library Deployment
49.2.2
Deploying Your Own Custom Code and Task Flows in Shared Libraries
49.2.3
Rebuilding the WebCenter Spaces Shared Library List
49.2.3.1
Editing the Shared Library List
49.2.3.2
Setting Build and Deployment Options (config.properties)
49.2.3.3
Building and Deploying the Shared Library List (extend.spaces.webapp.war)
49.2.3.4
Reverting to a Previous Shared Library List
49.2.3.5
Troubleshooting Shared Library Deployment
49.3
Developing WebCenter Spaces Resources
49.3.1
Using the WebCenterSpacesResources Project for Round-Trip Development
49.3.2
Opening and Exploring the WebCenterSpacesResources Project
49.3.3
Enabling Direct Uploads to WebCenter Spaces
49.3.4
Editing WebCenter Spaces Resources in JDeveloper
49.3.4.1
How to Import a WebCenter Spaces Resource into JDeveloper
49.3.4.2
How to Build WebCenter Spaces Resources
49.3.5
Uploading Resources Direct to WebCenter Spaces
49.3.6
Exporting WebCenter Spaces Resources to an Archive
49.3.7
Troubleshooting Resource Round-Trip Development
50
Integrating with Oracle WebCenter Spaces
50.1
Introduction to WebCenter Spaces
50.2
Exposing WebCenter Spaces in WebCenter Portal Applications Using APIs
50.2.1
Introduction to WebCenter Spaces APIs
50.2.2
Case Study 1: Purchasing Application Uses a Space to Evaluate Suppliers
50.2.3
Case Study 2: Customer Support Center Application Uses a Space to Discuss Customer Escalations
50.2.4
How to Set Up Your WebCenter Portal Application to Use the WebCenter Spaces APIs
50.2.4.1
Verifying That WebCenter Spaces Is Up and Running
50.2.4.2
Setting Up the WebCenter Portal Application to Use WebCenter Spaces APIs
50.2.4.3
Securing the Connection Between the Application and WebCenter Spaces
50.2.4.4
Setting Up the WebCenter Spaces Client Context
50.2.5
How to Provide Space Functionality in WebCenter Portal Applications
50.2.5.1
Managing Spaces and Space Template
50.2.5.2
Managing Space Membership
50.2.5.3
Retrieving Information for Spaces and Space Templates
50.2.6
How to Handle Exceptions Raised by WebCenter Spaces APIs
50.2.6.1
Providing Localized Error Messages
50.2.6.2
Listing the Error Stack
50.2.7
Finding More Information on WebCenter Spaces APIs
50.2.8
Troubleshooting Issues with WebCenter Spaces APIs
50.3
Using the WebCenter Spaces REST APIs
50.3.1
WebCenter Spaces Entry Point
50.3.2
WebCenter Spaces Resource Type Taxonomy
50.3.3
WebCenter Spaces Security Considerations
50.3.4
WebCenter Spaces Resource Types
50.3.4.1
urn:oracle:webcenter:spaces
50.3.4.2
urn:oracle:webcenter:spaces:resource:templates
50.3.4.3
urn:oracle:webcenter:space
50.3.4.4
urn:oracle:webcenter:space:resourceindex
50.3.4.5
urn:oracle:webcenter:space:roles
50.3.4.6
urn:oracle:webcenter:space:role
50.3.4.7
urn:oracle:webcenter:space:icon
50.3.4.8
urn:oracle:webcenter:space:attributes
50.3.4.9
urn:oracle:webcenter:space:attribute bill
50.3.4.10
urn:oracle:webcenter:space:members
50.3.4.11
urn:oracle:webcenter:space:member
50.3.4.12
urn:oracle:webcenter:space:lists
50.3.4.13
urn:oracle:webcenter:space:list
50.3.4.14
urn:oracle:webcenter:space:list:rows
50.3.4.15
urn:oracle:webcenter:space:list:row
50.3.4.16
urn:oracle:webcenter:space:list:columns
50.3.4.17
urn:oracle:webcenter:space:list:column
50.4
Exposing Enterprise Applications in WebCenter Spaces
50.4.1
Exposing WebCenter Portal Applications in WebCenter Spaces
50.4.2
Exposing Oracle Applications in WebCenter Spaces
50.4.3
Exposing Non-Oracle Applications in WebCenter Spaces
51
Using Oracle WebCenter REST APIs
51.1
Introduction to REST
51.2
Before You Begin: Performing Required Configurations
51.2.1
Introduction
51.2.2
Configuring an Identity Asserter
51.2.3
Configuring the WebLogic Server Credential Store
51.3
Understanding the Username-Based Security Token Encryption
51.4
Benefits of Using REST
51.5
Introduction to WebCenter REST APIs
51.6
Understanding the Link Model
51.6.1
The Resource Index
51.6.2
The Anatomy of a Link
51.6.2.1
Resource Type
51.6.2.2
Relationship
51.6.2.3
Capabilities
51.6.2.4
Media Type
51.6.2.5
Templates
51.7
Understanding Items Hypermedia
51.8
Navigating Hypermedia Using HTTP
51.9
Security Considerations for WebCenter REST APIs
51.10
Security Considerations for CMIS REST APIs
51.11
Understanding Common Types
51.11.1
Common Types
51.11.1.1
personReference
51.11.1.2
groupSpaceReference
51.11.2
Portable Contact Types
51.11.2.1
name Portable Contact Type
51.11.2.2
address Portable Contact Type
51.11.2.3
organization Portable Contact Type
51.11.2.4
value Portable Contact Type
51.12
Managing Caches
51.13
Configuring a Proxy Server
51.14
WebCenter REST API Examples
51.14.1
Navigating the Message Board Hypermedia
51.14.1.1
Accessing the Resource Index
51.14.1.2
Reading Messages
51.14.1.3
Creating a New Message
51.14.1.4
Updating a Message
51.14.1.5
Deleting a Message
51.14.2
Displaying Activity Stream Data
51.14.3
Using the WebCenter People Connections Service REST APIs with Ext
51.14.3.1
Creating the HTML Page
51.14.3.2
Creating the JavaScript File
51.14.3.3
The Result
51.14.4
Updating User Status
52
Integrating Other Oracle Applications
52.1
Integrating Oracle and Other Applications in WebCenter
52.2
Integrating Siebel Applications
52.2.1
Integrating Siebel Applications as Web Services
52.2.1.1
Preparing the Siebel Application
52.2.1.2
Consuming a Siebel Web Service in a WebCenter Portal Application
52.2.2
Integrating Siebel Applications Using the Siebel Web Engine
52.3
Integrating E-Business Suite Applications
52.3.1
Introduction to Integrating EBS Applications
52.3.1.1
Understanding EBS Integration
52.3.1.2
Requirements for Integrating EBS Applications
52.3.2
Integrating EBS Applications in a WebCenter Portal Application
52.3.2.1
Preparing the EBS Application for Remote Access
52.3.2.2
Registering the EBS WSRP Producer in the WebCenter Portal Application
52.3.2.3
Creating a JSF Page to Consume the Remote Producer
52.3.2.4
Testing the WebCenter Portal Application
52.3.3
Integrating EBS Applications in WebCenter Spaces
52.3.3.1
Preparing the EBS Portlet for Remote Access
52.3.3.2
Registering the EBS WSRP Producer in WebCenter Spaces
52.3.3.3
Adding the EBS Portlet to a WebCenter Spaces Page
52.3.3.4
Testing the WebCenter Spaces Portlet Connection
52.4
Integrating JD Edwards Applications
52.4.1
Integrating JD Edwards Applications in a WebCenter Portal Application
52.4.1.1
Preparing the JD Edwards Application for Remote Access
52.4.1.2
Registering the JD Edwards WSRP Producer in the WebCenter Portal Application
52.4.1.3
Creating the JSF Page to Consume the Remote Producer
52.4.1.4
Testing the WebCenter Portal Application
52.4.2
Integrating JD Edwards Applications in WebCenter Spaces
52.4.2.1
Registering the Producer
52.4.2.2
Adding the JD Edwards Portlet to a WebCenter Spaces Page
52.4.2.3
Testing the WebCenter Spaces Portlet Connection
52.5
Integrating PeopleSoft Applications
52.5.1
Introduction to Integrating PeopleSoft Applications
52.5.1.1
Understanding PeopleSoft Integration
52.5.1.2
Requirements for Integrating PeopleSoft Applications
52.5.2
Integrating PeopleSoft Applications in a WebCenter Portal Application
52.5.2.1
Preparing the PeopleSoft Application for Remote Access
52.5.2.2
Registering the PeopleSoft WSRP Producer in the WebCenter Portal Application
52.5.2.3
Creating the JSF Page to Consume the Remote (WSRP) Producer
52.5.2.4
Setting up WS-Security for PeopleTools
52.5.2.5
Testing the WebCenter Portal Application
52.5.3
Integrating PeopleSoft Applications in WebCenter Spaces
52.5.3.1
Registering the Producer
52.5.3.2
Adding the PeopleSoft Portlet to a WebCenter Spaces Page
52.5.3.3
Testing the WebCenter Spaces Portlet Connection
52.6
Integrating Oracle Business Intelligence Presentation Services
52.6.1
Introduction to Integrating Oracle Business Intelligence Presentation Services
52.6.1.1
Understanding Oracle Business Intelligence Presentation Services Integration
52.6.1.2
Requirements for Integrating Oracle Business Intelligence Presentation Services
52.6.2
Integrating Oracle Business Intelligence Presentation Services in WebCenter Portal Applications
52.6.2.1
Installing the Required Business Intelligence Extensions
52.6.2.2
Creating a WebCenter Application that Integrates with Oracle BI Presentation Services
52.6.2.3
Testing the WebCenter Portal Application
52.6.2.4
Post-Deployment Connection Configuration
52.6.2.5
Securing Oracle BI EE Objects Included in a WebCenter Application
52.6.3
Integrating Oracle Business Intelligence Objects in WebCenter Spaces
52.6.3.1
Adding Oracle BI Objects to the WebCenter Spaces Resource Catalog
52.6.3.2
Adding Oracle BI Content at Runtime
52.6.3.3
Modifying a Business Intelligence Object's Prompt Values
52.6.3.4
Modifying a Business Intelligence Task Flow's Initialization Parameters
Part IX Working with Portlets and Portals
53
Overview of Portlets
53.1
Introduction to Portlets
53.1.1
Portlet Anatomy
53.1.2
Portlet Resources
53.1.2.1
JSF Portlets
53.1.2.2
Prebuilt Portlets
53.1.2.3
Parameter Form and Parameter Display Portlets
53.1.2.4
Web Clipping
53.1.2.5
OmniPortlet
53.1.2.6
Programmatic Portlets
53.1.2.7
Deciding Which Tool to Use
53.1.3
Portlet Modes
53.1.3.1
View Mode
53.1.3.2
Edit Mode
53.1.3.3
Edit Defaults Mode
53.1.3.4
Help Mode
53.1.3.5
About Mode
53.1.3.6
Preview Mode
53.1.3.7
Full Screen Mode (PDK-Java)
53.2
Portlet Technologies Matrix
53.2.1
General Suitability
53.2.2
Expertise Required
53.2.3
Deployment Type
53.2.3.1
PDK-Java Producers
53.2.3.2
WSRP Producers
53.2.3.3
Producer Architecture
53.2.4
Caching Style
53.2.5
Development Tool
53.2.6
Portlet Creation Style
53.2.7
User Interface Flexibility
53.2.8
Ability to Capture Content from Web Sites
53.2.9
Ability to Render Content Inline
53.2.10
Charting Capability
53.2.11
Public Portlet Parameter Support
53.2.12
Private Portlet Parameter Support
53.2.13
Ability to Hide and Show Portlets Based on User Privileges
53.2.14
Multilingual Support
53.2.15
Pagination Support
53.2.16
Authenticating to External Applications
54
Creating Portlets with the Oracle JSF Portlet Bridge
54.1
Introduction to the Oracle JSF Portlet Bridge
54.2
Creating a Portlet from a JSF Application
54.2.1
How to Create a JSF Portlet Based on a Page
54.2.2
How to Create a JSF Portlet Based on a Task Flow
54.2.2.1
Creating a Portlet From a Task Flow Using the Create Portlet Entry Dialog
54.2.2.2
Creating a Portlet From a Task Flow Using the Manage Portlet Entries of Task Flows Dialog
54.2.3
How to Test a JSF Portlet Using the Integrated WebLogic Server
54.2.4
What Happens at Runtime
54.3
What You May Need to Know When Creating a JSF Portlet
54.3.1
General Guidelines
54.3.2
Portlet Guidelines
54.3.3
Security Guidelines
54.3.4
JSF Guidelines
54.3.5
Oracle ADF Guidelines
55
Creating Portlets with the Portlet Wizard
55.1
Introduction to Java Portlets
55.1.1
Introduction to Standards-Based Java Portlets
55.1.2
Introduction to PDK-Java Portlets
55.2
Creating Java Portlets
55.2.1
How to Create a JSR 286 Java Portlet
55.2.2
What Happens When You Create a JSR 286 Java Portlet Using the JDeveloper Wizard
55.2.3
After You Create a JSR 286 Java Portlet Using the JDeveloper Wizard
55.2.4
How to Create a PDK-Java Portlet
55.2.5
What Happens When You Create a PDK-Java Portlet
55.2.6
After You Create an Oracle PDK-Java Portlet Using the JDeveloper Wizard
55.3
Troubleshooting Java Portlets
55.3.1
Cannot Access the Create Portlet Wizard
55.3.2
Cannot Add the Portlet Functionality that I Want to the Portlet
56
Coding Portlets
56.1
General Guidelines for Coding Java Portlets
56.1.1
Guidelines for Portlet Modes
56.1.1.1
Guidelines for View Mode
56.1.1.2
Guidelines for Edit Mode
56.1.1.3
Guidelines for Edit Defaults Mode
56.1.1.4
Guidelines for Help Mode
56.1.1.5
Guidelines for About Mode
56.1.1.6
Guidelines for Preview Mode
56.1.1.7
Guidelines for Full Screen Mode (PDK-Java Only)
56.1.2
Guidelines for Navigation within a Portlet
56.1.2.1
Intraportlet Links
56.1.2.2
Application Links
56.1.2.3
External Links
56.1.2.4
Internal/Resource Links
56.1.3
Guidelines for JavaScript
56.2
Enhancing JSR 286 Java Portlets
56.2.1
How to Edit the Portlet Deployment Descriptor File
56.2.2
How to Add Custom Portlet Modes
56.2.3
How to Access User Information
56.2.4
How to Customize the Runtime Environment
56.2.4.1
Supported Container Runtime Options
56.2.4.2
Setting Container Runtime Options for All Portlets in an Application
56.2.4.3
Setting Container Runtime Options for Individual Portlets
56.2.5
How to Use Portlet Events
56.2.5.1
Defining a Portlet Event at the Application Level
56.2.5.2
Adding a Processing Event to a Portlet
56.2.5.3
Adding a Publishing Event to a Portlet
56.2.6
How to Use Public Render Parameters
56.2.6.1
Defining a Public Render Parameter at the Application Level
56.2.6.2
Adding a Public Render Parameter to a Portlet
56.2.7
How to Add Personalization
56.2.7.1
Adding a Portlet Preference to a Portlet
56.2.7.2
Simple Portlet Personalization Example
56.2.8
How to Use Portlet Filters
56.2.8.1
Adding a Portlet Filter to an Application
56.2.8.2
Applying a Portlet Filter to a Portlet
56.2.9
How to Implement Portlet Caching
56.2.9.1
Implementing Expiry-Based Caching
56.2.9.2
Implementing Validation-Based Caching
56.2.10
How to Implement Export of Customizations (WSRP 2.0)
56.2.11
How to Implement Rewritten URLs for Resource Proxy
56.2.12
How to Implement Stateless Resource Proxying
56.2.13
How to Enable Java Object Cache for Preference Store Access
56.2.14
How to Implement Security for JSR 286 Portlets
56.3
Enhancing PDK-Java Portlets
56.3.1
Guidelines for PDK-Java Portlets
56.3.2
How to Add Portlet Modes
56.3.3
How to Implement Public Parameters
56.3.4
How to Implement Private Parameters
56.3.4.1
About Private Parameters
56.3.4.2
About Portlet URL Types
56.3.4.3
Building Links with the Portlet URL Types
56.3.4.4
Building Forms with the Portlet URL Types
56.3.4.5
Implementing Navigation within a Portlet
56.3.4.6
Restricting Navigation to Resources
56.3.5
How to Use JNDI Variables
56.3.5.1
Declaring JNDI Variables
56.3.5.2
Setting JNDI Variable Values
56.3.5.3
Retrieving JNDI Variables
56.3.6
How to Access Session Information
56.3.7
How to Enhance Portlet Performance with Caching
56.3.7.1
Activating Caching
56.3.7.2
Adding Expiry-Based Caching
56.3.7.3
Adding Validation-Based Caching
56.4
Testing Portlet Personalization
56.5
Creating a Struts Portlet
56.5.1
How to Create a New Flow and View to Host the Portlet Actions
56.5.2
How to Create the New JSPs
56.5.3
How to Create a Portlet
56.5.4
How to Extend the Portlet to Add Business Logic
56.5.5
How to Register the Producer
57
Testing and Deploying Your Portlets
57.1
Introduction to Portlet Deployment Testing in a Development Environment
57.2
Testing a Portlet Application on Integrated WebLogic Server
57.2.1
How to Test JSR 286 Portlets on Integrated WebLogic Server
57.2.2
What Happens When You Test JSR 286 Portlets on Integrated WebLogic Server
57.2.3
How to Test PDK-Java Portlet Applications on Integrated WebLogic Server
57.2.4
What Happens When You Test PDK-Java Portlet Applications on Integrated WebLogic Server
57.3
Deploying a Portlet Application to an Oracle WebLogic Managed Server Instance
57.3.1
How to Create Deployment Profiles
57.3.1.1
Creating a WAR Deployment Profile
57.3.1.2
Creating a Deployment Descriptor
57.3.2
How to Create and Provision a WebLogic Managed Server Instance
57.3.3
How to Create and Register the Metadata Service Repository
57.3.4
How to Create a WebLogic Managed Server Connection
57.3.5
How to Deploy a Portlet Application to an Oracle WebLogic Managed Server Instance
57.3.6
What Happens When You Deploy a Portlet Application to an Oracle WebLogic-Managed Portlet Server
57.4
Registering and Viewing Your Portlet
58
Creating Pagelets with the Oracle WebCenter Pagelet Producer
58.1
Using Pagelets in Web Applications
58.1.1
How to Add a Pagelet to a JSF Page in Oracle JDeveloper
58.1.1.1
How to Register a Pagelet Producer
58.1.1.2
How to Add a Pagelet to a JSF Page
58.1.1.3
How to Secure a Pagelet
58.1.2
How to Add a Pagelet to any Web Page
58.1.2.1
How to Insert Pagelets Using Javascript
58.1.2.2
How to Insert Pagelets Using Pagelet Producer Adaptive Tags
58.1.2.3
How to Add a Pagelet Using Web Injectors
58.1.3
How to Add a Pagelet to a Page in WebCenter Spaces
58.2
Building Pagelets Using the Oracle WebCenter Pagelet Producer
58.2.1
About Server Communication and the Proxy
58.2.1.1
The Oracle WebCenter Pagelet Producer Proxy
58.2.1.2
About HTTP and CSP
58.2.2
Building Adaptive Pagelets
58.2.2.1
Adaptive Pagelet Design Patterns
58.2.2.2
Using Adaptive Tags
58.2.2.3
Using the Adaptive Pagelet Scripting Framework
58.2.2.4
Adaptive Pagelet Development Tips
58.2.3
Using REST APIs
58.2.3.1
Data Retrieval APIs
58.2.3.2
Pagelet Inject API
58.2.4
Using Session Preferences
58.2.4.1
Using Scripting Framework Methods to Access Session Preferences
58.2.5
Using Pagelet Producer Credential Mapping
59
Consuming Portlets
59.1
Introduction to Consuming Portlets
59.2
Registering Portlet Producers with a WebCenter Portal Application
59.2.1
How to Register a WSRP Portlet Producer
59.2.2
How to Map a Producer's Declared User Categories to an Application's Defined Java EE Security Roles
59.2.3
How to Register an Oracle PDK-Java Portlet Producer
59.2.4
How to Edit Portlet Producer Registration Settings
59.2.5
How to Test a Portlet Producer Connection
59.2.6
How to Refresh a Portlet Producer
59.2.7
How to Delete a Portlet Producer
59.3
Adding Portlets to a Page
59.3.1
How to Add a Portlet to a Page
59.3.2
What Happens When You Add a Portlet to a Page
59.3.3
What Happens at Runtime
59.4
Setting Attribute Values for the Portlet Tag
59.4.1
How to Set Attribute Values for the Portlet Tag Using the Property Inspector
59.4.2
How to Set Attribute Values for the Portlet Tag in Source Code
59.4.3
Common Attributes of the Portlet Tag
59.4.4
Appearance Attributes of the Portlet Tag
59.4.5
Behavior Attributes of the Portlet Tag
59.4.6
Portlet Modes Attributes of the Portlet Tag
59.4.7
Style Attributes of the Portlet Tag
59.4.8
Binding Attributes of the Portlet Tag
59.4.9
Customization Attributes of the Portlet Tag
59.4.10
Other Attributes of the Portlet Tag
59.4.11
What You May Need to Know About Maximize, Minimize, Restore, and Move
59.4.12
What You May Need to Know About IFRAMEs
59.5
Copying Portlets
59.5.1
How to Copy a Portlet and Place it on the Same Page
59.5.2
How to Copy a Portlet from One Application Page to Another
59.6
Deleting Portlets from Application Pages
59.7
Adding the Portlet Producer Task Flow
60
Creating Portlets with OmniPortlet
60.1
Introduction to OmniPortlet
60.2
Adding OmniPortlet to Your Application
60.3
Customizing OmniPortlet
60.4
Troubleshooting OmniPortlet Problems
61
Creating Content-Based Portlets with Web Clipping
61.1
Introduction to Web Clipping
61.2
Adding Web Clipping to Your Application
61.3
Integrating Authenticated Web Content Using Single Sign-On
61.4
Advanced Features of Web Clipping
61.4.1
Using the Web Clipping Transport API
61.4.1.1
Implementing the Web Clipping Transport API
61.4.1.2
Deploying the Web Clipping Transport API
61.4.2
Rewriting Image Links to Use a Resource Proxy
61.5
Current Limitations of Web Clipping
61.6
Troubleshooting Web Clipping
Part X Delivering Personalized Content
62
Personalizing WebCenter Applications
62.1
Introduction to WebCenter Personalization
62.1.1
WebCenter Personalization Architecture
62.1.2
WebCenter Personalization Conductor
62.1.2.1
Personalized Scenarios
62.1.2.2
Personalized Application Flow
62.1.2.3
Property Set Integration
62.1.2.4
Provider Integration
62.1.3
WebCenter Personalization Property Service
62.1.3.1
Property Service Architecture
62.1.3.2
Property Sets
62.1.3.3
Property Locators
62.1.4
WebCenter Personalization Providers
62.1.4.1
Out-of-the-Box Providers
62.1.4.2
Custom Data Providers
62.1.4.3
Function Providers
62.2
Integrating WebCenter Personalization in Your Application
62.2.1
WebCenter Personalization Requirements
62.2.2
Authoring Personalized Scenarios in JDeveloper
62.2.2.1
Creating a Properties Namespace
62.2.2.2
Creating Property Sets and Property Definitions
62.2.2.3
Creating a New Scenario in the Scenario Editor
62.2.2.4
Specifying Scenario Flow Using Node Types
62.2.2.5
Defining Property Sets and Property Locators
62.2.2.6
Implementing and Calling Function Providers
62.2.2.7
Implementing and Calling Data Providers
62.2.2.8
Using the Out-of-the-Box Providers
62.2.3
Creating File-Based Scenarios
62.2.4
Displaying Targeted Content at Runtime
62.2.4.1
Presenting Content with Content Presenter
62.2.4.2
Presenting Content with a Custom User Interface
62.3
Extending Personalization
62.3.1
Adding Custom Providers
62.3.1.1
Extending the AnnotatedConfiguration Class
62.3.1.2
Implementing the Required Interfaces
62.3.1.3
Creating the Resource Files
62.3.1.4
Wiring the Data Provider to the Conductor
62.3.1.5
Invoking your Data Provider in a Scenario
62.3.2
Adding Custom Locators
62.3.2.1
Understanding Property Locators
62.3.2.2
Implementing the Required Interfaces
62.3.2.3
Implementing Security
62.3.2.4
Creating a Property Set Definition
62.3.2.5
Putting It All Together
62.3.2.6
Invoking the Property Locator
62.4
Using Personalization APIs Externally
62.4.1
Using Java APIs
62.4.2
Using the Property Service REST APIs
62.4.2.1
Accessing the Property Service
62.4.2.2
Creating a Namespace Using the Property Service
62.4.2.3
Viewing Property Set Definitions Within a Namespace Using the Property Service
62.4.2.4
Creating a Property Definition Within a Namespace Using the Property Service
62.4.2.5
Viewing Property Definitions Within a Namespace Using the Property Service
62.4.2.6
Creating a Property Set Definition Within a Namespace Using the Property Service
62.4.2.7
Creating a Property Set Within a Namespace Using the Property Service
62.4.2.8
Viewing a Property Set Within a Namespace Using the Property Service
62.4.2.9
Accessing the Conductor ResourceIndex
62.4.2.10
Accessing Namespaces Using the Conductor
62.4.2.11
Creating a Scenario Within a Namespace Using the Conductor
62.4.2.12
Viewing Scenarios Within a Namespace Using the Conductor
62.4.2.13
Executing a Scenario Using the Conductor
62.4.2.14
Viewing Data Providers Within a Namespace Using the Conductor
62.4.2.15
Viewing Detailed Data Provider Properties Within a Namespace Using the Conductor
62.4.2.16
Viewing Data Provider Connections Within a Namespace Using the Conductor
62.4.2.17
Viewing Data Provider Connection Resources Within a Namespace Using the Conductor
62.4.2.18
Viewing Data Provider Connection Resources Method Within a Namespace Using the Conductor
62.4.2.19
Viewing Function Providers Within a Namespace Using the Conductor
62.4.3
Property Service REST APIs
62.4.3.1
Property Service Resource Index
62.4.3.2
Namespace CRUD
62.4.3.3
Property Definition CRUD
62.4.3.4
Property Set Definition CRUD
62.4.3.5
Property Set CRUD
62.4.3.6
Property CRUD
62.4.3.7
JSON Payload
62.4.3.8
Exceptions
62.4.3.9
Query Parameters
62.4.3.10
Search Expressions
62.4.4
Using the Conductor REST APIs
62.4.4.1
Using the Data Provider Management APIs
62.4.4.2
Using the Function Provider Management APIs
62.4.4.3
Using the Namespace Management APIs
62.4.4.4
Using the Scenario Management APIs
62.4.5
Calling Personalization Client Services Using ELs
62.4.5.1
Calling Personalization Client Services from JSF Pages
62.4.5.2
Calling Personalization Client Services from JSP Pages
62.4.5.3
Personalization Context Object Method Reference
62.4.5.4
Enabling Single Sign-on
Part XI Completing Your WebCenter Application
63
Securing Your WebCenter Portal Application
63.1
Introduction to WebCenter Portal Application Security
63.2
Creating an Application Role
63.3
Configuring ADF Security
63.3.1
Configuring ADF Security Settings
63.3.2
Automated Security Grants for WebCenter Services
63.4
Using the Role Manager Task Flow
63.5
Using the Enterprise Role Member Task Flows
63.6
Using the Page Hierarchy Security Editor
63.6.1
Introduction to Page Hierarchy Security
63.6.1.1
Page Hierarchy Model
63.6.1.2
Page-level and Page Hierarchy Security
63.6.1.3
Inherited and Delegated Security
63.6.2
Building a Page Hierarchy
63.6.2.1
Adding a Page Hierarchy to a Navigation
63.6.2.2
Adding Pages to a Page Hierarchy
63.6.2.3
Delegating Security
63.7
Creating Login Pages and a Login Component
63.8
Creating a Login Portlet
63.9
Adding Portlets to a Login Page
63.10
Creating a Self-Registration Page
63.10.1
Integrating the WebCenter Spaces Self-Registration Task Flow
63.10.2
Building a Custom Self-Registration Page
63.10.3
Creating a Self-Registration Invitation Page
63.11
Creating a Reset Password Page
63.12
Configuring Basic Authentication for Testing Portlet Personalization
63.13
Working with External Applications
63.13.1
Using External Applications
63.13.1.1
Secured Service Connections
63.13.1.2
Automated Single Sign-On
63.13.2
Supplying User Credentials
63.13.3
Managing External Applications
63.13.3.1
Adding External Application Task Flows
63.13.3.2
Working with External Applications in Oracle JDeveloper
63.13.3.3
Working with External Applications in Enterprise Manager
63.13.3.4
Working with External Applications Using WLST
63.14
Registering Custom Certificates with the Keystore
63.15
Overriding Inherited Security on Portlets and Customizable Components
63.15.1
Portlets Security
63.15.1.1
Defining Security at the Actions Category Level
63.15.1.2
Defining Security at the Actions Level
63.16
Identity Propagation Mechanisms
63.17
Securing Identity Propagation Through WSRP Producers with WS-Security
63.17.1
Identity Propagation Without WS-Security
63.17.2
Identity Propagation with WS-Security
63.17.3
Configuring Security for WSRP Portlets
63.18
Implementing PDK-Java Portlet Security
63.18.1
Assumptions
63.18.2
Introduction to PDK-Java Portlet Security Features
63.18.2.1
Identity Propagation
63.18.2.2
Authorization
63.18.2.3
Message-level Security
63.18.3
Single Sign-On
63.18.3.1
External Application
63.18.3.2
No Application Authentication
63.18.4
Portlet Security Managers
63.18.4.1
Implementing Your Own Security Manager
63.18.5
Message Authentication
63.18.6
User Input Escape
63.18.6.1
Default Container Encoding
63.18.6.2
Escape Methods
63.19
Troubleshooting Security Issues
63.19.1
Error Message Appears When Running a Page with a Content Repository Data Control Method Being Consumed
64
Deploying and Testing Your WebCenter Portal Application
64.1
Introduction to Oracle WebLogic Servers
64.2
Deploying a WebCenter Portal Application to the Integrated WebLogic Server
64.2.1
Running a WebCenter Portal Application in the Integrated WebLogic Server
64.2.2
Deploying a WebCenter Portal Application to the Integrated WebLogic Server
64.3
Deploying a WebCenter Portal Application to a WebLogic Managed Server
64.3.1
Deployment Roadmap
64.3.2
Packaging a WebCenter Portal Application
64.3.2.1
Packaging Database Connections and Application Security
64.3.2.2
Creating Deployment Profiles
64.3.3
Preparing the Target Environment for Deployment
64.3.3.1
Creating and Provisioning an Oracle WebLogic Managed Server Instance
64.3.3.2
Creating and Registering the Metadata Service Repository
64.3.3.3
Configuring the Target Environment
64.3.3.4
Creating a WebLogic Managed Server Connection
64.3.4
Deploying a WebCenter Portal Application to a Managed Server
64.3.4.1
Deploying to a Managed Server Using Local Data Sources
64.3.4.2
Deploying to a Managed Server Using Global Data Sources
64.4
Transporting Customizations Between Environments
65
Building Multilanguage Portals
65.1
Language Support in ADF Faces Components
65.2
Using Resource Bundles to Support Multiple Languages
Part XII Appendixes
A
Files for WebCenter Portal Applications
A.1
About Files
A.2
Files Overview
A.3
Files Related to WebCenter Portal Applications
A.3.1
catalog-registry.xml
A.3.2
default-catalog.xml
A.3.3
default-navigation-model.xml
A.3.4
index.html
A.3.5
navigation-registry.xml
A.3.6
pages.xml
A.3.7
error.jspx
A.3.8
home.jspx
A.3.9
login.jspx
A.3.10
navigation-renderer.jspx
A.3.11
pageTemplate_globe.jspx
A.3.12
pageTemplate_swooshy.jspx
A.4
Files Related to JSR 286 Portlets
A.4.1
portlet.xml
A.4.2
oracle-portlet-tags.jar
A.4.3
portlet_mode.jsp
A.4.4
portlet_name.java
A.4.5
portlet_nameBundle.jar
A.4.6
web.xml
A.5
Files Related to PDK-Java Portlets
A.5.1
producer_name.properties
A.5.2
_default.properties
A.5.3
index.jsp
A.5.4
portlet_name_modePage.jsp
A.5.5
provider.xml
A.5.5.1
provider.xml Syntax
A.5.5.2
provider.xml Sample
A.5.6
web.xml
A.6
System Files
A.6.1
adf-config.xml
A.6.2
DataBindings.cpx
A.6.3
faces-config.xml
A.6.4
page_name.jspx
A.6.5
PageDef.xml
A.6.6
trinidad-config.xml
A.6.7
web.xml
A.6.8
weblogic-application.xml
A.6.9
mds Subdirectory
A.6.10
wsdl Subdirectory
A.7
Files Related to Security
A.7.1
connections.xml
A.7.2
jazn-data.xml
A.7.3
cwallet.sso
A.7.4
jps-config.xml
A.7.5
adf-config.xml
A.8
Oracle JDeveloper Files
A.8.1
pagetemplate-metadata.xml
A.9
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
Show Property
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
lov-config
B.2.1.4
event-handlers
B.2.1.5
drop-handlers
B.2.1.6
filter-config
B.2.1.7
elbuilder-config
B.2.1.8
Sample pe_ext.xml File
B.2.2
adf-config.xml
B.2.2.1
page-editor-config
B.2.2.2
addon-panels
B.2.2.3
sandbox-namespaces
B.2.2.4
session-options-factory
B.2.2.5
rcv-config
B.2.2.6
customizableComponentsSecurity
B.2.2.7
mds-config
B.2.2.8
resource-string-editor
B.2.2.9
enable-source-view
B.2.2.10
enable-zoom
B.2.2.11
persistent-change-manager
B.2.2.12
taglib-config
B.2.2.13
security-config
B.2.2.14
Sample adf-config.xml File
B.2.3
adf-settings.xml
B.2.3.1
custComps-config
B.2.4
web.xml
B.2.4.1
CHANGE_PERSISTENCE Context Parameter
B.2.4.2
WebCenterComposerFilter
B.3
Oracle Composer Default Add-Ons and Property Panels
B.3.1
Default Add-Ons
B.3.2
Default 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
XML Schema
C.3
Catalog Definition Attributes
C.3.1
catalogDefinition
C.3.2
folder
C.3.3
url
C.3.4
includeCatalog
C.3.5
component
C.3.6
customFolder
C.3.7
customContent
C.3.8
attributes
C.3.9
attribute
C.3.10
parameters
C.3.11
schema
C.4
Factory Classes Available for Adding Dynamic Resources to the Catalog
C.4.1
XMLComponentFactory
C.4.2
ContentUrlResourceFactory
C.4.3
CustomFolderContextFactory
C.4.4
DefaultFolderContextFactory
C.4.5
ContentListFactory
C.4.6
EnsembleContentProvider
D
Guidelines for Creating Task Flows to Be Used in Oracle Composer-Enabled Pages
D.1
Guidelines for Effective Geometry Management and Pagination
D.1.1
Guideline 1: Create Task Flows that Flow
D.1.1.1
Example 1: Oracle ADF Faces Table Component with Its autoHeightRows Attribute Set to a Specific Value
D.1.1.2
Example 2: Oracle ADF Faces Iterator Component Inside a Panel Group Layout with a Scrolling Layout
D.1.2
Guideline 2: Limit the Number of Records Displayed in a Task Flow
D.1.3
Guideline 3: Specify a Minimum Height for the Task Flow
D.1.4
Guideline 4: Include UI for Accessing Data Beyond the Display Limit
D.2
Guidelines for Efficient Use of Task Flow Parameters and Customization and Personalization Options
D.2.1
Guidelines for Implementing Task Flow Parameters
D.2.2
Guidelines for Implementing Customization
D.2.3
Guidelines for Implementing Personalization
D.2.4
Guidelines for Implementing Implicit Personalization
D.3
Example of a WebCenter Application Containing a Task Flow Created By Following the Guidelines
D.3.1
The RecentPagesTaskFlow Project
D.3.1.1
The recent-pages-task-flow-definition.xml File
D.3.1.2
The mainView.jsff Fragment
D.3.1.3
The simpleEditPopupView.jspx Page
D.3.1.4
The advancedEditPopupView.jspx Page
D.3.1.5
The recentPagesBean Java Bean
D.3.1.6
The Preference Bean
D.3.2
The WebPages Project
D.3.2.1
The Welcome.jspx File
D.3.2.2
The adf-config.xml File
D.3.3
Runtime Behavior
D.4
Conclusion
E
Additional Portlet Configuration
E.1
OmniPortlet Configuration Tips
E.1.1
Configuring the OmniPortlet Producer to Access Data Outside a Firewall
E.1.2
Configuring the OmniPortlet Producer to Access Other Relational Databases
E.1.2.1
Installing DataDirect JDBC Drivers
E.1.2.2
Registering DataDirect Drivers in OmniPortlet
E.1.3
Configuring Portal Tools and Web Producers (Optional)
E.2
Web Clipping Portlet Configuration Tips
E.2.1
Web Clipping Repository Configuration
E.2.1.1
Using Oracle Metadata Services (MDS) as the Web Clipping Repository
E.2.1.2
Using an Oracle Database as the Web Clipping Repository
E.2.1.3
Configuring Web Clipping Repository in provider.xml
E.2.1.4
Attributes and Child Tags of the repositoryInfo Tag
E.2.2
HTTP or HTTPS Proxy Configuration
E.2.3
Web Clipping Producer Security
E.2.3.1
Adding Certificates for Trusted Sites
E.2.3.2
Configuring Oracle Advanced Security for the Web Clipping Producer
E.3
Hiding or Removing the WSRP Test Page
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
E.6
Exporting and Importing Portlet Producers at Design Time
E.6.1
Exporting Portlet Producers at Design Time
E.6.2
Importing Portlet Producers at Design Time
F
Reuse of Oracle Portal Components
F.1
Introduction to Oracle Portal Components
F.2
Reusing Portlets
F.2.1
How to Reuse JSR 286 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
G
Expression Language Expressions
G.1
ELs Related to the Application
G.2
ELs Related to Security
G.3
ELs Related to General Settings
G.4
ELs Related to Application Resources
G.5
ELs Related to Navigation
G.6
ELs Related to Oracle WebCenter Services
G.7
ELs Related to the Documents Service
G.8
ELs Related to the People Connections Service
G.9
ELs Related to the Personalization Service
H
Manually Migrating a WebCenter Portal Application
H.1
When is Migration Required?
H.2
Anatomy of a WebCenter Portal Application
H.3
Overview of the Migration Procedure
H.4
Preparing for the Migration
H.5
Editing Configuration Files
H.5.1
Updating DataBindings.cpx
H.5.2
Updating weblogic.xml
H.5.3
Updating faces-config.xml
H.5.4
Updating trinidad-config.xml
H.5.5
Updating web.xml
H.5.6
Updating adf-config.xml
H.6
Modifying the Project Configurations
H.7
Creating Portal-Specific Files
H.7.1
Create the Portal Application Folder Structure
H.7.2
Create a Resource Registry File
H.7.3
Create Default Resources
H.7.3.1
Default Navigation Model File
H.7.3.2
Navigation Registry File
H.7.3.3
Resource Catalog File
H.7.3.4
Resource Catalog Registry File
H.7.3.5
Page Template File
H.7.3.6
Navigation Renderer File
H.7.3.7
Page Hierarchy File
H.8
Applying Security Configurations
H.8.1
Configure ADF Security
H.8.2
Configure the jazn-data.xml File
Glossary
Index