1/96
Contents
Title and Copyright Information
Preface
Audience
Documentation Accessibility
Related Documents
Conventions
What's New
New Features and Enhancements for Release 11.1.1.7.0
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 Framework 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 Framework Application Template Default web.xml File
1.10.2
The Framework Application Template Default faces-config.xml File
1.10.3
The Framework Application Template Default trinidad-config.xml File
1.10.4
The Framework Application Template Default adfc-config.xml File
1.11
Installing Database Schemas
2
Understanding Oracle WebCenter Portal
2.1
What Is Oracle WebCenter Portal?
2.2
Introducing the WebCenter Portal: Framework
2.3
What Are the Main WebCenter Portal: Framework Features?
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.1.3
What is the Difference Between Portlets and Task Flows?
2.3.2
Oracle WebCenter Portal's 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 Portal: Services
2.4.1
WebCenter Portal: 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 Portal 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 WebCenter Portal's Extension for Oracle JDeveloper
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 WebCenter Portal's Schema with a SQL Script
3.6
Installing the Oracle WebCenter Adapter for SharePoint
4
Working Productively in Teams
4.1
Enabling Source Control on Framework Applications
4.1.1
Creating a Subversion Repository
4.1.2
Understanding Oracle Team Productivity Center
4.2
Understanding Framework 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 Framework and Portlet Producer Applications
5.1
What Are Application Templates?
5.2
Creating a Framework Application
5.2.1
How to Create a Framework Application
5.3
Adding Pages to a Portal
5.4
Understanding the PortalWebAssets Project
5.4.1
Introduction
5.4.2
Decoupling the Static Application Resources Project
5.4.3
Deployment Options
5.4.4
Using EL to Manage Static Resources
5.4.4.1
Defining a Base URL Preference
5.4.4.2
Mapping URLs Dynamically
5.5
Creating a Portlet Producer Application
5.5.1
How to Create a Portlet Application Using a Template
5.5.2
What Happens When You Use a Portlet Producer Application Template
5.6
How Is a Framework application Security Configured by Default?
6
Advanced Configuration Options
6.1
Manually Configuring a Framework 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 Framework Application?
6.1.4
Which Technology Scopes Are WebCenter Portal: Framework Application-Specific?
6.1.5
Can I Create a WebCenter Portal: Framework Application by Adding the Oracle WebCenter Portal: Framework Technology Scope Later?
6.1.6
Migrating a WebCenter PS2 or Earlier Application to a WebCenter Portal: Framework Application
6.2
Extending Non-WebCenter Portal: Framework Applications to Include WebCenter Capabilities
6.3
Creating a Project by Importing a WAR File
7
Preparing Your Application for WebCenter Portal Services
7.1
Understanding WebCenter Portal Services Technologies
7.1.1
Understanding WebCenter Portal Horizontal Services
7.1.2
Understanding WebCenter Portal APIs
7.1.3
Using WebCenter Portal Data Controls
7.2
Preparing Your Framework 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 Framework 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 Framework Applications
8.1
What is a Framework Application?
8.2
What is Oracle WebCenter Portal: Framework?
8.2.1
How Do I Add Oracle WebCenter Portal: Framework to a Project?
8.2.2
What Features Does the Oracle WebCenter Portal: Framework Provide?
8.3
What is the Portal Life Cycle?
8.4
Creating a WebCenter Portal: Framework Application
8.5
Understanding the Features of a WebCenter Portal: Framework 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: Framework Application
8.12.1.1
How is a WebCenter Portal: Framework Application Organized?
8.12.1.2
Why Is a WebCenter Portal: Framework 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 WebCenter 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: Framework 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.11.3
Managing Post-Deployment Changes
9.12
Building and Deploying Personalization for WebCenter Portal 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 Fusion Middleware Control Console
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 Content From Oracle WebCenter 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
9.17
Rolling Back Production Site Changes
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 Portal: 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 Portal: 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 Page Styles for Spaces
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 Mashup Styles for Spaces
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 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: Framework 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 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 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
What You May Need to Know About the Content Directory
16.2.3
How to Update Portal Resource Properties
16.2.4
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
How to Download a Resource Using the Resource Manager
16.4.2
How to Import a Portal Resource into JDeveloper
16.4.3
How to Export a Portal Resource from JDeveloper
16.4.4
How to Upload a Resource Using the Resource Manager
Part III Customizing Your Application and Extending Customization Options
17
Introduction to 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 a Tab Set or a Tab to a Box Component
17.4.1.2
Add Box Components Adjacent to Existing Ones
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
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 Composer
17.7.1
Page and Task Flow Security
17.7.1.1
Task Flow Security
17.7.2
MDS Customization Restrictions
17.7.3
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 Composer
19.1
Designing Editable Pages Using 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 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 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 Composer Problems
20
Extending Runtime Editing Capabilities Using Composer
20.1
Overview of Extensibility Options
20.1.1
Composer Add-Ons
20.1.2
Composer Custom Property Panels
20.1.3
Composer Events Handlers
20.1.4
Drop Handlers
20.1.5
Component Property Filters
20.1.6
Customization Manager
20.1.7
Composer Toolbar Customization
20.1.8
Configuration Files
20.2
Creating 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 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 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 Override Default Property Panels
20.3.4
How to Exclude 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
How to Protect Expression Language
20.4.3
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 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 Composer
20.6.2
What Happens When You Create and Register Event Handlers
20.6.3
Additional Composer Event Handler Configurations
20.6.3.1
Specifying a Sequence Number for an Event Handler
20.6.3.2
Terminating Event Processing
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 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 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
Enabling Direct Select in Design View
20.11.1
How to Enable and Configure Direct Select
20.11.2
What Happens at Runtime
20.12
Troubleshooting Problems with Composer Extensibility Features
21
Performing Advanced 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 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 the Source View Menu for an 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 Composer Configurations
22
Performing Composer-Specific MDS Configurations
22.1
Introduction to MDS
22.2
Using Composer Sandbox
22.2.1
How to Enable 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.1.4
Enabling a Full Page Refresh at Runtime
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 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 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 Composer
23
Modifying Default Security Behavior of 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 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
Implementing Task Flow Security
23.6.1
Granting Permissions on Task Flows
23.6.2
Enabling Task Flow Permission Check
23.7
Overriding 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 Composer
23.7.3
What Happens at Runtime
23.8
Troubleshooting Problems with Composer Components Security
24
Customizing Task Flows
24.1
Preparing for Task Flow Customization
24.1.1
WebCenter Portal: Spaces: Create a New Task Flow Customization Application
24.1.2
WebCenter Portal: Framework Application: Enable Customization
24.2
Configuring the JDeveloper Customization Developer Role
24.3
Customizing Oracle WebCenter Portal Task Flows
24.3.1
Examples: Customizing Task Flows for WebCenter Portal: Spaces
24.3.1.1
Example: Customizing the Worklist Task Flow
24.3.1.2
Example: Customizing the Discussion Forums Task Flow
24.3.2
Examples: Customizing Task Flows for Custom Framework Applications
24.3.2.1
Example: Customizing the Document Library - List View Task Flow
24.4
Applying Task Flow Customizations to Deployed WebCenter Portal Applications
24.4.1
Creating a Metadata Deployment Profile for Custom WebCenter Portal Applications
24.4.2
Deploying Task Flow Customizations Directly from JDeveloper
24.4.3
Deploying Task Flow Customizations Using WLST
24.5
Removing Customizations from Deployed WebCenter Portal Applications
24.6
Catalog of WebCenter Portal Task Flows
Part IV Integrating and Publishing Content
25
Introduction to Integrating and Publishing Content
26
Managing 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 SharePoint
26.2.3.1
Creating a Content Repository Connection Based on the Oracle WebCenter Adapter for 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 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: Framework Application-Specific Content Repository Connection
26.4
Using an Existing Repository Connection for a New WebCenter Portal: Framework Application
27
Working with Content Data Controls
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.4.4
Working with Group Space Information
28.4.5
Discovering Content Type Property Names
28.4.6
Referencing External Files in Display Templates
28.4.7
Referencing Site Studio Region Elements in a Custom View
28.4.8
Using the Content Presenter Display Template
28.5
Using Content Presenter Display Templates
28.5.1
Export a Content Presenter Display Template as a Portal Resource
28.5.2
Upload the New Content Presenter Display Template
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
Understanding the Blog Task Flows
31.4.2
Adding a Blog to a Page
31.4.2.1
Adding a Default Blog Using an Existing Folder
31.4.2.2
Adding a Custom Blog to a Page Using the Blog Task Flows
31.4.3
What Happens at Runtime
31.4.4
Modifying Blog Task Flow Parameters
31.4.5
Blog Task Flow Parameters
31.4.5.1
Blog Archives Task Flow Parameters
31.4.5.2
Blog Banner Task Flow Parameters
31.4.5.3
Blog Digest Task Flow Parameters
31.4.5.4
Blog Recent Posts Task Flow Parameters
31.4.5.5
Blogs Task Flow Parameters
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 and Microsoft Lync 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 Mail Service
35.1
Introduction to the Mail Service
35.1.1
Understanding the Mail Service
35.1.2
Requirements for the Mail Service
35.2
Basic Configuration for the Mail Service
35.2.1
Configuration Roadmap - Mail Service
35.2.2
Setting up Connections for the Mail Service
35.2.3
Adding the Mail Service at Design Time
35.2.3.1
Mail Service Task Flows
35.2.3.2
How to Add the Mail Service to your Application
35.2.3.3
How to Modify the Mail Service Task Flow Parameters
35.2.4
Setting Security for the Mail Service
35.3
Advanced Information for the Mail Service
35.3.1
Invoking the Mail Compose Page
35.3.2
Configuring the Number of Mails Displayed
35.3.3
Troubleshooting the Mail Service
36
Integrating the Polls Service
36.1
Introduction to Polls
36.1.1
Understanding the Polls Service
36.1.2
Requirements for Polls
36.1.3
What Happens at Runtime
36.2
Basic Configuration for the Polls Service
36.2.1
Setting up Connections for the Polls Service
36.2.2
Adding the Polls Service at Design Time
36.2.2.1
Polls Task Flows
36.2.2.2
How to Add the Quick Poll Task Flow to Your Page
36.2.2.3
How to Modify the Polls Service Task Flow Parameters
36.2.3
Setting Security for Polls
36.3
Advanced Information for the Polls Service
36.3.1
How to Add the Polls Manager Task Flow
36.3.2
How to Add the Take Polls Task Flow
36.3.3
How to Add the View Poll Results Task Flow
36.3.4
Using the Polls Service Data Controls
36.3.4.1
Take Poll Data Control
36.3.4.2
Polls Manager Data Control
Part VI Working with the People Connections Service
37
Introducing the People Connections Service
37.1
Overview of the People Connections Service
37.1.1
People Connections Service Task Flows
37.1.1.1
Activity Stream
37.1.1.2
Connections
37.1.1.3
Feedback
37.1.1.4
Message Board
37.1.1.5
Profile
37.1.1.6
The Publisher Task Flow
37.1.2
People Connections Service Requirements
37.2
Troubleshooting the People Connections Service
38
Basic Configuration for the People Connections Service
38.1
How to Set Up a Database Connection for the People Connections Service
38.2
How to Add People Connections Task Flows to a Page
38.3
Setting Security for the People Connections Service
38.4
Establishing Site-Level Settings for People Connections Features
38.4.1
Understanding the People Connections Site-Level Setting Scripts
38.4.1.1
Preparing and Running settings-insert.sql
38.4.1.2
Preparing and Running settings-update.sql
38.4.2
Supported Site-Level Settings for People Connections Features
38.4.2.1
Activity Stream Site-Level Settings
38.4.2.2
Connections Site-Level Settings
38.4.2.3
Feedback Site-Level Settings
38.4.2.4
Message Board Site-Level Settings
38.4.2.5
Profile Site-Level Settings
38.4.3
Example: Configuring Connections to Accept Invitations Automatically
39
People Connections Task Flow Parameters
39.1
How to Revise People Connections Task Flow Binding Parameters
39.2
People Connections Task Flow Binding Parameters
39.3
What You Should Know About the Activity Stream Advanced Query Option
40
Using People Connections Data Controls and Java APIs
40.1
Using People Connections Data Controls
40.1.1
Adding a Data Control to Your Project
40.1.2
Working with People Connections Management Data Control
40.1.2.1
connectionLists
40.1.2.2
groupedPeopleCounts
40.1.2.3
receivedInvitations
40.1.2.4
sentInvitations
40.1.2.5
acceptInvitation(String invitationId)
40.1.2.6
addConnectionsToList(List userids, String listName)
40.1.2.7
createConnectionList(String listName)
40.1.2.8
declineInvitation(String invitationId)
40.1.2.9
dropConnectionList(String listName)
40.1.2.10
getConnectionList(String connectionListName)
40.1.2.11
getConnections(String userid, String connectionListName, String filterPattern, String sortBy, int startIndex, int fetchSize)
40.1.2.12
getNumberOfConnections(String userid, String connectionListName, String filterPattern)
40.1.2.13
ignoreInvitation(String invitationId)
40.1.2.14
inviteUserForConnection(String userid, String invitationMessage, Collection connectionListNames)
40.1.2.15
isConnectionListModifiable(String listName)
40.1.2.16
isConnectionPartOfUnmodifiableList(String connecteeGuid)
40.1.2.17
removeConnection(String userid, boolean fromListOnly, String listName)
40.1.2.18
searchUsers(String filterPattern, int startIndex, int fetchSize)
40.1.2.19
updateConnectionListsMembership(String member, Collection addListIds, Collection removeListIds)
40.1.3
Working with Profile Data Control
40.1.3.1
Method: getProfile(String userId)
40.1.3.2
Method: getProfileForUpdate(String userId)
40.2
People Connections Service Java APIs
41
People Connections Service REST APIs
41.1
Activity Stream REST APIs
41.1.1
Activity Stream Entry Point
41.1.2
Activity Stream Resource Type Taxonomy
41.1.3
Activity Stream Security Considerations
41.1.4
Activity Stream Resource Types
41.2
Connections and Profile REST APIs
41.2.1
Connections and Profile Entry Point
41.2.2
Connections and Profile Resource Type Taxonomy
41.2.3
Connections and Profile Security Considerations
41.2.4
Connections and Profile Resource Types
41.3
Feedback REST APIs
41.3.1
Feedback Entry Point
41.3.2
Feedback Resource Type Taxonomy
41.3.3
Feedback Security Considerations
41.3.4
Feedback Resource Types
41.4
Message Board REST APIs
41.4.1
Message Board Entry Point
41.4.2
Message Board Resource Type Taxonomy
41.4.3
Message Board Security Considerations
41.4.4
Message Board Resource Types
41.5
Creating an Invitation
41.5.1
Creating an Invitation
41.5.2
Deleting an Invitation
Part VII Helping Users Find Content
42
Integrating the Links Service
42.1
Introduction to the Links Service
42.1.1
Understanding the Links Service
42.1.2
Requirements for the Links Service
42.1.3
What Happens at Runtime
42.2
Basic Configuration for the Links Service
42.2.1
Setting up Connections for the Links Service
42.2.2
Adding the Links Service at Design Time
42.2.2.1
Links Service Task Flows
42.2.2.2
How to Add the Links Service to your Application
42.2.3
Setting Security for the Links Service
42.2.4
Troubleshooting the Links Service
42.3
Advanced Information for the Links Service
42.3.1
Using the Links Service REST APIs
42.3.1.1
Links Entry Point
42.3.1.2
Links Resource Type Taxonomy
42.3.1.3
Security Considerations
42.3.1.4
Links Resource Types
43
Integrating the Tags Service
43.1
Introduction to the Tags Service
43.1.1
Understanding the Tags Service
43.1.2
Requirements for the Tags Service
43.1.3
What Happens at Runtime
43.2
Basic Configuration for the Tags Service
43.2.1
Setting up Connections for the Tags Service
43.2.2
Adding the Tags Service at Design Time
43.2.2.1
Tags Service Components
43.2.2.2
Tags Service Task Flows
43.2.2.3
How to Add the Tags Service to your Page
43.2.2.4
How to Modify the Tags Service Task Flow Parameters
43.2.3
Setting Security for the Tags Service
43.3
Advanced Information for the Tags Service
43.3.1
Using the Tags Service Java APIs
43.3.2
Using the Tags Service REST APIs
43.3.2.1
Tags Entry Point
43.3.2.2
Tags Resource Type Taxonomy
43.3.2.3
Security Considerations
43.3.2.4
Tags Resource Types
43.3.3
Optional Way to Show Tags on Pages
43.3.4
Using the Resource Action Handling Framework to Tag Custom Objects
43.3.5
Troubleshooting the Tags Service
43.3.5.1
Tag Center Results Do Not Appear When Tag Is Clicked
43.3.5.2
The Tag Center Does Not Display Tagged Documents
43.3.5.3
The Tagging Button Does Not Display On Page
43.3.5.4
Clicking a Tagged Resource Does Not Go To The Correct Page
44
Integrating the Search Service
44.1
Introduction to Search
44.1.1
Understanding the Search Service
44.1.1.1
Understanding Search with the Oracle SES Adapter
44.1.1.2
Understanding Search with WebCenter Portal's Search Adapters
44.1.1.3
Click Actions on Search Results
44.1.2
What Happens at Runtime
44.2
Basic Configuration for the Search Service
44.2.1
Configuration Roadmap - Oracle SES
44.2.2
Setting up Connections for Oracle SES
44.2.3
Adding the Search Service at Design Time
44.2.3.1
Search Service Task Flows
44.2.3.2
How to Add the Search Service to Your Page
44.2.3.3
How to Modify the Search Service Task Flow Parameters
44.2.4
Setting Security for the Search Service
44.3
Advanced Information for the Search Service
44.3.1
Adding the Search Task Flow
44.3.2
Adding the Search - Saved Searches Task Flow
44.3.3
Adding the Search Preferences Task Flow
44.3.4
Configuring Search with the Oracle SES Adapter
44.3.5
Configuring Search with WebCenter Portal's Search Adapters
44.3.6
Using the Search Service Java APIs
44.3.7
Using the Search Service REST APIs
44.3.7.1
Search Entry Point
44.3.7.2
Search Resource Type Taxonomy
44.3.7.3
Security Considerations
44.3.7.4
Search Resource Types
44.3.8
Using the Search Service Data Control
44.3.8.1
Search Data Control Methods, Attributes, and Classes
44.3.8.2
Integrating the Search Data Control
44.3.9
Building Adapters for the Search Service
44.3.9.1
How to Add a Search Source
44.3.9.2
How to Register a Custom Adapter
44.3.9.3
Search Adapter Attributes
44.3.9.4
What Happens at Runtime
44.3.10
Customizing the Search UI Without WebCenter Portal's Search Service APIs
44.3.11
Troubleshooting the Search Service
45
Integrating the Activity Graph Service
45.1
Introduction to the Activity Graph Service
45.1.1
Understanding the Activity Graph Service
45.1.2
Requirements for the Activity Graph Service
45.1.3
What Happens at Runtime
45.2
Basic Configuration for the Activity Graph Service
45.2.1
Configuration Roadmap for the Activity Graph Service
45.2.2
Setting Up Connections for the Activity Graph Service
45.2.3
Adding the Activity Graph Service at Design Time
45.2.3.1
Activity Graph Service Task Flows
45.2.3.2
How to Add Activity Graph Service Task Flows to a Page
45.2.3.3
How to Modify Activity Graph Service Task Flow Parameters
45.2.3.4
Activity Graph Service Task Flows and Task Flow Parameters
45.3
Advanced Information for the Activity Graph Service
45.3.1
Using the Recommendation Data Control
45.3.1.1
Adding the getSimilarObjects and queryCommonObjects Methods
45.3.1.2
Adding the recordNotInterested Method
45.3.2
Using the Activity Graph Service REST APIs
45.3.2.1
Activity Graph Entry Point
45.3.2.2
Activity Graph Resource Type Taxonomy
45.3.2.3
Security Considerations
45.3.2.4
Activity Graph Resource Types
45.4
Extending the Activity Graph Service
45.4.1
Defining Custom Node Classes
45.4.2
Defining Custom Actions
45.4.3
Defining Custom Similarity Calculations
45.4.4
Defining Custom Rank Calculations
45.4.5
Registering Custom Activity Providers
45.4.6
Registering Custom QRPPs
45.5
Troubleshooting the Activity Graph Service
45.5.1
Troubleshooting the Activity Graph Service Task Flows (All Task Flows)
45.5.2
Troubleshooting the Recommended Connections Task Flow
45.5.3
Troubleshooting the Similar Items Task Flow
Part VIII Helping Users Keep Track
46
Integrating the Analytics Service
46.1
Introduction to the Analytics Service
46.1.1
Understanding the Analytics Service
46.1.2
Requirements for the Analytics Service
46.1.3
What Happens at Runtime
46.2
Basic Configuration for the Analytics Service
46.2.1
Configuration Roadmap for the Analytics Service
46.2.2
Setting up Connections for the Analytics Service
46.2.2.1
How to Set Up a Connection to the Analytics Database
46.2.2.2
How to Set Analytics Collector Properties
46.2.2.3
How to Set Up a Connection to the Analytics Collector
46.2.3
Adding Analytics Event Code to Your Application
46.2.3.1
Including Event Code for Page Views
46.2.4
Configuring a Namespace for Analytics Customizations in MDS
46.2.5
Adding Analytics Task Flows at Design Time
46.2.5.1
Analytics Task Flows
46.2.5.2
How to Add Analytics Task Flows to a Page
46.2.5.3
How to Modify Analytics Task Flow Parameters
46.2.5.4
How to Allow End Users to Customize Analytics Task Flows at Runtime
46.2.5.5
Analytics Task Flows and Task Flow Parameters
46.2.6
Setting up Security for Analytics Task Flows and Usage Data
46.3
Building Analytics Reports
46.3.1
Using SQL Data Controls
46.3.2
SQL Statements for Out-of-the-Box Analytics Reports
46.3.2.1
Analytics SQL: WebCenter Portal Traffic
46.3.2.2
Analytics SQL: Page Traffic
46.3.2.3
Analytics SQL: Login Metrics
46.3.2.4
Analytics SQL: Space Traffic
46.3.2.5
Analytics SQL: Space Response Time
46.3.2.6
Analytics SQL: Portlet Traffic
46.3.2.7
Analytics SQL: Portlet Instance Traffic
46.3.2.8
Analytics SQL: Portlet Response Time
46.3.2.9
Analytics SQL: Portlet Instance Response Time
46.3.2.10
Analytics SQL: Search Metrics
46.3.2.11
Analytics SQL: Document Metrics
46.3.2.12
Analytics SQL: Wiki Metrics
46.3.2.13
Analytics SQL: Blog Metrics
46.3.2.14
Analytics SQL: Discussion Metrics
46.3.3
Sample Queries for User Metrics
46.3.3.1
Sample SQL: Filter by User Property
46.3.3.2
Sample SQL: Group by User Property
46.3.4
Sample Analytics Database Queries for Specific Metrics
46.3.4.1
Sample SQL: User Activities
46.3.4.2
Sample SQL: Space Activities
46.3.4.3
Sample SQL: Space Activities for a Specific Time Period
46.3.4.4
Sample SQL: Activity for a Service During a Specific Time Period
46.3.4.5
Sample SQL: Search Phrases
46.3.4.6
Sample SQL: Page Views
47
Integrating the Lists Service
47.1
Introduction to the Lists Service
47.1.1
Understanding the Lists Service
47.1.2
What Happens to the Lists Service at Runtime
47.2
Basic Configuration for the Lists Service
47.2.1
Setting Up Connections for the Lists Service
47.2.2
Adding the Lists Service at Design Time
47.2.2.1
Lists Service Task Flows
47.2.2.2
How to Add the Lists Service to your Application
47.2.3
Enabling Users to Work with Lists at Runtime
47.3
Adding Lists to a Resource Catalog
47.4
Using the Lists Service REST APIs
47.4.1
Entry Point for Lists
47.4.2
Lists Resource Type Taxonomy
47.4.3
Lists Security Considerations
47.4.4
Lists Resource Types
47.4.4.1
urn:oracle:webcenter:space:lists
47.4.4.2
urn:oracle:webcenter:space:list
47.4.4.3
urn:oracle:webcenter:space:list:rows
47.4.4.4
urn:oracle:webcenter:space:list:row
47.4.4.5
urn:oracle:webcenter:space:list:columns
47.4.4.6
urn:oracle:webcenter:space:list:column
47.5
Troubleshooting the Lists Service
48
Integrating Notifications
48.1
Introduction to Notifications
48.1.1
Understanding Notifications
48.1.2
Requirements for Notifications
48.1.3
What Happens with Notifications at Runtime?
48.2
Basic Configuration for Notifications
48.2.1
Adding the Notifications Namespace
48.2.2
Creating a Notifications Connection to a Mail Server
48.2.3
Creating a Notifications Connection to a BPEL Server
48.2.4
Setting Application Defaults for Notifications
48.2.4.1
What You Should Know About Subscription Defaults
48.2.4.2
Setting Notifications Subscription Defaults
48.2.5
Adding Notifications Task Flows to Your Application
48.2.5.1
Notifications Task flows
48.2.5.2
How to Add a Notifications Task Flow to a Page
48.2.5.3
Subscription Preferences Task Flow Input Parameters
48.2.6
Setting Security for Notifications
48.3
Advanced Information for Notifications
48.3.1
Using Notifications Java APIs
48.3.1.1
Configuration Settings Required to Use Notifications Java APIs
48.3.1.2
Introduction to Notifications Java APIs
48.3.1.3
How to Set up Your Application to Use Notifications Java APIs
48.3.2
Using Notifications Data Controls
48.3.2.1
Adding a Data Control to Your Project
48.3.2.2
Understanding the Notification Subscription Data Control
48.3.2.3
Notification Subscription Data Control Methods and Attributes
48.3.2.4
Notification Subscription Data Control Classes
49
Integrating the Recent Activities Service
49.1
Introduction to the Recent Activities Service
49.1.1
Understanding the Recent Activities Service
49.1.2
What Happens at Runtime
49.2
Basic Configuration for the Recent Activities Service
49.2.1
Setting up Connections for the Recent Activities Service
49.2.2
Adding the Recent Activities Service at Design Time
49.2.3
Modifying Recent Activities Service Task Flow Parameters
49.2.4
Setting Security for the Recent Activities Service
49.3
Advanced Information for the Recent Activities Service
49.3.1
Refining the Behavior of the Recent Activities Service
49.3.2
Obtaining RSS News Feed URL for the Recent Activities Service
50
Integrating the Worklist Service
50.1
Introduction to the Worklist Service
50.1.1
Understanding Worklists
50.1.2
Requirements for the Worklist Service
50.1.3
What Happens at Runtime
50.2
Roadmap - Configuring the Worklist Service for WebCenter Portal: Framework Applications
50.3
Basic Configuration for the Worklist Service
50.3.1
Setting up Connections for the Worklist Service
50.3.1.1
Worklist Service Connections
50.3.1.2
How to Set Up Connections for the Worklist Service
50.3.2
Adding the Worklist Service at Design Time
50.3.2.1
Worklist Service Task Flows
50.3.2.2
How to Add the Worklist Service to your Application
50.3.3
Setting Security for the Worklist Service
50.4
Advanced Information for the Worklist Service
51
Integrating the Events Service
51.1
Introduction to the Events Service
51.1.1
Understanding the Events Service
51.1.2
Requirements for the Events Service
51.1.3
What Happens at Runtime
51.2
Basic Configuration for the Events Service
51.2.1
Configuration Roadmap for the Events Service
51.2.2
Setting Up a Connection for the Events Service
51.2.3
Adding the Events Service at Design Time
51.2.3.1
Events Task Flows
51.2.3.2
How to Add the Events Service to Your Application
51.2.4
Setting Security for the Events Service
51.3
Using the Events Service REST APIs
51.3.1
Events Entry Point
51.3.2
Events Resource Type Taxonomy
51.3.3
Security Considerations
51.3.4
Events Resource Types
51.3.4.1
urn:oracle:webcenter:events:gsEvents
51.3.4.2
urn:oracle:webcenter:events:gsEvent
51.3.4.3
urn:oracle:webcenter:events:gsCategories
51.3.4.4
urn:oracle:webcenter:events:gsCategory
51.4
Troubleshooting the Events Service
52
Integrating the RSS Service
52.1
Introduction to the RSS Service
52.1.1
Understanding the RSS Service
52.1.2
Requirements for the RSS Service
52.1.3
What Happens at Runtime
52.2
Basic Configuration for the RSS Service
52.2.1
Setting Up a Proxy Server for the RSS Service
52.2.2
Adding the RSS Service at Design Time
52.2.2.1
About RSS Viewer Task Flow
52.2.2.2
How to Add the RSS Viewer Task Flow to Your Application
52.2.2.3
How to Modify RSS Viewer Task Flow Parameters
52.2.3
Setting Security for the RSS Viewer Service
Part IX Extending Your WebCenter Portal Application
53
Using Oracle WebCenter Portal REST APIs
53.1
Introduction to REST
53.2
Understanding the Username-Based Security Token Encryption
53.3
Benefits of Using REST
53.4
Introduction to WebCenter Portal's REST APIs
53.5
Understanding the Link Model
53.5.1
The Resource Index
53.5.2
The Anatomy of a Link
53.5.2.1
Resource Type
53.5.2.2
Relationship
53.5.2.3
Capabilities
53.5.2.4
Media Type
53.5.2.5
Templates
53.6
Understanding Items Hypermedia
53.7
Navigating Hypermedia Using HTTP
53.8
Security Considerations for WebCenter Portal REST APIs
53.9
Security Considerations for CMIS REST APIs
53.10
Understanding Common Types
53.10.1
Common Types
53.10.1.1
personReference
53.10.1.2
groupSpaceReference
53.10.2
Portable Contact Types
53.10.2.1
name Portable Contact Type
53.10.2.2
address Portable Contact Type
53.10.2.3
organization Portable Contact Type
53.10.2.4
value Portable Contact Type
53.11
Managing Caches
53.12
Configuring a Proxy Server
53.13
WebCenter Portal's REST API Examples
53.13.1
Navigating the Message Board Hypermedia
53.13.1.1
Accessing the Resource Index
53.13.1.2
Reading Messages
53.13.1.3
Creating a New Message
53.13.1.4
Updating a Message
53.13.1.5
Deleting a Message
53.13.2
Displaying Activity Stream Data
53.13.3
Using the WebCenter People Connections Service REST APIs with Ext
53.13.3.1
Creating the HTML Page
53.13.3.2
Creating the JavaScript File
53.13.3.3
The Result
53.13.4
Updating User Status
54
Integrating Other Oracle Applications
54.1
Integrating Oracle and Other Applications in WebCenter Portal
54.2
Integrating Siebel Applications
54.2.1
Integrating Siebel Applications as Web Services
54.2.1.1
Preparing the Siebel Application
54.2.1.2
Consuming a Siebel Web Service in a Framework Application
54.2.2
Integrating Siebel Applications Using the Siebel Web Engine
54.3
Integrating E-Business Suite Applications
54.3.1
Introduction to Integrating EBS Applications
54.3.1.1
Understanding EBS Integration
54.3.1.2
Requirements for Integrating EBS Applications
54.3.2
Integrating EBS Applications in a Framework Application
54.3.2.1
Preparing the EBS Portlet for Remote Access
54.3.2.2
Registering the EBS WSRP Producer in the Framework Application
54.3.2.3
Creating a JSF Page to Consume the Remote Producer
54.3.2.4
Testing the Framework Application
54.3.3
Integrating EBS Applications in Spaces
54.3.3.1
Preparing the EBS Portlet for Remote Access
54.3.3.2
Registering the EBS WSRP Producer in Spaces
54.3.3.3
Adding the EBS Portlet to a Spaces Page
54.3.3.4
Testing the Spaces Portlet Connection
54.4
Integrating JD Edwards Applications
54.4.1
Integrating JD Edwards Applications in a Framework Application
54.4.1.1
Preparing the JD Edwards Application for Remote Access
54.4.1.2
Registering the JD Edwards WSRP Producer in the Framework Application
54.4.1.3
Creating the JSF Page to Consume the Remote Producer
54.4.1.4
Testing the Framework Application
54.4.2
Integrating JD Edwards Applications in Spaces
54.4.2.1
Registering the Producer
54.4.2.2
Adding the JD Edwards Portlet to a Spaces Page
54.4.2.3
Testing the Spaces Portlet Connection
54.5
Integrating PeopleSoft Applications
54.5.1
Introduction to Integrating PeopleSoft Applications
54.5.1.1
Understanding PeopleSoft Integration
54.5.1.2
Requirements for Integrating PeopleSoft Applications
54.5.2
Preparing the PeopleSoft Application for Remote Access
54.5.3
Integrating PeopleSoft Applications in a Framework Application
54.5.3.1
Registering the PeopleSoft WSRP Producer in the Framework Application
54.5.3.2
Creating the JSF Page to Consume the Remote (WSRP) Producer
54.5.3.3
Testing the Framework Application
54.5.4
Integrating PeopleSoft Applications in Spaces
54.5.4.1
Registering the PeopeSoft WSRP Producer for Spaces
54.5.4.2
Adding the PeopleSoft Portlet to a Spaces Page
54.5.4.3
Testing the Spaces Portlet Connection
54.5.5
Setting up WS-Security for PeopleTools
54.5.5.1
Configuring WS-Security for WSS10 SAML Token with Message Integrity
54.5.5.2
Configuring WS-Security for WSS10 SAML Token with Message Protection
54.5.5.3
Configuring WS-Security for WSS10 Username Token with Password
54.5.5.4
Configuring WS-Security for WSS10 Username Token Without Password
54.6
Integrating Oracle Business Intelligence Presentation Services
54.6.1
Introduction to Integrating Oracle Business Intelligence Presentation Services
54.6.1.1
Understanding Oracle Business Intelligence Presentation Services Integration
54.6.1.2
Requirements for Integrating Oracle Business Intelligence Presentation Services
54.6.2
Configuring Credentials for Connecting to the Oracle BI Presentation Catalog
54.6.2.1
Creating the BIImpersonateUser
54.6.2.2
Granting Permissions to BIImpersonateUser
54.6.3
Integrating Oracle Business Intelligence Presentation Services in Framework Applications
54.6.3.1
Installing the Required Business Intelligence Extensions
54.6.3.2
Creating a Framework Application that Integrates with Oracle BI Presentation Services
54.6.3.3
Testing the Framework Application
54.6.3.4
Post-Deployment Connection Configuration
54.6.3.5
Securing Oracle BI EE Objects Included in a Framework Application
54.6.4
Integrating Oracle Business Intelligence Objects in WebCenter Portal: Spaces
54.6.4.1
Adding or Modifying a Presentation Services Connection After Deployment
54.6.4.2
Adding Oracle BI Objects to the Spaces Resource Catalog
54.6.4.3
Adding Oracle BI Content at Runtime
54.6.4.4
Modifying a Business Intelligence Object's Prompt Values
54.6.4.5
Modifying a Business Intelligence Task Flow's Initialization Parameters
55
Extending the Spaces Application Using JDeveloper
55.1
Downloading a Workspace for Spaces Development
55.2
Including Additional Shared Libraries in Spaces
55.2.1
What You Should Know About Shared Library Deployment for Spaces
55.2.2
Deploying Your Own Custom Code and Task Flows in Shared Libraries
55.2.3
Rebuilding the Spaces Shared Library List
55.2.3.1
Editing the Shared Library List
55.2.3.2
Setting Build and Deployment Options (config.properties)
55.2.3.3
Building and Deploying the Shared Library List (extend.spaces.webapp.war)
55.2.3.4
Reverting to a Previous Shared Library List
55.2.3.5
Troubleshooting Shared Library Deployment
55.3
Developing Resources for the Spaces Application
55.3.1
Using the WebCenterSpacesResources Project for Round-Trip Development
55.3.2
Opening and Exploring the WebCenterSpacesResources Project
55.3.3
Enabling Direct Uploads to the Spaces Application
55.3.4
Editing Spaces Resources in JDeveloper
55.3.4.1
Downloading a Spaces Resource Directly into JDeveloper
55.3.4.2
Importing a Spaces Resource into JDeveloper
55.3.4.3
How to Build Spaces Resources
55.3.5
Uploading Resources Directly to the Spaces Application
55.3.6
Exporting Spaces Resources to an Archive
55.3.7
Troubleshooting Resource Round-Trip Development
56
Integrating with Oracle WebCenter Portal: Spaces
56.1
Introduction to WebCenter Portal: Spaces
56.2
Exposing Spaces in WebCenter Portal Applications Using APIs
56.2.1
Introduction to Spaces APIs
56.2.2
Case Study 1: Purchasing Application Uses a Space to Evaluate Suppliers
56.2.3
Case Study 2: Customer Support Center Application Uses a Space to Discuss Customer Escalations
56.2.4
How to Set Up Your WebCenter Portal Application to Use the Spaces APIs
56.2.4.1
Verifying That the Spaces Application Is Up and Running
56.2.4.2
Setting Up the WebCenter Portal Application to Use Spaces APIs
56.2.4.3
Securing the Connection Between the Application and Spaces
56.2.4.4
Setting Up the Spaces Client Context
56.2.5
How to Provide Spaces Functionality in WebCenter Portal Applications
56.2.5.1
Managing Spaces and Space Template
56.2.5.2
Managing Space Membership
56.2.5.3
Retrieving Information for Spaces and Space Templates
56.2.6
How to Handle Exceptions Raised by Spaces APIs
56.2.6.1
Providing Localized Error Messages
56.2.6.2
Listing the Error Stack
56.2.7
Finding More Information on Spaces APIs
56.2.8
Troubleshooting Issues with Spaces APIs
56.3
Using the WebCenter Portal: Spaces REST APIs
56.3.1
WebCenter Portal: Spaces Entry Point
56.3.2
WebCenter Portal: Spaces Resource Type Taxonomy
56.3.3
WebCenter Portal: Spaces Security Considerations
56.3.4
WebCenter Portal: Spaces Resource Types
56.3.4.1
urn:oracle:webcenter:spaces
56.3.4.2
urn:oracle:webcenter:siteresources
56.3.4.3
urn:oracle:webcenter:spaces:resource:templates
56.3.4.4
urn:oracle:webcenter:space
56.3.4.5
urn:oracle:webcenter:space:resourceindex
56.3.4.6
urn:oracle:webcenter:space:roles
56.3.4.7
urn:oracle:webcenter:space:role
56.3.4.8
urn:oracle:webcenter:space:icon
56.3.4.9
urn:oracle:webcenter:space:attributes
56.3.4.10
urn:oracle:webcenter:space:attribute
56.3.4.11
urn:oracle:webcenter:space:members
56.3.4.12
urn:oracle:webcenter:space:member
56.3.4.13
urn:oracle:webcenter:space:lists
56.3.4.14
urn:oracle:webcenter:space:list
56.3.4.15
urn:oracle:webcenter:space:list:rows
56.3.4.16
urn:oracle:webcenter:space:list:row
56.3.4.17
urn:oracle:webcenter:space:list:columns
56.3.4.18
urn:oracle:webcenter:space:list:column
56.4
Exposing Enterprise Applications in Spaces
56.4.1
Exposing WebCenter Portal Applications in Spaces
56.4.2
Exposing Oracle Applications in Spaces
56.4.3
Exposing Non-Oracle Applications in Spaces
Part X Working with Portlets and Pagelets
57
Introduction to Portlets
57.1
Introduction to Portlets
57.2
Portlet Anatomy
57.3
Portlet Resources
57.3.1
Prebuilt Portlets
57.3.2
Java Server Faces (JSF) Portlets
57.3.3
Custom Java Portlets
57.3.4
OmniPortlet
57.3.5
Web Clipping Portlet
57.3.6
Portlet Technologies
57.4
Portlet Development
57.4.1
Portlet Modes
57.4.1.1
View Mode
57.4.1.2
Edit Mode
57.4.1.3
Edit Defaults Mode
57.4.1.4
Help Mode
57.4.1.5
About Mode
57.4.2
Interportlet Communication
57.4.3
Portlet Personalization and Customization
57.4.4
Portlet Performance
57.4.5
Multilanguage Portlets
57.4.6
Portlet Deployment
58
Creating Portlets from JSF Applications Using the Oracle JSF Portlet Bridge
58.1
Introduction to the Oracle JSF Portlet Bridge
58.2
Creating a Portlet from a JSF Application
58.2.1
How to Create a JSF Portlet Based on a Page
58.2.2
What Happens When You Create a JSF Portlet Based on a Page
58.2.3
How to Create a JSF Portlet Based on a Task Flow
58.2.3.1
Creating a Portlet From a Task Flow Using the Create Portlet Entry Dialog
58.2.3.2
Creating a Portlet From a Task Flow Using the Manage Portlet Entries of Task Flows Dialog
58.2.4
What Happens When You Create a Portlet Based on a Task Flow
58.3
Testing a JSF Portlet Using the Integrated WebLogic Server
58.4
Deploying JSF Portlets to a WebLogic Managed Server
58.5
Using Events to Link JSF Portlets with Other Portlets
58.5.1
How to Link a JSF Portlet to Another JSF Portlet
58.5.2
How to Link a JSF Portlet to a JSR 286 Portlet
58.5.3
How to Link a JSR 286 Portlet to a JSF Portlet
58.5.4
What You May Need to Know About Portlet Events in the Oracle JSF Portlet Bridge
58.6
What You May Need to Know When Creating a JSF Portlet
58.6.1
General Guidelines
58.6.1.1
Application Must Run as a Web Application
58.6.1.2
The Portlet Is Contained by a Different Page
58.6.1.3
Servlet Dependencies
58.6.1.4
Secured Applications
58.6.1.5
Deep Links
58.6.1.6
Java EE Authentication
58.6.1.7
Timeout Period
58.6.2
Portlet Guidelines
58.6.2.1
Portlet Sizing
58.6.2.2
Resources and Links
58.6.2.3
Redirecting Requests
58.6.2.4
Memory Consumption
58.6.2.5
WSRP Version
58.6.3
Security Guidelines
58.6.3.1
Oracle ADF Secured Applications
58.6.3.2
Role Based Authorization
58.6.4
JSF Guidelines
58.6.4.1
Using h:commandLink
58.6.5
Oracle ADF Guidelines
58.6.5.1
Task Flow Returns
58.6.5.2
Mismatched Style Sheets
58.6.5.3
ADF Faces Dialog Framework
58.6.5.4
Composer Components
58.6.5.5
The fileDownloadActionListener Component
58.6.5.6
The prepareModel Phase
58.6.5.7
Accessing Request Parameters
58.6.5.8
Referencing Page Parameters
58.6.5.9
Trinidad Components
58.6.5.10
Using ADF Faces Client-Side APIs to Find Components
58.6.5.11
Encoded URLs
58.6.5.12
Issues with goLink
58.6.5.13
In-Protocol Resource Requests
58.7
Copying a Runtime-Created Skin to a JSF Portlet Producer Application
59
Building Standards-Based Java Portlets Using JSR 286
59.1
Introduction to Standards-Based Java Portlets
59.2
Creating a JSR 286 Java Portlet
59.2.1
How to Create a JSR 286 Java Portlet
59.2.2
What Happens When You Create a JSR 286 Portlet Using the JDeveloper Wizard
59.3
Developing JSR 286 Java Portlets
59.3.1
How to Edit the Portlet Deployment Descriptor File
59.3.2
How to Add Custom Portlet Modes to JSR 286 Portlets
59.3.3
How to Access User Information in JSR 286 Portlets
59.3.4
How to Customize the Runtime Environment for JSR 286 Portlets
59.3.4.1
Supported Container Runtime Options
59.3.4.2
Setting Container Runtime Options for All Portlets in an Application
59.3.4.3
Setting Container Runtime Options for Individual Portlets
59.3.5
How to Use Public Render Parameters in JSR 286 Portlets
59.3.5.1
Declaring a Public Render Parameter at the Application Level
59.3.5.2
Defining a Public Render Parameter for a Portlet
59.3.5.3
Example: Public Render Parameters
59.3.6
How to Use Portlet Events in JSR 286 Portlets
59.3.6.1
Declaring a Portlet Event at the Application Level
59.3.6.2
Defining a Processing Event for a Portlet
59.3.6.3
Defining a Publishing Event for a Portlet
59.3.6.4
Example: Portlet Events
59.3.7
How to Add Portlet Preferences to JSR 286 Portlets
59.3.7.1
Adding a Portlet Preference to a JSR 286 Portlet
59.3.7.2
Example: Simple Portlet Personalization
59.3.8
How to Use Portlet Filters in JSR 286 Portlets
59.3.8.1
Adding a Portlet Filter to an Application
59.3.8.2
Applying a Portlet Filter to a Portlet
59.3.9
How to Enhance JSR 286 Portlet Performance with Caching
59.3.9.1
Implementing Expiry-Based Caching in JSR 286 Portlets
59.3.9.2
Implementing Validation-Based Caching in JSR 286 Portlets
59.3.10
How to Implement Rewritten URLs for Resource Proxy
59.3.11
How to Implement Stateless Resource Proxying
59.3.12
How to Implement Security for JSR 286 Portlets
59.3.13
How to Manage the Persistence Store for JSR 286 Portlets
59.3.13.1
Setting Up a Persistence Store for a WSRP Producer
59.3.13.2
Migrating a WSRP Producer Persistence Store
59.3.13.3
Enabling Java Object Cache for Database Persistence Store Access
59.3.14
How to Export and Import Portlet Producers at Design Time
59.3.14.1
Exporting Portlet Producers at Design Time
59.3.14.2
Importing Portlet Producers at Design Time
59.4
Testing JSR 286 Portlets
59.4.1
How to Run a WSRP Portlet Producer on Integrated WebLogic Server
59.4.2
What Happens When You Run a WSRP Portlet Producer on Integrated WebLogic Server
59.4.3
How to Deploy a WSRP Portlet Producer to the Integrated WebLogic Server
59.4.4
Testing Portlet Personalization
59.4.5
Hiding or Removing the WSRP Test Page
59.4.5.1
Hiding the WSRP Test Page
59.4.5.2
Removing the WSRP Test Page
59.5
Deploying JSR 286 Portlets to a WebLogic Managed Server
59.6
Migrating WebLogic Portal Portlets to WebCenter Portal
59.6.1
Migrating Java Portlets from WebLogic Portal to WebCenter Portal
59.6.2
Problems With Migrating WLP Portlets to a WebCenter Portal Application
59.6.3
General Tips for Migrating WLP Portlets to a WebCenter Portal Portlet Producer Application
59.7
Troubleshooting JSR 286 Java Portlets
59.7.1
Issues with Creating JSR 286 Portlets
59.7.1.1
Cannot Access the Create Portlet Wizard
59.7.1.2
Cannot Add the Portlet Functionality that I Want to the Portlet
59.7.2
Issues with Testing JSR 286 Portlets
60
Building Java Portlets Using the Oracle PDK-Java
60.1
Introduction to PDK-Java Portlets
60.2
Creating a PDK-Java Portlet
60.2.1
How to Create a PDK-Java Portlet
60.2.2
What Happens When You Create a PDK-Java Portlet
60.3
Developing PDK-Java Portlets
60.3.1
General Guidelines for PDK-Java Portlets
60.3.2
How to Add Portlet Modes
60.3.3
How to Implement Public Parameters
60.3.4
How to Implement Private Parameters
60.3.4.1
About Private Parameters
60.3.4.2
About Portlet URL Types
60.3.4.3
Building Links with the Portlet URL Types
60.3.4.4
Building Forms with the Portlet URL Types
60.3.4.5
Implementing Navigation within a Portlet
60.3.4.6
Restricting Navigation to Resources
60.3.5
How to Use JNDI Variables
60.3.5.1
Declaring JNDI Variables
60.3.5.2
Setting JNDI Variable Values
60.3.5.3
Retrieving JNDI Variables
60.3.6
How to Access Session Information
60.3.7
How to Enhance PDK-Java Portlet Performance with Caching
60.3.7.1
Activating Caching for PDK-Java Portlets
60.3.7.2
Implementing Expiry-Based Caching in PDK-Java Portlets
60.3.7.3
Implementing Validation-Based Caching in PDK-Java Portlets
60.3.8
How to Manage the Persistence Store for PDK-Java Portlets
60.3.8.1
Setting up a Persistence Store for a PDK-Java Producer
60.3.8.2
Migrating a PDK-Java Producer Persistence Store
60.3.9
How to Move a PDK-Java Portlet Producer
60.3.10
How to Export and Import PDK-Java Portlet Producers at Design Time
60.4
Testing PDK-Java Portlets
60.4.1
How to Test PDK-Java Portlet Producer Applications on Integrated WebLogic Server
60.4.2
What Happens When You Test PDK-Java Portlet Producer Applications on Integrated WebLogic Server
60.4.3
How to Deploy a PDK-Java Portlet Producer to the Integrated WebLogic Server
60.4.4
How to Test Portlet Personalization
60.5
Deploying PDK-Java Portlets
60.6
Creating a Struts Portlet
60.6.1
How to Create a New Flow and View to Host the Portlet Actions
60.6.2
How to Create the New JSPs
60.6.3
How to Create a Portlet
60.6.4
How to Extend the Portlet to Add Business Logic
60.6.5
How to Register the Producer
60.7
Troubleshooting PDK-Java Portlets
60.7.1
Cannot Access the Create Portlet Wizard
60.7.2
Cannot Add the Portlet Functionality that I Want to the Portlet
61
Deploying Portlet Producers
61.1
Introduction to Deploying Portlet Producers
61.2
Creating a WAR Deployment Profile
61.3
Deploying a Portlet Producer to a WebLogic Managed Server
62
Consuming Portlets
62.1
Introduction to Consuming Portlets
62.2
Registering a WSRP Portlet Producer with a WebCenter Portal: Framework Application
62.2.1
How to Register a WSRP Portlet Producer
62.2.2
How to Map a Producer's Declared User Categories to an Application's Defined Java EE Security Roles
62.3
Registering an Oracle PDK-Java Portlet Producer with a WebCenter Portal: Framework Application
62.4
Managing Portlet Producer Connections
62.4.1
Editing Portlet Producer Registration Settings
62.4.2
Testing a Portlet Producer Connection
62.4.3
Refreshing a Portlet Producer
62.4.4
Deleting a Portlet Producer
62.5
Adding the Portlet Producer Task Flow
62.6
Adding Portlets to a Page
62.6.1
How to Add a Portlet to a Page
62.6.2
What Happens When You Add a Portlet to a Page
62.6.3
What You May Need to Know About Interportlet Communication
62.6.4
What You May Need to Know About Inline Frames
62.6.5
What You May Need to Know About Portlet Sizing
62.6.6
What You May Need to Know About Minimize, Restore, and Move
62.6.7
What Happens at Runtime
62.7
Setting Attribute Values for the Portlet Tag
62.7.1
How to Set Attribute Values for the Portlet Tag Using the Property Inspector
62.7.2
How to Set Attribute Values for the Portlet Tag in Source Code
62.7.3
Common Attributes of the Portlet Tag
62.7.4
Appearance Attributes of the Portlet Tag
62.7.5
Behavior Attributes of the Portlet Tag
62.7.6
Portlet Modes Attributes of the Portlet Tag
62.7.7
Style Attributes of the Portlet Tag
62.7.8
Binding Attributes of the Portlet Tag
62.7.9
Customization Attributes of the Portlet Tag
62.7.10
Other Attributes of the Portlet Tag
62.8
Manually Wiring Parameters and Events in JSR 286 Portlets
62.8.1
How to Manually Link Portlets with Public Render Parameters
62.8.1.1
Manually Linking Parameters Using Page Variables
62.8.1.2
Manually Linking Parameters Using the ParametersChange ADF Contextual Event
62.8.2
How to Manually Link Portlets with Portlet Events
62.9
Copying Portlets
62.9.1
How to Copy a Portlet and Place it on the Same Page
62.9.2
How to Copy a Portlet from One Application Page to Another
62.10
Deleting Portlets from Application Pages
62.11
Consuming WebCenter Services Portlets
62.11.1
How to Consume WebCenter Services Portlets in Oracle Portal
62.11.2
How to Consume WebCenter Services Portlets in Oracle WebLogic Portal
62.11.3
How to Consume WebCenter Services Portlets in Oracle WebCenter Interaction
62.11.4
How to Set WebCenter Services Portlets Parameters
62.11.4.1
Common WebCenter Services Portlets Parameters
62.11.4.2
Document Manager Portlet Parameters
62.11.4.3
Discussion Forums Portlet Parameters
62.11.4.4
Blogs Portlet Parameters
62.11.4.5
Lists Portlet Parameters
62.11.4.6
Polls Manager Portlet Parameters
62.11.4.7
Take Polls Portlet Parameters
62.11.4.8
Announcements Portlet Parameters
62.11.4.9
Mail Portlet Parameters
62.11.4.10
Activity Stream Portlet Parameters
62.11.4.11
Tag Cloud Portlet Parameters
62.11.5
WebCenter Services Portlets Limitations
62.11.6
Troubleshooting Problems with WebCenter Services Portlets
62.11.6.1
External Link in Announcements or Discussion Forum Portlet Not Working
62.11.6.2
Get a Link Option in Document Manager and Blogs Portlets Not Working
62.11.6.3
Recommendations Tab in Document Manager and Blogs Portlets Is Empty
62.11.6.4
Unable to Embed an Image into a Blog
62.11.6.5
Selected Text is Lost When Creating a Link in a Blog Post or Wiki
62.12
Troubleshooting Portlets
62.12.1
Diagnostic Tools for Troubleshooting Portlets
62.12.1.1
Identify the Portlet Instance
62.12.1.2
Examine the Portlet Consumer Test Page
62.12.1.3
Examine the Producer Test Page
62.12.2
Configuring the Portlet Logging File
62.12.3
Portlet Displays a Portlet Consumer Error
62.12.4
Portlet Displays a Portlet Timeout
62.12.5
Portlet Displays a Remote Portlet Communication Error
62.12.6
Portlet Displays a Remote Portlet Error
63
Creating Portlets with OmniPortlet
63.1
Introduction to OmniPortlet
63.2
Adding OmniPortlet to Your Application
63.3
Customizing OmniPortlet
63.4
OmniPortlet Configuration Tips
63.4.1
Configuring the OmniPortlet Producer to Access Data Outside a Firewall
63.4.2
Configuring the OmniPortlet Producer to Access Other Relational Databases
63.4.2.1
Installing DataDirect JDBC Drivers
63.4.2.2
Registering DataDirect Drivers in OmniPortlet
63.4.3
Configuring Portal Tools and Web Producers (Optional)
63.5
Troubleshooting OmniPortlet Problems
64
Creating Content-Based Portlets with Web Clipping
64.1
Introduction to Web Clipping
64.2
Adding Web Clipping to Your Application
64.3
Integrating Authenticated Web Content Using Single Sign-On
64.4
Advanced Features of Web Clipping
64.4.1
Using the Web Clipping Transport API
64.4.1.1
Implementing the Web Clipping Transport API
64.4.1.2
Deploying the Web Clipping Transport API
64.4.2
Rewriting Image Links to Use a Resource Proxy
64.5
Web Clipping Portlet Configuration Tips
64.5.1
Web Clipping Repository Configuration
64.5.1.1
Using Oracle Metadata Services (MDS) as the Web Clipping Repository
64.5.1.2
Using an Oracle Database as the Web Clipping Repository
64.5.1.3
Configuring Web Clipping Repository in provider.xml
64.5.1.4
Attributes and Child Tags of the repositoryInfo Tag
64.5.1.5
Migrating the Web Clipping Repository
64.5.2
HTTP or HTTPS Proxy Configuration
64.5.3
Web Clipping Producer Security
64.5.3.1
Adding Certificates for Trusted Sites
64.5.3.2
Configuring Oracle Advanced Security for the Web Clipping Producer
64.6
Current Limitations of Web Clipping
64.7
Troubleshooting Web Clipping
65
Creating Pagelets with Oracle WebCenter Portal's Pagelet Producer
65.1
About Server Communication and the Proxy
65.1.1
The Pagelet Producer Proxy
65.1.1.1
About Pagelets and the Proxy
65.1.2
About HTTP and CSP
65.1.2.1
HTTP
65.1.2.2
CSP
65.2
Using Pagelets in Web Applications
65.2.1
Adding a Pagelet to a JSF Page in Oracle JDeveloper
65.2.1.1
Registering the Pagelet Producer with a WebCenter Portal: Framework Application
65.2.1.2
Adding a Pagelet to a JSF Page
65.2.1.3
Securing a Pagelet
65.2.2
Adding a Pagelet to a Web Page
65.2.2.1
Inserting Pagelets Using Javascript
65.2.2.2
Accessing Pagelets Using REST
65.2.2.3
Using Automatic Resizing with IFrames
65.2.3
Adding a Pagelet to a Page in WebCenter Portal: Spaces
65.3
Building Pagelets Using the Pagelet Producer
65.3.1
Using the Adaptive Pagelet Scripting Framework
65.3.1.1
Handling Structured HTTP Responses
65.3.1.2
Using Event Notification
65.3.1.3
Using In-Place Refresh
65.3.1.4
Using Session Preferences
65.3.1.5
Adaptive Pagelet Development Tips
65.3.2
Using Pagelet Producer Credential Mapping
65.3.3
Modifying Pagelet Functionality at Runtime
65.3.3.1
Creating Web Injectors
65.3.3.2
Creating Custom Parsers
65.3.4
Debugging Pagelets
65.3.4.1
HTTP Tracing
65.3.4.2
Transformation Tracing
65.4
Working with WSRP and Oracle JPDK Portlets
65.4.1
Using Pagelet Chrome
65.5
Working with OpenSocial Gadgets
65.5.1
Configuring Authentication
65.5.2
Storing User Preferences
65.5.3
Accessing WebCenter Portal Profile Information
65.5.4
Accessing a User's Activity Stream
65.5.5
Using Gadget Eventing
65.5.6
Example: Consuming an External OpenSocial Gadget
65.5.7
Example: Consuming a Local OpenSocial Gadget
65.6
Using Pagelets to Integrate Markup from Portlets, ADF Taskflows, and Oracle Applications into Oracle WebCenter Sites
65.6.1
Adding Pagelets to Oracle WebCenter Sites
65.6.1.1
Enabling IFrame Auto-Resizing
65.6.1.2
Changing Pagelet Styling
65.6.2
Using Identity Propagation
65.6.2.1
Establishing Identity in the Pagelet Producer
65.6.2.2
Using a Login Page Supplied by Pagelet Producer
65.6.3
Propagating Identity from the Pagelet Producer to the Backend Application
65.6.3.1
WSRP/JPDK Portlet
65.6.3.2
Stand-alone Backend Application Protected with Native Authentication (Non-SSO)
65.6.3.3
Identity Propagation with Autologin
65.6.3.4
Stand-alone Backend Application Protected with SSO
65.6.3.5
Reference: Common Auto-Login Configurations
65.6.4
Consuming WSRP Portlets as Pagelets
65.6.4.1
Exposing Custom ADF Taskflows as WSRP Portlets
65.6.5
Consuming WebCenter Portal Services as Pagelets in Sites
65.6.5.1
Requirements
65.6.5.2
Configuring Security and Single Sign-On
65.6.5.3
Registering WebCenter Services Exposed as WSRP Portlets
65.6.6
Consuming Applications as Pagelets (An Example Using EBS11i)
65.6.6.1
Creating a Resource for Basic URL Mapping (Proxy)
65.6.6.2
Configuring Autologin
65.6.6.3
Creating a Pagelet
65.6.6.4
Making Corrective Configurations
Part XI Delivering Personalized Content
66
Personalizing WebCenter Portal Applications
66.1
Introduction to Personalization
66.1.1
Personalization Architecture
66.1.2
Personalization Conductor
66.1.2.1
Personalized Scenarios
66.1.2.2
Personalized Application Flow
66.1.2.3
Property Set Integration
66.1.2.4
Provider Integration
66.1.3
Personalization Property Service
66.1.3.1
Property Service Architecture
66.1.3.2
Property Sets
66.1.3.3
Property Locators
66.1.4
Personalization Providers
66.1.4.1
Out-of-the-Box Providers
66.1.4.2
Custom Data Providers
66.1.4.3
Function Providers
66.2
Integrating Personalization in Your Application
66.2.1
Personalization Requirements
66.2.2
Authoring Personalized Scenarios in JDeveloper
66.2.2.1
Creating a Properties Namespace
66.2.2.2
Creating Property Sets and Property Definitions
66.2.2.3
Creating a New Scenario in the Scenario Editor
66.2.2.4
Specifying Scenario Flow Using Node Types
66.2.2.5
Defining Property Sets and Property Locators
66.2.2.6
Implementing and Calling Function Providers
66.2.2.7
Implementing and Calling Data Providers
66.2.2.8
Using the Out-of-the-Box Providers
66.2.3
Creating File-Based Scenarios
66.2.4
Displaying Targeted Content at Runtime
66.2.4.1
Presenting Content with Content Presenter
66.2.4.2
Presenting Content with a Custom User Interface
66.3
Tutorial: Creating, Testing and Deploying a Simple Application
66.4
Extending Personalization
66.4.1
Adding Custom Providers
66.4.1.1
Extending the AnnotatedConfiguration Class
66.4.1.2
Implementing the Required Interfaces
66.4.1.3
Creating the Resource Files
66.4.1.4
Wiring the Data Provider to the Conductor
66.4.1.5
Invoking your Data Provider in a Scenario
66.4.2
Adding Custom Locators
66.4.2.1
Understanding Property Locators
66.4.2.2
Implementing the Required Interfaces
66.4.2.3
Implementing Security
66.4.2.4
Creating a Property Set Definition
66.4.2.5
Putting It All Together
66.4.2.6
Invoking the Property Locator
67
Using Personalization APIs Externally
67.1
Using Java APIs
67.2
Using the Property Service REST APIs
67.2.1
Accessing the Property Service's Resource Index
67.2.2
Creating a Namespace Using the Property Service
67.2.3
Viewing Property Set Definitions Within a Namespace Using the Property Service
67.2.4
Creating a Property Definition Within a Namespace Using the Property Service
67.2.5
Viewing Property Definitions Within a Namespace Using the Property Service
67.2.6
Creating a Property Set Definition Within a Namespace Using the Property Service
67.2.7
Creating a Property Set Within a Namespace Using the Property Service
67.2.8
Viewing a Property Set Within a Namespace Using the Property Service
67.2.9
Accessing the Conductor ResourceIndex
67.2.10
Accessing Namespaces Using the Conductor
67.2.11
Creating a Scenario Within a Namespace Using the Conductor
67.2.12
Viewing Scenarios Within a Namespace Using the Conductor
67.2.13
Executing a Scenario Using the Conductor
67.2.14
Viewing Data Providers Within a Namespace Using the Conductor
67.2.15
Viewing Detailed Data Provider Properties Within a Namespace Using the Conductor
67.2.16
Viewing Data Provider Connections Within a Namespace Using the Conductor
67.2.17
Viewing Data Provider Connection Resources Within a Namespace Using the Conductor
67.2.18
Viewing Data Provider Connection Resources Method Within a Namespace Using the Conductor
67.2.19
Viewing Function Providers Within a Namespace Using the Conductor
67.3
Property Service REST APIs
67.3.1
Property Service Resource Index
67.3.1.1
ResourceIndex
67.3.2
Namespace CRUD
67.3.2.1
Create Namespace
67.3.2.2
Retrieve Namespace
67.3.2.3
Update Namespace
67.3.2.4
Delete Namespace
67.3.2.5
Retrieve all Namespaces
67.3.2.6
Delete all Namespaces
67.3.3
Property Definition CRUD
67.3.3.1
Create Property Definition - Create Integer Property Definition
67.3.3.2
Create Property Definition - Create Integer Array Property Definition
67.3.3.3
Retrieve Property Definition
67.3.3.4
Update Property Definition
67.3.3.5
Delete Property Definition
67.3.3.6
Retrieve all Property Definitions
67.3.3.7
Delete all Property Definitions
67.3.4
Property Set Definition CRUD
67.3.4.1
Create Property Set Definition
67.3.4.2
Retrieve Property Set Definition
67.3.4.3
Retrieve All Property Set Definitions
67.3.4.4
Delete all Property Set Definitions
67.3.5
Property Set CRUD
67.3.5.1
Create Property Set
67.3.5.2
Retrieve Property Set
67.3.5.3
Update Property Set
67.3.5.4
Delete Property Set
67.3.5.5
Retrieve all Property Sets
67.3.5.6
Delete all Property Sets
67.3.6
Property CRUD
67.3.6.1
Create Property
67.3.6.2
Retrieve Property
67.3.6.3
Update Property
67.3.6.4
Delete Property
67.3.6.5
Delete all Properties
67.3.7
JSON Payload
67.3.8
Exceptions
67.3.9
Query Parameters
67.3.10
Search Expressions
67.3.10.1
Format
67.3.10.2
Supported Operators
67.3.10.3
Supported Attribute Names
67.4
Using the Conductor REST APIs
67.4.1
Using the Data Provider Management APIs
67.4.1.1
Getting a Collection of Data Providers (GET)
67.4.1.2
Getting a Single Data Provider's Metadata (GET)
67.4.1.3
Getting Information About a Data Provider Connection (GET)
67.4.1.4
Getting Information about an Executable Resource for a Data Provider and Connection (GET)
67.4.1.5
Getting Method Information for an Executable Resource for a Data Provider and Connection (GET)
67.4.1.6
Getting Entire Data Provider Information with Details Projection (GET)
67.4.2
Using the Function Provider Management APIs
67.4.2.1
Getting a Collection of Function Providers (GET)
67.4.2.2
Getting Metadata for a Single Function Provider (GET)
67.4.3
Using the Namespace Management APIs
67.4.3.1
Getting a Collection of Namespaces (GET)
67.4.3.2
Retrieving a Single Namespace (GET)
67.4.3.3
Creating a Namespace (POST)
67.4.3.4
Deleting a Namespace (DELETE)
67.4.4
Using the Scenario Management APIs
67.4.4.1
Getting a Collection of Scenarios (GET)
67.4.4.2
Retrieving a Single Scenario (GET)
67.4.4.3
Creating a Scenario (POST)
67.4.4.4
Updating a Scenario (PUT)
67.4.4.5
Deleting a Scenario (DELETE)
67.4.4.6
Execute a Scenario (POST)
67.5
Calling Personalization Client Services Using ELs
67.5.1
Calling Personalization Client Services from JSF Pages
67.5.2
Calling Personalization Client Services from JSP Pages
67.5.3
Personalization Context Object Method Reference
67.5.4
Enabling Single Sign-on
Part XII Completing Your WebCenter Portal Application
68
Securing Your WebCenter Portal: Framework Application
68.1
Introduction to WebCenter Portal: Framework Application Security
68.2
Creating an Application Role
68.3
Configuring ADF Security
68.3.1
Configuring ADF Security Settings
68.3.2
Automated Security Grants for WebCenter Portal Services
68.4
Using the Role Manager Task Flow
68.5
Using the Enterprise Role Member Task Flows
68.6
Using the Page Hierarchy Security Editor
68.6.1
Introduction to Page Hierarchy Security
68.6.1.1
Page Hierarchy Model
68.6.1.2
Page-level and Page Hierarchy Security
68.6.1.3
Inherited and Delegated Security
68.6.2
Building a Page Hierarchy
68.6.2.1
Adding a Page Hierarchy to a Navigation
68.6.2.2
Adding Pages to a Page Hierarchy
68.6.2.3
Delegating Security
68.7
Creating Login Pages and a Login Component
68.8
Creating a Login Portlet
68.9
Adding Portlets to a Login Page
68.10
Creating a Self-Registration Page
68.10.1
Integrating the Spaces Self-Registration Task Flow
68.10.2
Building a Custom Self-Registration Page
68.10.3
Creating a Self-Registration Invitation Page
68.11
Creating a Reset Password Page
68.12
Configuring Basic Authentication for Testing Portlet Personalization
68.13
Working with External Applications
68.13.1
Using External Applications
68.13.1.1
Secured Service Connections
68.13.1.2
Automated Single Sign-On
68.13.2
Supplying User Credentials
68.13.3
Managing External Applications
68.13.3.1
Adding External Application Task Flows
68.13.3.2
Working with External Applications in Oracle JDeveloper
68.13.3.3
Working with External Applications in Enterprise Manager
68.13.3.4
Working with External Applications Using WLST
68.14
Registering Custom Certificates with the Keystore
68.15
Overriding Inherited Security on Portlets and Customizable Components
68.15.1
Portlets Security
68.15.1.1
Defining Security at the Actions Category Level
68.15.1.2
Defining Security at the Actions Level
68.16
Identity Propagation Mechanisms
68.17
Securing Identity Propagation Through WSRP Producers with WS-Security
68.17.1
Identity Propagation Without WS-Security
68.17.2
Identity Propagation with WS-Security
68.17.3
Configuring Security for WSRP Portlets
68.18
Implementing PDK-Java Portlet Security
68.18.1
Assumptions
68.18.2
Introduction to PDK-Java Portlet Security Features
68.18.2.1
Identity Propagation
68.18.2.2
Authorization
68.18.2.3
Message-level Security
68.18.3
Single Sign-On
68.18.3.1
External Application
68.18.3.2
No Application Authentication
68.18.4
Portlet Security Managers
68.18.4.1
Implementing Your Own Security Manager
68.18.5
Message Authentication
68.18.6
User Input Escape
68.18.6.1
Default Container Encoding
68.18.6.2
Escape Methods
68.19
Troubleshooting Security Issues
68.19.1
Error Message Appears When Running a Page with a Content Repository Data Control Method Being Consumed
69
Deploying and Testing Your WebCenter Portal: Framework Application
69.1
Introduction to Oracle WebLogic Servers
69.2
Deploying a Framework Application to the Integrated WebLogic Server
69.2.1
Running a Framework Application in the Integrated WebLogic Server
69.2.2
Deploying a Framework Application to the Integrated WebLogic Server
69.3
Deploying a Framework Application to a WebLogic Managed Server
69.3.1
Deployment Roadmap
69.3.2
Packaging a Framework Application
69.3.2.1
Packaging Database Connections and Application Security
69.3.2.2
Creating Deployment Profiles
69.3.3
Preparing the Target Environment for Deployment
69.3.3.1
Creating and Provisioning an Oracle WebLogic Managed Server Instance
69.3.3.2
Creating and Registering the Metadata Service Repository
69.3.3.3
Configuring the Target Environment
69.3.3.4
Creating a WebLogic Managed Server Connection
69.3.4
Deploying a Framework application to a Managed Server
69.3.4.1
Deploying to a Managed Server Using Local Data Sources
69.3.4.2
Deploying to a Managed Server Using Global Data Sources
69.4
Transporting Customizations Between Environments
70
Building Multilanguage Portals
70.1
Language Support in ADF Faces Components
70.2
Using Resource Bundles to Support Multiple Languages
Part XIII Appendixes
A
Files for WebCenter Portal: Framework Applications
A.1
About Files
A.2
Files Overview
A.3
Files Related to WebCenter Portal: Framework 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 Oracle WebCenter Portal Services
B
Composer Component Properties and Files
B.1
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
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
selection-config
B.2.1.9
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
enable-design-views
B.2.2.6
allow-el and protect-el
B.2.2.7
rcv-config
B.2.2.8
customizableComponentsSecurity
B.2.2.9
mds-config
B.2.2.10
resource-string-editor
B.2.2.11
enable-source-view
B.2.2.12
enable-zoom
B.2.2.13
persistent-change-manager
B.2.2.14
taglib-config
B.2.2.15
security-config
B.2.2.16
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
Composer Default Add-Ons and Property Panels
B.3.1
Default Add-Ons
B.3.2
Default Property Panels
B.4
Composer Components Style-Specific Properties
B.4.1
Style Selectors for Composer Components
B.4.1.1
Global Style Selectors
B.4.1.2
Composer Status Indicator Style Selectors
B.4.1.3
Page Customizable Style Selectors
B.4.1.4
Layout Customizable Style Selectors
B.4.1.5
Panel Customizable Style Selectors
B.4.1.6
Show Detail Frame Style Selectors
B.4.2
Style Attributes
B.5
Customizable Components (HTML) Properties
B.5.1
Panel Customizable (HTML) Component
B.5.2
Show Detail Frame (HTML) Component
B.5.3
Customizable Components (HTML) Style Selectors
B.5.3.1
Panel Customizable (HTML) Style Selectors
B.5.3.2
Show Detail Frame (HTML) Style Selectors
B.5.3.3
Property Keys
B.5.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.3.12
resource
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 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 Framework 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
Reuse of Oracle Portal Components
E.1
Introduction to Oracle Portal Components
E.2
Reusing Portlets
E.2.1
How to Reuse JSR 286 and Oracle PDK-Java Portlets
E.2.2
What You May Need to Know About Events
E.2.3
What You May Need to Know About Mobile Portlets
E.2.4
What You May Need to Know About the Portlet Chrome
E.2.5
What You May Need to Know About Personalizations and Customizations
E.2.6
What You May Need to Know About Oracle Portal System Resources
E.2.7
What You May Need to Know About Partner and External Applications
E.2.8
How to Use the Federated Portal Adapter to Reuse Database Portlets
E.2.9
What You May Need to Know About Troubleshooting the Federated Portal Adapter
E.2.9.1
On Registration
E.2.9.2
During Runtime
E.2.10
What You May Need to Know About Limitations of the Federated Portal Adapter
E.2.11
How to Reuse Oracle PDK-Java Producers from Earlier Oracle Application Server Versions
E.2.11.1
Consuming a Portlet from Oracle Portal
E.2.11.2
Redeploying PDK-Java Producers from Oracle Portal
E.3
Reusing Items
F
Expression Language Expressions
F.1
ELs Related to Applications
F.2
ELs Related to Security
F.3
ELs Related to General Settings
F.4
ELs Related to Application Resources
F.5
ELs Related to Navigation
F.6
ELs Related to WebCenter Portal Services
F.7
ELs Related to the Documents Service
F.8
ELs Related to the People Connections Service
F.9
ELs Related to the Personalization Service
G
WebCenter Portal Analytics Database Schema
G.1
Analytics Database Schema Overview
G.1.1
Analytics Database Model Overview
G.1.2
Analytics Database Table Overview
G.1.2.1
Sample SQL Query: Finding Table Names Associated with Specific Events
G.2
Analytics Fact Table Descriptions
G.2.1
ASFACT_WC_PAGECRE_0
G.2.2
ASFACT_WC_PAGEDEL_0
G.2.3
ASFACT_WC_PAGEEDI_0
G.2.4
ASFACT_WC_PAGETAG_0
G.2.5
ASFACT_WC_PAGEVIE_0
G.2.6
ASFACT_WC_DISCUSS_0
G.2.7
ASFACT_WC_DISCUSS_1
G.2.8
ASFACT_WC_DISCUSS_2
G.2.9
ASFACT_WC_DISCUSS_3
G.2.10
ASFACT_WC_DISCUSS_4
G.2.11
ASFACT_WC_DISCUSS_5
G.2.12
ASFACT_WC_DISCUSS_6
G.2.13
ASFACT_WC_DISCUSS_7
G.2.14
ASFACT_WC_DISCUSS_8
G.2.15
ASFACT_WC_DISCUSS_9
G.2.16
ASFACT_WC_DISCUSS_A
G.2.17
ASFACT_WC_DISCUSS_B
G.2.18
ASFACT_WC_DISCUSS_C
G.2.19
ASFACT_WC_DOCLIB__0
G.2.20
ASFACT_WC_DOCLIB__1
G.2.21
ASFACT_WC_DOCLIB__2
G.2.22
ASFACT_WC_DOCLIB__3
G.2.23
ASFACT_WC_DOCLIB__4
G.2.24
ASFACT_WC_DOCLIB__5
G.2.25
ASFACT_WC_DOCLIB__6
G.2.26
ASFACT_WC_DOCLIB__7
G.2.27
ASFACT_WC_EVENT_C_0
G.2.28
ASFACT_WC_EVENT_D_0
G.2.29
ASFACT_WC_EVENT_E_0
G.2.30
ASFACT_WC_GROUPSP_0
G.2.31
ASFACT_WC_GROUPSP_1
G.2.32
ASFACT_WC_GROUPSP_2
G.2.33
ASFACT_WC_GROUPSP_3
G.2.34
ASFACT_WC_LIST_CR_0
G.2.35
ASFACT_WC_LIST_DE_0
G.2.36
ASFACT_WC_LIST_ED_0
G.2.37
ASFACT_WC_LOGINS_0
G.2.38
ASFACT_WC_PEOPLEC_0
G.2.39
ASFACT_WC_PEOPLEC_1
G.2.40
ASFACT_WC_PEOPLEC_2
G.2.41
ASFACT_WC_PEOPLEC_3
G.2.42
ASFACT_WC_PORTLET_0
G.2.43
ASFACT_WC_SEARCHE_0
G.3
Analytics Dimension Table Descriptions
G.3.1
ASDIM_WC_APPLICA_0
G.3.2
ASDIM_WC_CLIENT__0
G.3.3
ASDIM_WC_DISCUSS_0
G.3.4
ASDIM_WC_DISCUSS_1
G.3.5
ASDIM_WC_DISCUSS_2
G.3.6
ASDIM_WC_DISCUSS_3
G.3.7
ASDIM_WC_DOCUMENT_0
G.3.8
ASDIM_WC_EVENTS_0
G.3.9
ASDIM_WC_GROUPSP_0
G.3.10
ASDIM_WC_LISTS_0
G.3.11
ASDIM_WC_PAGES_0
G.3.12
ASDIM_WC_PORTLET_0
G.3.13
ASDIM_WC_PORTLET_1
G.3.14
ASDIM_WC_PRODUCE_0
G.3.15
ASDIM_WC_REFERRE_0
G.3.16
ASDIM_WC_SEARCHE_0
G.3.17
ASDIM_WC_TAGS_0
G.3.18
ASDIM_WC_USER_AG_0
G.3.19
ASDIM_TIME
G.3.20
ASDIM_USERS
G.3.21
ASDIM_USERPROPERTIES
G.3.22
ASDIM_USERPROPERTYVALUES
G.4
Analytics System Table Descriptions
G.4.1
ASSYS_CONFIG
G.4.2
ASSYS_DIMENSIONPROPS
G.4.3
ASSYS_EVENTDIMENSIONS
G.4.4
ASSYS_EVENTFACTS
G.4.5
ASSYS_EVENTS
G.4.6
ASSYS_NAMESPACES
G.4.7
ASSYS_REPORTCOMPOSITION
G.4.8
ASSYS_REPORTGROUP
G.4.9
ASSYS_REPORTITEMS
G.4.10
ASSYS_REPORTITEMVALUES
G.4.11
ASSYS_REPORTS
G.5
Analytics User Properties
G.5.1
User Property Tables - Overview
G.5.2
User Property Dimension Tables
G.5.2.1
ASDIM_USERPROPERTIES
G.5.2.2
ASDIM_USERPROPERTYVALUES
G.5.3
Out-of-the-Box User Properties for WebCenter Portal
G.6
Analytics Event and Dimension Data Types
Glossary
Index
Scripting on this page enhances content navigation, but does not change the content in any way.