1/99
Contents
Title and Copyright Information
Preface
Audience
Documentation Accessibility
Related Documents
Conventions
What's New
New Features for Release 11.1.1.6
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
8
Introducing the AviTrust Portal Framework Sample Application
8.1
About the AviTrust Portal Framework Application for WebCenter
8.2
Downloading the AviTrust Portal Framework Application
8.3
Browsing Portal Framework Features at Runtime
8.3.1
Exploring the AviTrust Sample Portal Home Page
8.3.2
Navigating the Site Using Tabs
8.4
Accessing and Using the Resource Manager
8.5
In-Context Editing of Web Content at Runtime
8.6
Exposing Social Computing Services
8.6.1
Adding a Discussion Forum
8.7
WebCenter Framework Components in the AviTrust Portal Demo
Part II Setting Up Your Portal Structure
9
Understanding Framework Applications
9.1
What is a Framework Application?
9.2
What is Oracle WebCenter Portal: Framework?
9.2.1
How Do I Add Oracle WebCenter Portal: Framework to a Project?
9.2.2
What Features Does the Oracle WebCenter Portal: Framework Provide?
9.3
What is the Portal Life Cycle?
9.4
Creating a WebCenter Portal: Framework Application
9.5
Understanding the Features of a WebCenter Portal: Framework Application
9.5.1
Understanding Pages, Page Templates, and the Portal Page Hierarchy
9.5.2
Securing Your Portal Pages
9.5.3
Understanding the Navigation Model and the Navigation Registry
9.5.4
Understanding Resource Catalogs and the Catalog Registry
9.5.5
Other Design Time Folders
9.5.6
Tips for More Advanced Development Use Cases
9.6
Developing Your Portal's Look and Feel
9.7
Changing Default Portal Preferences
9.7.1
What Are the Default Portal Preferences?
9.7.2
How to Change the Default Preferences at Design Time
9.8
Using Iterative and Round-Trip Development Techniques
9.9
What is the Application Sources Folder?
9.10
Running and Testing a Portal
9.11
WebCenter Portals at Runtime
9.11.1
Preserving Runtime Customizations on the Integrated WebLogic Server
9.11.2
Runtime WebCenter Portal Administration Console
9.11.3
How Security Settings Affect the Runtime Portal?
9.11.4
Runtime Editing of Portal Resources
9.12
How are WebCenter Portal Files Organized?
9.12.1
Understanding the Organization of a WebCenter Portal: Framework Application
9.12.1.1
How is a WebCenter Portal: Framework Application Organized?
9.12.1.2
Why Is a WebCenter Portal: Framework Application Organized the Way It Is?
9.12.2
Viewing Your Portal Project on the Filesystem
9.12.3
Viewing Your Portal Project in JDeveloper
9.13
Changing the Default Home Page and Login/Logout Target Pages
9.13.1
Understanding How the Home Page is Specified
9.13.2
How to Change the Default Home Page
9.13.3
How is the Default Index Page Specified?
9.13.4
Specifying the Target Page After a Login or Logout
9.14
Basic Portal Development Tasks
10
Understanding the WebCenter Portal Life Cycle
10.1
What is the WebCenter Portal Life Cycle?
10.2
What Are the Major Life Cycle Tasks?
10.2.1
One-Time Setup Tasks
10.2.2
Development Environment Tasks
10.2.3
Nightly Build Environment Tasks
10.2.4
Testing Environment Tasks
10.2.5
Stage Environment Tasks
10.2.6
Production Environment Tasks
10.3
Who Participates in the Portal Life Cycle?
10.4
Understanding the Build and Test Environments
10.5
Understanding the Staging and Production Environments
10.5.1
Provisioning the Staging Environment
10.5.2
Adding Content to the Staging Environment
10.5.3
Moving the Portal from Staging to Production
10.6
Tools for Managing the Life Cycle
10.7
Configuring a Nightly Build Script
10.8
Setting Up a Staging or Production Environment for the First Time
10.9
Moving a WebCenter Portal: Framework Application to an Existing Environment
10.10
Deploying to Managed Servers
10.11
Deploying and Configuring the Application on Targeted Servers
10.11.1
Introduction
10.11.2
Using the Deploy and Configure Script
10.11.3
Managing Post-Deployment Changes
10.12
Building and Deploying Personalization for WebCenter Portal Files
10.12.1
Building the WCPS MAR File
10.12.2
Deploying WCPS Files to a Server
10.12.3
Deploying WCPS Files to an Archive File
10.12.4
Importing and Exporting MAR Files
10.13
Using the Propagation Tool to Propagate From Staging to Production
10.13.1
Introduction to the Propagation Tool
10.13.2
Configuring the Propagation Tool
10.13.2.1
Configuring the URL Connection With Oracle Enterprise Manager Fusion Middleware Control Console
10.13.2.2
Configuring the URL Connection with WLST
10.13.3
Propagating Portal Metadata
10.13.4
Propagating WCPS Files
10.14
Propagating Content From Oracle WebCenter Content
10.15
Managing Security Through the Life Cycle
10.15.1
Migrating Security Policies for First-Time Deployment
10.15.2
Migrating Security Policies On Redeployment
10.15.3
Migrating Credentials for First-Time Deployment
10.15.4
Migrating Credentials On Redeployment
10.16
Migrating Portlet Preferences
10.17
Rolling Back Production Site Changes
11
Building a Navigation Model for Your Portal
11.1
Introduction to Navigation Models
11.2
Creating a Navigation Model
11.3
Adding Resources to a Navigation Model
11.3.1
How to Drag and Drop a Resource onto a Navigation Model
11.3.2
How to Add a Content Item to a Navigation Model
11.3.3
How to Add Content Based on the Results of a Query to a Navigation Model
11.3.4
How to Add a Page, Portlet, Task Flow, External Application, or Web Page to a Navigation Model
11.3.5
How to Add a Page Hierarchy to a Navigation Model
11.3.6
How to Embed Another Navigation Model Within a Navigation Model
11.3.7
How to Extend Navigation Model Data
11.3.7.1
How to Add a Link to a Custom Resource
11.3.7.2
How to Add a Component to a Navigation Model
11.3.7.3
How to Add a Custom Folder to a Navigation Model
11.3.7.4
How to Add a Custom Content Provider to a Navigation Model
11.3.8
How to Organize Resources in a Navigation Model
11.3.9
How to Set Display Options for a Resource
11.4
Selecting the Default Navigation Model
11.5
Editing the Navigation Renderer
11.6
Setting the REDIRECT_OPTIONS Context Parameter
11.7
Enabling Runtime Administration of Navigation Models
11.7.1
How to Edit the Navigation Registry File
11.7.2
How to Enable Further Development of Deployed Navigation Models
11.7.2.1
Importing a Navigation Model
11.7.2.2
Exporting a Navigation Model
11.8
Working with WebCenter Portal: Spaces Navigation Models
12
Designing the Look and Feel of Your Portal
12.1
Introduction to Page Templates and Styles
12.1.1
Page Templates
12.1.2
Page Styles
12.1.3
Mashup Styles
12.1.4
Content Presenter Display Templates
12.2
Working with Page Templates
12.2.1
Introduction to the WebCenter Portal Application Seeded Page Templates
12.2.2
How to Create a Page Template
12.2.3
What You Should Know About Creating Page Templates for WebCenter Portal Applications
12.2.4
Enabling Runtime Switching of Page Templates
12.2.5
How to Edit a Page Template
12.2.6
How to Delete a Page Template
12.2.7
How to Enable Runtime Administration of a Page Template
12.2.8
How to Enable Further Development of Deployed Page Templates
12.2.8.1
Importing a Page Template
12.2.8.2
Exporting a Page Template
12.2.9
How to Create and Manage WebCenter Portal: Spaces Page Templates
12.3
Working with Page Styles
12.3.1
How to Create a Page Style
12.3.2
How to Enable Runtime Administration of a Page Style
12.3.3
How to Enable Further Development of Deployed Page Styles
12.3.3.1
Importing a Page Style
12.3.3.2
Exporting a Page Style
12.3.4
How to Create and Manage Page Styles for Spaces
12.4
Working with Mashup Styles
12.4.1
How to Create a Mashup Style
12.4.2
How to Enable Runtime Administration of Mashup Styles
12.4.3
How to Enable Further Development of Mashup Styles in a Deployed Application
12.4.3.1
Importing Mashup Styles
12.4.3.2
Exporting Mashup Styles
12.4.4
How to Create and Manage Mashup Styles for Spaces
13
Adding Resources to Your Portal
13.1
Adding Pages to Your Portal
13.2
Adding Service Task Flows to Your Portal
13.3
Adding Custom Task Flows to Your Portal
13.4
Adding Content from Content Server to Your Portal
13.5
Adding Portlets to Your Portal
13.6
Adding Pagelets to Your Portal
13.7
Adding External Applications to Your Portal
13.8
Adding Data Controls to Your Portal
14
Visualizing Your Portal Navigation
14.1
Introduction to Navigation Visualization
14.2
Adding Built-in Navigation Task Flows to a Page Template
14.2.1
How to Add a Navigation Task Flow to a Page Template
14.2.2
Navigation Task Flow Parameters
14.2.3
What You May Need to Know About Navigation Task Flow Style Classes
14.3
Programmatically Adding Navigation to a Page Template
14.3.1
Using the Navigation Expression Language APIs
14.3.1.1
Introduction to the Navigation Context
14.3.1.2
Introduction to the Navigation Runtime Model
14.3.1.3
Introduction to the Navigation Resource
14.3.1.4
How to Render the Navigation Model as a List of Links
14.3.1.5
How to Render the Navigation Model as a Tree
14.3.1.6
How to Render the Navigation Model as a Three-Level Menu
14.3.1.7
How to Render the Navigation Model as Breadcrumbs
14.3.1.8
How to Render Master-Detail Navigation
14.3.2
Using the Navigation REST APIs
14.4
Using Portal Navigation to Create a Sitemap
15
Creating and Managing Skins
15.1
Overview of Skins
15.2
Creating a Skin in JDeveloper
15.2.1
What You Should Know About Skin Creation
15.2.2
How to Create a CSS File
15.2.3
How to Define Skin Selectors
15.3
Editing portal-skin.css
15.3.1
What You Should Know About portal-skin.css
15.3.2
How to Edit portal-skin.css
15.4
Enabling Runtime Administration of Skins
15.4.1
What You Should Know About Enabling Runtime Administration of Skins
15.4.2
How to Enable Runtime Administration of a Skin
15.4.3
How to Enable Further Development of Deployed Skins
15.4.3.1
Importing a Skin
15.4.3.2
Exporting a Skin
15.4.4
Creating a Skin in JDeveloper and Making it Available at Runtime
15.4.5
How to Create and Manage Skins at Runtime
15.5
Applying Skins to WebCenter Portal: Framework Applications
15.5.1
Applying a Skin at Design Time
15.5.2
Applying a Skin at Runtime
15.6
How to Create and Manage Spaces Skins
15.7
Deploying a Skin as a Separate Shared Library
15.7.1
About Skin Sharing
15.7.2
How to Deploy a Skin as a Separate Shared Library
15.8
Conditionally Changing Skins for Users
15.9
Troubleshooting Problems with Skins
15.10
Files Relates to Skins
15.10.1
adf-config.xml
15.10.2
trinidad-config.xml
15.10.3
trinidad-skins.xml
16
Creating and Managing Resource Catalogs
16.1
Overview of Resource Catalog
16.2
Creating a Custom Resource Catalog
16.2.1
How to Create a Custom Resource Catalog
16.2.2
How to Define Connections to Resources
16.2.3
How to Manage Content in the Resource Catalog
16.2.3.1
Adding a Folder
16.2.3.2
Adding a Link
16.2.3.3
Adding a Resource Catalog
16.2.3.4
Adding a Component
16.2.3.5
Adding a Custom Folder
16.2.3.6
Adding a Custom Content Provider
16.2.3.7
Dragging and Dropping a Resource into the Catalog
16.2.3.8
Editing a Resource
16.2.3.9
Deleting a Resource
16.2.3.10
Rearranging Resources in the Catalog
16.2.4
How to Expose Data Controls Created at Design Time
16.2.5
How to Expose Data Controls Created at Runtime
16.2.6
How to Control Visibility of Portlets in the Resource Catalog
16.2.7
How to Configure the Default Resource Catalog for an Application or Page
16.2.8
What You May Need to Know When Defining a Resource Catalog
16.2.9
How to Define Task Flow Parameters and Attributes of the Enclosing Show Detail Frames for Task Flows
16.3
Managing a Resource Catalog and Enabling Runtime Administration
16.3.1
Managing Resource Manager Entries
16.3.2
Enabling Further Development of Deployed Resource Catalogs
16.3.2.1
Exporting a Resource Catalog
16.3.2.2
Importing a Resource Catalog
16.3.3
Working with Spaces Resource Catalogs
16.4
Filtering Items in the Resource Catalog
16.4.1
Resource-Level Filtering
16.4.2
Catalog-Level Filtering
16.5
Configuring Multiple Resource Catalogs
16.5.1
How to Configure Multiple Resource Catalogs
16.5.2
What Happens at Runtime
16.6
Troubleshooting Problems with the Resource Catalog
17
Adding and Using the Resource Manager
17.1
Introduction to Runtime Resource Management
17.2
Working with Portal Resources in JDeveloper
17.2.1
How to Add a Resource to the Resource Manager
17.2.2
What You May Need to Know About the Content Directory
17.2.3
How to Update Portal Resource Properties
17.2.4
How to Remove a Resource from the Resource Manager
17.3
Enabling Runtime Administration of Your Portal
17.3.1
How to Add the Resource Manager Task Flow
17.3.2
How to Use the Resource Manager at Runtime
17.3.2.1
Accessing the Resource Manager
17.3.2.2
Creating a Resource
17.3.2.3
Uploading and Downloading a Resource
17.3.2.4
Editing a Resource
17.3.2.5
Copying a Resource
17.3.2.6
Setting Security for a Resource
17.3.2.7
Deleting a Resource
17.3.2.8
Showing or Hiding a Resource
17.3.2.9
Editing the Source Code of a Resource
17.3.2.10
Setting Properties on a Resource
17.3.2.11
Previewing a Resource
17.4
Enabling Round-Trip Development of Resources
17.4.1
How to Download a Resource Using the Resource Manager
17.4.2
How to Import a Portal Resource into JDeveloper
17.4.3
How to Export a Portal Resource from JDeveloper
17.4.4
How to Upload a Resource Using the Resource Manager
Part III Customizing Your Application and Extending Customization Options
18
Introduction to Composer
18.1
Application and User Customizations
18.2
View and Edit Modes of a Page
18.3
Customizing Capabilities in Page View Mode
18.3.1
Rearrange Components
18.3.2
Change the Layout
18.3.3
Expand and Collapse Components
18.4
Editing Capabilities in Design View in Page Edit Mode
18.4.1
Add Content
18.4.1.1
Add a Tab Set or a Tab to a Box Component
18.4.1.2
Add Box Components Adjacent to Existing Ones
18.4.2
Rearrange Page Content
18.4.3
Edit Component Properties and Parameters
18.4.4
Reset and Override Component Properties in the Current Layer
18.4.5
Edit Resource Strings
18.4.6
Show or Hide Components
18.4.7
Delete Components
18.4.8
Change the Layout
18.4.9
Edit Page Properties
18.4.10
Wire Components to Page Parameters
18.4.11
Reset Page
18.4.12
Reset Application Customizations on Detecting Errors
18.4.13
Create Labels On Saving Application Customizations
18.4.14
Manage Application Customizations
18.5
Editing Capabilities in Source View in Page Edit Mode
18.5.1
Rearrange Page Content Using Cut and Paste Options
18.5.2
Edit Content Inside a Task Flow
18.5.2.1
Reset Task Flow
18.5.3
Edit Content Inside a Declarative Component
18.5.4
Show or Hide Components
18.6
Composer Components
18.6.1
Page Customizable
18.6.2
Change Mode Link and Change Mode Button
18.6.3
Panel Customizable
18.6.4
Show Detail Frame
18.6.5
Layout Customizable
18.7
Security and Composer
18.7.1
Page and Task Flow Security
18.7.1.1
Task Flow Security
18.7.2
MDS Customization Restrictions
18.7.3
Component Action-Level Security
19
Enabling Runtime Creation and Management of Pages
19.1
Introduction to Page Creation and Management
19.2
Creating Pages and Task Flows
19.2.1
How to Create Pages
19.2.1.1
How to Add the Page - Create New Task Flow
19.2.1.2
Setting Security for the Page Service
19.2.1.3
How to Create Pages at Runtime
19.2.1.4
Structure of Pages Created at Runtime
19.2.1.5
How to Access Pages Created at Runtime
19.3
Defining Values for the Page - Create New Task Flow Parameters
19.3.1
How to Access Page - Create New Task Flow Parameters
19.3.2
Setting Scope in a Page - Create New Task Flow
19.3.3
Setting an Outcome Parameter
19.3.4
Specifying Styles
19.3.4.1
Out-of-the-Box Styles
19.3.4.2
Custom Styles
19.3.5
Specify an ADF Template
19.3.6
Showing a Command Link
19.3.7
Displaying an Image
19.3.8
Customizing the Label
19.4
How to Create Task Flow View Pages
19.5
Managing Pages
19.5.1
Using the Page Service Data Control to Manage Pages
19.5.2
Using the Page Service APIs to Manage Pages and Task Flows
19.6
Introduction to Custom Styles and Templates
19.6.1
How to Create Templates for Pages Created at Runtime
19.6.1.1
How to Create a Page or Page Fragment Style
19.6.1.2
How to Edit Create Page Dialog Styles
19.6.2
Using ADF Templates
19.6.2.1
How to Specify the ADF Template Name Using the Task Flow Parameter
19.6.2.2
How to Specify the ADF Template Name Using API Parameters
19.6.3
Creating Styles for the Create Page Dialog
19.6.3.1
How to Create a Style for the Create Page Dialog
19.6.3.2
How to Reference a New Style from the Page - Create New Task Flow
19.7
Customizing Page Service Views
19.7.1
Rendering Pages with ADF Faces Components
19.7.1.1
Rendering Pages as Tabs Using ADF Faces Components
19.7.1.2
Rendering Pages as Links Using ADF Faces Components
19.7.1.3
Rendering Pages as Image Links Using ADF Faces Components
19.7.2
Managing User Security on Pages and Task Flows
19.8
Advanced Information for the Page Service
19.8.1
Using the Page Service Java APIs
19.8.1.1
Configuration Settings Required for Using Page Service APIs
19.8.1.2
Introduction to the Page Service APIs
19.8.1.3
How to Set up Your Application to Use the Page Service APIs
19.8.1.4
Example: How to Create a Page
19.8.2
Using the Page Service Data Control
19.8.2.1
How to Add the Page Service Data Control
19.8.2.2
How to View, Edit, and Delete Pages at Runtime
19.9
Page Service Samples
20
Enabling Runtime Editing of Pages Using Composer
20.1
Designing Editable Pages Using Composer Components
20.1.1
How to Create a Customizable Page
20.1.2
How to Enable Runtime Customization Using a Page Customizable
20.1.3
How to Enable Switching Between Page Modes Using a Change Mode Link or Change Mode Button
20.1.4
How to Define Editable Areas of a Page Using Panel Customizable Components
20.1.5
How to Enable Layout Customization for a Page Using a Layout Customizable
20.1.6
How to Enable Component Customization Using Show Detail Frame Components
20.1.7
How to Create a Page Template for Creating Customizable Pages
20.1.8
How to Enable Customization in a Populated Page
20.1.9
What Happens When You Add Composer Components
20.1.10
What Happens at Runtime
20.1.11
What You May Need to Know When Designing Editable Pages
20.2
Designing Editable Pages Using Composer Components: Example
20.3
Populating Pages with Content
20.3.1
What You May Need to Know When Adding Content to the Page
20.3.1.1
Considerations for Adding Task Flows
20.4
Troubleshooting Composer Problems
21
Extending Runtime Editing Capabilities Using Composer
21.1
Overview of Extensibility Options
21.1.1
Composer Add-Ons
21.1.2
Composer Custom Property Panels
21.1.3
Composer Events Handlers
21.1.4
Drop Handlers
21.1.5
Component Property Filters
21.1.6
Customization Manager
21.1.7
Composer Toolbar Customization
21.1.8
Configuration Files
21.2
Creating Composer Add-Ons
21.2.1
How to Create and Register Add-Ons
21.2.1.1
Creating an Add-On Task Flow
21.2.1.2
Registering Add-Ons with Composer
21.2.1.3
Registering Add-Ons in adf-config.xml
21.2.2
What Happens at Runtime
21.2.3
How to Exclude Composer Default Add-Ons
21.2.4
How to Display the Customization Manager Add-On
21.2.5
How to Selectively Display Add-Ons
21.3
Creating Custom Property Panels
21.3.1
How to Create and Register Custom Property Panels
21.3.1.1
Creating a Custom Property Panel
21.3.1.2
Registering a Custom Property Panel for a Component
21.3.1.3
Registering a Custom Property Panel for a Task Flow
21.3.2
What Happens at Runtime
21.3.3
How to Override Default Property Panels
21.3.4
How to Exclude Default Property Panels
21.3.5
How to Selectively Render Property Panels
21.3.6
How to Display Properties and Parameters in a Custom Property Panel
21.4
Extending the Expression Builder
21.4.1
How to Extend the Expression Builder
21.4.2
What Happens at Runtime
21.5
Configuring Custom LOVs or Pickers for Task Flow Parameters
21.5.1
How to Configure an LOV
21.5.1.1
Configuring a Static LOV
21.5.1.2
Configuring a Dynamic LOV
21.5.1.3
Configuring a Picker
21.5.1.4
Configuring an LOV from a Global List
21.5.2
What Happens at Runtime
21.6
Configuring Event Handlers for Composer UI Events
21.6.1
How to Create and Register Handlers for Composer UI Events
21.6.1.1
UI Events that Support Event Handler Registration
21.6.1.2
Creating a Save Event Handler: Example
21.6.1.3
Registering an Event Handler with Composer
21.6.2
What Happens When You Create and Register Event Handlers
21.6.3
Performing Additional Composer Event Handler Configurations
21.7
Configuring Drop Handlers in the Resource Catalog
21.7.1
How to Create and Register Java Drop Handlers
21.7.1.1
Creating a Drop Handler
21.7.1.2
Registering a Drop Handler with Composer
21.7.1.3
Adding an XML Component to the Resource Catalog
21.7.2
What Happens at Runtime
21.8
Defining Property Filters
21.8.1
How to Define Property Filters
21.8.2
What Happens at Runtime
21.8.3
How to Remove Property Filters
21.9
Enabling Parameter Support on the Customization Manager Task Flow
21.9.1
How to Set the Customization Manager Task Flow Parameters
21.9.2
What Happens When You Enable Parameter Support
21.10
Customizing the Composer Toolbar
21.10.1
How to Rearrange or Hide Toolbar Elements
21.10.2
What Happens at Runtime
21.10.3
How to Add New Sections to the Toolbar
21.10.4
How to Override a Toolbar Section to Display Custom Content
21.11
Troubleshooting Problems with Composer Extensibility Features
22
Performing Advanced Composer Configurations
22.1
Enabling Custom Actions on a Show Detail Frame Component by Using Facets
22.2
Enabling Custom Actions on a Show Detail Frame Component By Using Facets: Example
22.2.1
How to Create an ADF Task Flow
22.2.2
How to Include an Additional Actions Facet
22.2.3
How to Create a Redirection Page
22.2.4
How to Create Navigation Rules Between Pages
22.2.5
What Happens at Runtime
22.3
Enabling Custom Actions on a Task Flow
22.3.1
How to Enable Custom Actions Directly on a Task Flow
22.3.2
How to Enable Custom Actions on a Show Detail Frame Enclosing a Task Flow
22.3.2.1
Defining Custom Actions at the Instance Level
22.3.2.2
Defining Custom Actions at the Global Level
22.3.2.3
Configuring Custom Actions that Display Task Flow Views in a Separate Browser Window
22.3.3
What Happens at Runtime
22.3.4
How to Enable Custom Actions On a Show Detail Frame Enclosing a Task Flow: Example
22.4
Enabling Custom Actions that Display on Task Flows in the Component Navigator
22.4.1
How to Configure Custom Actions in the Component Navigator
22.4.1.1
Defining the Logic for the Custom Action
22.4.1.2
Creating a JSPX Page Containing the Custom Action
22.4.1.3
Calling the JSPX Page from the Application Page Containing the Task Flow
22.4.2
What Happens at Runtime
22.5
Configuring a Keyboard Shortcut to Access Composer
22.5.1
How to Enable Linkless Entry Into Edit Mode
22.5.2
How to Configure an Event Handler for the Shortcut Key
22.5.3
What Happens at Runtime
22.6
Creating Event-Enabled Task Flows
22.7
Configuring an Application Page to Display in Source View by Default
22.7.1
How to Configure an Application Page to Display in Source View by Default
22.7.2
What Happens at Runtime
22.8
Disabling Source View for the Application
22.8.1
How to Disable Source View
22.8.2
What Happens at Runtime
22.9
Disabling Task Flow Zoom Capability
22.10
Applying Styles to Components
22.11
Configuring the Persistence Change Manager
22.11.1
Overview of the Default Change Manager Configuration
22.11.2
How to Configure ComposerChangeManager in Existing 11.1.1.1 Applications
22.11.2.1
Updating CHANGE_PERSISTENCE Context Parameter in the web.xml File
22.11.2.2
Adding Relevant Entries to the adf-config.xml File
22.12
Configuring Runtime Resource String Editing
22.12.1
Overview of the Resource String Editor
22.12.2
How to Enable the Resource String Editor in Your Application
22.12.3
How to Configure the Override Bundle
22.12.4
What Happens at Runtime
22.13
Troubleshooting Problems with Advanced Composer Configurations
23
Performing Composer-Specific MDS Configurations
23.1
Introduction to MDS
23.2
Using Composer Sandbox
23.2.1
How to Enable Composer Sandbox Creation
23.2.1.1
Updating Your Application's adf-config.xml File
23.2.1.2
Updating Your Application's web.xml File
23.2.1.3
Selecting a Database Store for Your Application
23.2.1.4
Enabling a Full Page Refresh at Runtime
23.2.2
What Happens at Runtime
23.2.3
How to Disable Sandbox for an Application
23.2.4
How to Destroy Stale Sandboxes
23.2.5
How to Enable Application Sandbox Creation
23.2.6
What Happens When You Enable Application Sandbox Creation
23.3
Adding Customization Layers to View and Edit Modes: Example
23.3.1
How to Add Composer to a JSF Page
23.3.2
How to Create a Custom SiteCC Tip Layer
23.3.3
How to Create a Custom UserCC Tip Layer
23.3.4
How to Implement the ComposerSessionOptionsFactory Class
23.3.5
How to Register the Implementation with Composer
23.3.6
How to Configure WebCenterComposerFilter
23.3.7
How to Redirect the Servlet to Enable Switch Between MDS Customization Layers
23.3.7.1
How to Create the AppNavigationUtils Class
23.3.7.2
How to Create AppCloseHandler
23.3.7.3
How to Register the AppCloseHandler
23.3.7.4
How to Create AppModeBean
23.3.8
What Happens at Runtime
23.4
Troubleshooting MDS-Related Problems with Composer
24
Modifying Default Security Behavior of Composer Components
24.1
Applying Component-Level Restrictions by Defining Customization Policies
24.1.1
How to Define Type-Level Customization Policies
24.1.2
How to Define Instance-Level Customization Policies
24.2
Applying a Component Instance-Level Customization Restriction By Using Security Roles: Example
24.2.1
How to Configure ADF Security
24.2.2
How to Define Roles and Grant Privileges in the jazn-data.xml File
24.2.3
How to Customize the SessionOptions Object to Include Customization Policy
24.2.4
How to Register the Implementation with Composer
24.2.5
How to Configure WebCenterComposerFilter
24.2.6
How to Apply an Instance-Level Customization Restriction
24.2.7
What Happens at Runtime
24.3
Applying Tag-Level Security Using the customizationAllowed Attribute
24.3.1
How to Enable Application Customization on an Image Component
24.3.2
How to Restrict Customization on an Image Component
24.4
Applying Attribute-Level Security
24.4.1
How to Define Change Persistence at the Component Level
24.4.2
What Happens at Runtime
24.5
Applying Action-Level Restrictions on Panel Customizable and Show Detail Component Actions
24.5.1
How to Add an enableSecurity Section to adf-config.xml
24.5.2
Defining Security at the Actions Category Level
24.5.3
Defining Security at the Actions Level
24.6
Implementing Task Flow Security
24.6.1
Granting Permissions on Task Flows
24.6.2
Enabling Task Flow Permission Check
24.7
Overriding Composer's Default Security Policies
24.7.1
How to Create a Custom Security Policy
24.7.2
How to Register a Custom Policy with Composer
24.7.3
What Happens at Runtime
24.8
Troubleshooting Problems with Composer Components Security
25
Customizing Task Flows
25.1
Preparing for Task Flow Customization
25.1.1
WebCenter Portal: Spaces: Create a New Task Flow Customization Application
25.1.2
WebCenter Portal: Framework Application: Enable Customization
25.2
Configuring the JDeveloper Customization Developer Role
25.3
Customizing Oracle WebCenter Portal Task Flows
25.3.1
Examples: Customizing Task Flows for WebCenter Portal: Spaces
25.3.1.1
Example: Customizing the Worklist Task Flow
25.3.1.2
Example: Customizing the Discussion Forums Task Flow
25.3.2
Examples: Customizing Task Flows for Custom Framework Applications
25.3.2.1
Example: Customizing the Document Library - List View Task Flow
25.4
Applying Task Flow Customizations to Deployed WebCenter Portal Applications
25.4.1
Creating a Metadata Deployment Profile for Custom WebCenter Portal Applications
25.4.2
Deploying Task Flow Customizations Directly from JDeveloper
25.4.3
Deploying Task Flow Customizations Using WLST
25.5
Removing Customizations from Deployed WebCenter Portal Applications
25.6
Catalog of WebCenter Portal Task Flows
Part IV Integrating and Publishing Content
26
Introduction to Integrating and Publishing Content
27
Managing Content Repository Connections
27.1
Overview of Content Adapters
27.2
Configuring Content Repository Connections
27.2.1
How to Create a Content Repository Connection Based on the Oracle Content Server Adapter
27.2.2
How to Create a Content Repository Connection Based on the Oracle Portal Adapter
27.2.3
How to Create a Content Repository Connection Based on the Oracle WebCenter Adapter for SharePoint
27.2.3.1
Creating a Content Repository Connection Based on the Oracle WebCenter Adapter for SharePoint
27.2.3.2
Mapping Microsoft SharePoint Content and Services
27.2.4
How to Create a Content Repository Connection Based on the File System Adapter
27.2.5
What Happens When You Create a Repository Connection
27.2.6
What You May Need to Know When Creating a Repository Connection
27.2.6.1
What You Should Know About Using Identity Propagation and External Application Authentication Methods
27.2.6.2
What You Should Know About Oracle Portal
27.2.6.3
What You Should Know About Oracle WebCenter Adapter for SharePoint
27.3
Editing Content Repository Connections
27.3.1
How to Edit a Common Repository Connection
27.3.2
How to Edit a WebCenter Portal: Framework Application-Specific Content Repository Connection
27.4
Using an Existing Repository Connection for a New WebCenter Portal: Framework Application
28
Working with Content Data Controls
28.1
Overview of Content Data Controls
28.1.1
The getItems Method
28.1.2
The search Method
28.1.3
The advancedSearch Method
28.1.4
The getURI Method
28.1.5
The getAttributes Method
28.2
Configuring Content Data Controls for JCR Adapters
28.2.1
How to Configure a Content Repository Data Control
28.2.2
What Happens When You Configure a Content Repository Data Control
28.3
Editing Content Repository Data Controls
28.4
Securing a Content Repository Data Control
28.5
Integrating Content Using Content Data Controls
28.5.1
How to Publish Content As Links
28.5.1.1
Publishing Content As a Textual Link
28.5.1.2
Creating a Clickable Image to Link to a Document
28.5.2
What Happens at Runtime
28.5.3
How to Publish Content in a Table
28.5.3.1
Displaying Files and Folders in Read-Only Format
28.5.3.2
Displaying the Name Attribute As a Go Link
28.5.3.3
Configuring a Table to Show Only Files
28.5.4
What Happens at Runtime
28.5.5
How to Publish Folder Content in a Tree
28.5.5.1
Displaying Files and Folders in Read-Only Format
28.5.5.2
Displaying File Names As Hyperlinks
28.5.6
What Happens at Runtime
28.5.7
How to Add Search Capabilities to Content Repositories
28.5.7.1
Adding Simple Search Capabilities
28.5.7.2
Adding Advanced Search Capabilities
28.5.8
What Happens at Runtime
28.5.9
What You May Need to Know When Using Search Capabilities
29
Creating Content Presenter Display Templates
29.1
Adding Content Presenter to an Application
29.2
What Is a Content Presenter Display Template?
29.3
Using the Out-of-the-Box Display Templates
29.4
Creating Content Presenter Display Templates
29.4.1
Overview
29.4.2
Defining Single-Item Display Templates
29.4.3
Defining Multiple-Item Display Templates
29.4.4
Using EL Expressions to Retrieve Content Item Information
29.4.4.1
Retrieving Basic Information About a Content Item
29.4.4.2
Working with Content Item Properties and Values
29.4.4.3
Working with Content Item Icons and URLs
29.4.5
Discovering Content Type Property Names
29.4.6
Referencing External Files in Display Templates
29.4.7
Referencing Site Studio Region Elements in a Custom View
29.4.8
Using the Content Presenter Display Template
29.5
Using Content Presenter Display Templates in a Framework Application
29.5.1
Export a Content Presenter Display Template as a Portal Resource
29.5.2
Upload the New Content Presenter Display Template
29.5.3
Test the New Content Presenter Display Template
29.6
What Happens at Runtime?
29.6.1
Runtime Overview
29.6.2
Identifying Display Templates for Selected Content Items
29.7
Performance Considerations for Content Presenter Display Templates
30
Integrating the Documents Service
30.1
Introduction to the Documents Service
30.2
Setting Up Connections
30.3
Setting Security for the Documents Service
30.4
Using the Documents Service with Other WebCenter Services
30.5
Setting Parameters to Upload Files to Content Repositories
30.6
Using Adapters with the Documents Service
31
Adding Content Task Flows and Document Components to a Portal Page
31.1
Understanding the Content Presenter Task Flow
31.2
Understanding the Documents Service Task Flows
31.3
Understanding Document Components
31.4
Adding a Selected Folder or File to a Page
31.5
Adding a Content Task Flow to a Page
31.6
Modifying Content Task Flow Parameters
31.7
Content Task Flow Parameters
31.7.1
Content Presenter Task Flow Parameters and Out-of-the-Box Display Templates
31.7.2
Document Explorer Task Flow Parameters
31.7.3
Document List Viewer Task Flow Parameters
31.7.4
Document Manager Task Flow Parameters
31.7.5
Document Navigator Task Flow Parameters
31.7.6
Folder Viewer Task Flow Parameters
31.7.7
Recent Documents Task Flow Parameters
31.7.8
Document Viewer Task Flow Parameters
31.7.9
Document Mini Properties Task Flow Parameters
31.7.10
Document Properties Task Flow Parameters
31.7.11
Rich Text Editor Task Flow Parameters
31.7.12
Document Upload Task Flow Parameters
31.7.13
Document Version History Task Flow Parameters
31.7.14
AutoVue Task Flow Parameters
32
Integrating Wikis and Blogs
32.1
Introduction to Wikis and Blogs
32.2
Requirements for Wikis and Blogs
32.3
Integrating Wikis
32.3.1
What You Should Know About the Document Explorer Task Flow
32.3.2
Adding the Document Explorer Task Flow to Provide the Wiki Functionality
32.3.3
Modifying Document Explorer Task Flow Parameters
32.3.4
What Happens at Runtime
32.3.5
Displaying Wiki Page Links Within Content Presenter
32.4
Integrating Blogs
32.4.1
Understanding the Blog Task Flows
32.4.2
Adding a Blog to a Page
32.4.2.1
Establishing a Selected Folder as a Blog Folder
32.4.2.2
Adding a Custom Blog to a Page Using the Blog Task Flows
32.4.3
What Happens at Runtime
32.4.4
Modifying Blog Task Flow Parameters
32.4.5
Blog Task Flow Parameters
32.4.5.1
Blog Archives Task Flow Parameters
32.4.5.2
Blog Banner Task Flow Parameters
32.4.5.3
Blog Digest Task Flow Parameters
32.4.5.4
Blog Recent Posts Task Flow Parameters
32.4.5.5
Blogs Task Flow Parameters
Part V Enabling Communication and Collaboration
33
Integrating the Announcements Service
33.1
Introduction to Announcements
33.1.1
Understanding the Announcements Service
33.1.2
Requirements for Announcements
33.1.3
What Happens at Runtime
33.2
Basic Configuration for the Announcements Service
33.2.1
Setting Up a Connection for Announcements
33.2.1.1
Announcements Connections
33.2.1.2
How to Set Up Connections for Announcements
33.2.2
Adding the Announcements Service at Design Time
33.2.2.1
Announcements Service Task Flows
33.2.2.2
How to Add Announcements to Your Page
33.2.2.3
How to Modify Announcements Service Task Flow Parameters
33.2.3
Setting Security for Announcements
33.3
Advanced Information for the Announcements Service
33.3.1
How to Add the Announcements - Quick View Task Flow
33.3.2
Customizing Announcements Views
33.3.3
Obtaining Space RSS News Feed URL for the Announcements Service
34
Integrating the Discussions Service
34.1
Introduction to Discussions
34.1.1
Understanding the Discussions Service
34.1.2
Requirements for Discussions
34.1.3
What Happens at Runtime
34.2
Basic Configuration for the Discussions Service
34.2.1
Setting up Connections for Discussions
34.2.1.1
Discussions Connections
34.2.1.2
How to Set Up Connections for Discussions
34.2.2
Adding the Discussions Service at Design Time
34.2.2.1
Discussions Task Flows
34.2.2.2
How to Add Discussions to a Page
34.2.2.3
How to Modify the Discussions Service Task Flow Parameters
34.2.3
Setting Security for Discussions
34.3
Advanced Information for the Discussions Service
34.3.1
Adding the Discussions - Popular Topics Task Flow
34.3.2
Adding the Discussions - Recent Topics Task Flow
34.3.3
Adding the Discussions - Watched Forums Task Flow
34.3.4
Adding the Discussions - Watched Topics Task Flow
34.3.5
Adding the Discussions - Quick View Task Flow
34.3.6
Obtaining Space RSS News Feed URL for the Discussions Service
34.3.7
Using Custom Discussions APIs
34.3.8
Using the Discussions Service REST APIs
34.3.8.1
Discussions Entry Point
34.3.8.2
Discussions Resource Type Taxonomy
34.3.8.3
Security Considerations
34.3.8.4
Discussions Resource Types
34.3.9
Troubleshooting the Discussions Service
35
Integrating the Instant Messaging and Presence Service
35.1
Introduction to the IMP Service
35.1.1
Understanding the IMP Service
35.1.2
Requirements for IMP
35.2
Basic Configuration for the IMP Service
35.2.1
Setting up Connections for the IMP Service
35.2.1.1
IMP Service Connections
35.2.1.2
How to Set Up Microsoft LCS Connections for the IMP Service
35.2.1.3
How to Set Up Microsoft OCS and Microsoft Lync Connections for the IMP Service
35.2.2
Adding the IMP Service at Design Time
35.2.2.1
IMP Service Task Flows
35.2.2.2
How to Add the IMP Service to your Application
35.2.3
Setting Security for the IMP Service
35.3
Advanced Information for the IMP Service
35.3.1
Enabling Network Presence
35.3.1.1
Setting Up Yahoo! Messenger Presence
35.3.1.2
Setting Up Other Network Presence Providers
35.3.2
Customizing IMP Views
35.3.3
Troubleshooting the IMP Service
36
Integrating the Mail Service
36.1
Introduction to the Mail Service
36.1.1
Understanding the Mail Service
36.1.2
Requirements for the Mail Service
36.2
Basic Configuration for the Mail Service
36.2.1
Configuration Roadmap - Mail Service
36.2.2
Setting up Connections for the Mail Service
36.2.3
Adding the Mail Service at Design Time
36.2.3.1
Mail Service Task Flows
36.2.3.2
How to Add the Mail Service to your Application
36.2.3.3
How to Modify the Mail Service Task Flow Parameters
36.2.4
Setting Security for the Mail Service
36.3
Advanced Information for the Mail Service
36.3.1
Invoking the Mail Compose Page
36.3.2
Configuring the Number of Mails Displayed
36.3.3
Troubleshooting the Mail Service
37
Integrating the Polls Service
37.1
Introduction to Polls
37.1.1
Understanding the Polls Service
37.1.2
Requirements for Polls
37.1.3
What Happens at Runtime
37.2
Basic Configuration for the Polls Service
37.2.1
Setting up Connections for the Polls Service
37.2.2
Adding the Polls Service at Design Time
37.2.2.1
Polls Task Flows
37.2.2.2
How to Add the Quick Poll Task Flow to Your Page
37.2.2.3
How to Modify the Polls Service Task Flow Parameters
37.2.3
Setting Security for Polls
37.3
Advanced Information for the Polls Service
37.3.1
How to Add the Polls Manager Task Flow
37.3.2
How to Add the Take Polls Task Flow
37.3.3
How to Add the View Poll Results Task Flow
37.3.4
Using the Polls Service Data Controls
37.3.4.1
Take Poll Data Control
37.3.4.2
Polls Manager Data Control
Part VI Working with the People Connections Service
38
Introducing the People Connections Service
38.1
Overview of the People Connections Service
38.1.1
People Connections Service Task Flows
38.1.1.1
Activity Stream
38.1.1.2
Connections
38.1.1.3
Feedback
38.1.1.4
Message Board
38.1.1.5
Profile
38.1.1.6
The Publisher Task Flow
38.1.2
People Connections Service Requirements
38.2
Troubleshooting the People Connections Service
39
Basic Configuration for the People Connections Service
39.1
How to Set Up a Database Connection for the People Connections Service
39.2
How to Add People Connections Task Flows to a Page
39.3
Setting Security for the People Connections Service
39.4
Establishing Site-Level Settings for People Connections Features
39.4.1
Understanding the People Connections Site-Level Setting Scripts
39.4.1.1
Preparing and Running settings-insert.sql
39.4.1.2
Preparing and Running settings-update.sql
39.4.2
Supported Site-Level Settings for People Connections Features
39.4.2.1
Activity Stream Site-Level Settings
39.4.2.2
Connections Site-Level Settings
39.4.2.3
Feedback Site-Level Settings
39.4.2.4
Message Board Site-Level Settings
39.4.2.5
Profile Site-Level Settings
39.4.3
Example: Configuring Connections to Accept Invitations Automatically
40
People Connections Task Flow Binding Parameters
40.1
How to Revise People Connections Task Flow Binding Parameters
40.2
People Connections Task Flow Binding Parameters
40.3
What You Should Know About the Activity Stream Advanced Query Option
41
Using People Connections Data Controls and Java APIs
41.1
Using People Connections Data Controls
41.1.1
Adding a Data Control to Your Project
41.1.2
Working with People Connections Management Data Control
41.1.2.1
connectionLists
41.1.2.2
groupedPeopleCounts
41.1.2.3
receivedInvitations
41.1.2.4
sentInvitations
41.1.2.5
acceptInvitation(String invitationId)
41.1.2.6
addConnectionsToList(List userids, String listName)
41.1.2.7
createConnectionList(String listName)
41.1.2.8
declineInvitation(String invitationId)
41.1.2.9
dropConnectionList(String listName)
41.1.2.10
getConnectionList(String connectionListName)
41.1.2.11
getConnections(String userid, String connectionListName, String filterPattern, String sortBy, int startIndex, int fetchSize)
41.1.2.12
getNumberOfConnections(String userid, String connectionListName, String filterPattern)
41.1.2.13
ignoreInvitation(String invitationId)
41.1.2.14
inviteUserForConnection(String userid, String invitationMessage, Collection connectionListNames)
41.1.2.15
isConnectionListModifiable(String listName)
41.1.2.16
isConnectionPartOfUnmodifiableList(String connecteeGuid)
41.1.2.17
removeConnection(String userid, boolean fromListOnly, String listName)
41.1.2.18
searchUsers(String filterPattern, int startIndex, int fetchSize)
41.1.2.19
updateConnectionListsMembership(String member, Collection addListIds, Collection removeListIds)
41.1.3
Working with Profile Data Control
41.1.3.1
Method: getProfile(String userId)
41.1.3.2
Method: getProfileForUpdate(String userId)
41.2
People Connections Service Java APIs
42
People Connections Service REST APIs
42.1
Activity Stream REST APIs
42.1.1
Activity Stream Entry Point
42.1.2
Activity Stream Resource Type Taxonomy
42.1.3
Activity Stream Security Considerations
42.1.4
Activity Stream Resource Types
42.2
Connections and Profile REST APIs
42.2.1
Connections and Profile Entry Point
42.2.2
Connections and Profile Resource Type Taxonomy
42.2.3
Connections and Profile Security Considerations
42.2.4
Connections and Profile Resource Types
42.3
Feedback REST APIs
42.3.1
Feedback Entry Point
42.3.2
Feedback Resource Type Taxonomy
42.3.3
Feedback Security Considerations
42.3.4
Feedback Resource Types
42.4
Message Board REST APIs
42.4.1
Message Board Entry Point
42.4.2
Message Board Resource Type Taxonomy
42.4.3
Message Board Security Considerations
42.4.4
Message Board Resource Types
42.5
Creating an Invitation
42.5.1
Creating an Invitation
42.5.2
Deleting an Invitation
Part VII Helping Users Find Content
43
Integrating the Links Service
43.1
Introduction to the Links Service
43.1.1
Understanding the Links Service
43.1.2
Requirements for the Links Service
43.1.3
What Happens at Runtime
43.2
Basic Configuration for the Links Service
43.2.1
Setting up Connections for the Links Service
43.2.2
Adding the Links Service at Design Time
43.2.2.1
Links Service Task Flows
43.2.2.2
How to Add the Links Service to your Application
43.2.3
Setting Security for the Links Service
43.2.4
Troubleshooting the Links Service
43.3
Advanced Information for the Links Service
43.3.1
Using the Links Service REST APIs
43.3.1.1
Links Entry Point
43.3.1.2
Links Resource Type Taxonomy
43.3.1.3
Security Considerations
43.3.1.4
Links Resource Types
44
Integrating the Tags Service
44.1
Introduction to the Tags Service
44.1.1
Understanding the Tags Service
44.1.2
Requirements for the Tags Service
44.1.3
What Happens at Runtime
44.2
Basic Configuration for the Tags Service
44.2.1
Setting up Connections for the Tags Service
44.2.2
Adding the Tags Service at Design Time
44.2.2.1
Tags Service Components
44.2.2.2
Tags Service Task Flows
44.2.2.3
How to Add the Tags Service to your Page
44.2.2.4
How to Modify the Tags Service Task Flow Parameters
44.2.3
Setting Security for the Tags Service
44.3
Advanced Information for the Tags Service
44.3.1
Using the Tags Service Java APIs
44.3.2
Using the Tags Service REST APIs
44.3.2.1
Tags Entry Point
44.3.2.2
Tags Resource Type Taxonomy
44.3.2.3
Security Considerations
44.3.2.4
Tags Resource Types
44.3.3
Optional Way to Show Tags on Pages
44.3.4
Using the Resource Action Handling Framework to Tag Custom Objects
44.3.5
Troubleshooting the Tags Service
44.3.5.1
Tag Center Results Do Not Appear When Tag Is Clicked
44.3.5.2
The Tag Center Does Not Display Tagged Documents
44.3.5.3
The Tagging Button Does Not Display On Page
44.3.5.4
Clicking a Tagged Resource Does Not Go To The Correct Page
45
Integrating the Search Service
45.1
Introduction to Search
45.1.1
Understanding the Search Service
45.1.1.1
Understanding Search with the Oracle SES Adapter
45.1.1.2
Understanding Search with WebCenter Portal's Search Adapters
45.1.1.3
Click Actions on Search Results
45.1.2
What Happens at Runtime
45.2
Basic Configuration for the Search Service
45.2.1
Configuration Roadmap - Oracle SES
45.2.2
Setting up Connections for Oracle SES
45.2.3
Adding the Search Service at Design Time
45.2.3.1
Search Service Task Flows
45.2.3.2
How to Add the Search Service to Your Page
45.2.3.3
How to Modify the Search Service Task Flow Parameters
45.2.4
Setting Security for the Search Service
45.3
Advanced Information for the Search Service
45.3.1
Adding the Search Task Flow
45.3.2
Adding the Search - Saved Searches Task Flow
45.3.3
Adding the Search Preferences Task Flow
45.3.4
Configuring Search with the Oracle SES Adapter
45.3.5
Configuring Search with WebCenter Portal's Search Adapters
45.3.6
Using the Search Service Java APIs
45.3.7
Using the Search Service REST APIs
45.3.7.1
Search Entry Point
45.3.7.2
Search Resource Type Taxonomy
45.3.7.3
Security Considerations
45.3.7.4
Search Resource Types
45.3.8
Using the Search Service Data Control
45.3.8.1
Search Data Control Methods, Attributes, and Classes
45.3.8.2
Integrating the Search Data Control
45.3.9
Building Adapters for the Search Service
45.3.9.1
How to Add a Search Source
45.3.9.2
How to Register a Custom Adapter
45.3.9.3
Search Adapter Attributes
45.3.9.4
What Happens at Runtime
45.3.10
Customizing the Search UI Without WebCenter Portal's Search Service APIs
45.3.11
Troubleshooting the Search Service
46
Integrating the Activity Graph Service
46.1
Introduction to the Activity Graph Service
46.1.1
Understanding the Activity Graph Service
46.1.2
Requirements for the Activity Graph Service
46.1.3
What Happens at Runtime
46.2
Basic Configuration for the Activity Graph Service
46.2.1
Configuration Roadmap for the Activity Graph Service
46.2.2
Setting Up Connections for the Activity Graph Service
46.2.3
Adding the Activity Graph Service at Design Time
46.2.3.1
Activity Graph Service Task Flows
46.2.3.2
How to Add Activity Graph Service Task Flows to a Page
46.2.3.3
How to Modify Activity Graph Service Task Flow Parameters
46.2.3.4
Activity Graph Service Task Flows and Task Flow Parameters
46.3
Advanced Information for the Activity Graph Service
46.3.1
Using the Activity Graph Data Control
46.3.2
Using the Activity Graph Service REST APIs
46.3.2.1
Activity Graph Entry Point
46.3.2.2
Activity Graph Resource Type Taxonomy
46.3.2.3
Security Considerations
46.3.2.4
Activity Graph Resource Types
46.4
Extending the Activity Graph Service
46.4.1
Defining Custom Node Classes
46.4.2
Defining Custom Actions
46.4.3
Defining Custom Similarity Calculations
46.4.4
Defining Custom Rank Calculations
46.4.5
Registering Custom Activity Providers
46.4.6
Registering Custom QRPPs
46.5
Troubleshooting the Activity Graph Service
46.5.1
Troubleshooting the Activity Graph Service Task Flows (All Task Flows)
46.5.2
Troubleshooting the Recommended Connections Task Flow
46.5.3
Troubleshooting the Similar Spaces Task Flow
46.5.4
Troubleshooting the Similar Items Task Flow
Part VIII Helping Users Keep Track
47
Integrating the Analytics Service
47.1
Introduction to the Analytics Service
47.1.1
Understanding the Analytics Service
47.1.2
Requirements for the Analytics Service
47.1.3
What Happens at Runtime
47.2
Basic Configuration for the Analytics Service
47.2.1
Configuration Roadmap for the Analytics Service
47.2.2
Setting up Connections for the Analytics Service
47.2.2.1
How to Set Up a Connection to the Analytics Database
47.2.2.2
How to Set Analytics Collector Properties
47.2.2.3
How to Set Up a Connection to the Analytics Collector
47.2.3
Adding Analytics Event Code to Your Application
47.2.3.1
Including Event Code for Page Views
47.2.4
Configuring a Namespace for Analytics Customizations in MDS
47.2.5
Adding Analytics Task Flows at Design Time
47.2.5.1
Analytics Task Flows
47.2.5.2
How to Add Analytics Task Flows to a Page
47.2.5.3
How to Modify Analytics Task Flow Parameters
47.2.5.4
How to Allow End Users to Customize Analytics Task Flows at Runtime
47.2.5.5
Analytics Task Flows and Task Flow Parameters
47.2.6
Setting up Security for Analytics Task Flows and Usage Data
47.3
Building Analytics Reports
47.3.1
Using SQL Data Controls
47.3.2
SQL Statements for Out-of-the-Box Analytics Reports
47.3.2.1
Analytics SQL: WebCenter Portal Traffic
47.3.2.2
Analytics SQL: Page Traffic
47.3.2.3
Analytics SQL: Login Metrics
47.3.2.4
Analytics SQL: Space Traffic
47.3.2.5
Analytics SQL: Space Response Time
47.3.2.6
Analytics SQL: Portlet Traffic
47.3.2.7
Analytics SQL: Portlet Instance Traffic
47.3.2.8
Analytics SQL: Portlet Response Time
47.3.2.9
Analytics SQL: Portlet Instance Response Time
47.3.2.10
Analytics SQL: Search Metrics
47.3.2.11
Analytics SQL: Document Metrics
47.3.2.12
Analytics SQL: Wiki Metrics
47.3.2.13
Analytics SQL: Blog Metrics
47.3.2.14
Analytics SQL: Discussion Metrics
47.3.3
Sample Queries for User Metrics
47.3.3.1
Sample SQL: Filter by User Property
47.3.3.2
Sample SQL: Group by User Property
47.3.4
Sample Analytics Database Queries for Specific Metrics
47.3.4.1
Sample SQL: User Activities
47.3.4.2
Sample SQL: Space Activities
47.3.4.3
Sample SQL: Space Activities for a Specific Time Period
47.3.4.4
Sample SQL: Activity for a Service During a Specific Time Period
47.3.4.5
Sample SQL: Search Phrases
47.3.4.6
Sample SQL: Page Views
48
Integrating the Lists Service
48.1
Introduction to the Lists Service
48.1.1
Understanding the Lists Service
48.1.2
What Happens to the Lists Service at Runtime
48.2
Basic Configuration for the Lists Service
48.2.1
Setting Up Connections for the Lists Service
48.2.2
Adding the Lists Service at Design Time
48.2.2.1
Lists Service Task Flows
48.2.2.2
How to Add the Lists Service to your Application
48.2.3
Enabling Users to Work with Lists at Runtime
48.3
Adding Lists to a Resource Catalog
48.4
Using the Lists Service REST APIs
48.4.1
Entry Point for Lists
48.4.2
Lists Resource Type Taxonomy
48.4.3
Lists Security Considerations
48.4.4
Lists Resource Types
48.4.4.1
urn:oracle:webcenter:space:lists
48.4.4.2
urn:oracle:webcenter:space:list
48.4.4.3
urn:oracle:webcenter:space:list:rows
48.4.4.4
urn:oracle:webcenter:space:list:row
48.4.4.5
urn:oracle:webcenter:space:list:columns
48.4.4.6
urn:oracle:webcenter:space:list:column
48.5
Troubleshooting the Lists Service
49
Integrating Notifications
49.1
Introduction to Notifications
49.1.1
Understanding Notifications
49.1.2
Requirements for Notifications
49.1.3
What Happens with Notifications at Runtime?
49.2
Basic Configuration for Notifications
49.2.1
Adding the Notifications Namespace
49.2.2
Creating a Notifications Connection to a Mail Server
49.2.3
Creating a Notifications Connection to a BPEL Server
49.2.4
Setting Application Defaults for Notifications
49.2.4.1
What You Should Know About Subscription Defaults
49.2.4.2
Setting Notifications Subscription Defaults
49.2.5
Adding Notifications Task Flows to Your Application
49.2.5.1
Notifications Task flows
49.2.5.2
How to Add a Notifications Task Flow to a Page
49.2.5.3
Subscription Preferences Task Flow Input Parameters
49.2.6
Setting Security for Notifications
49.3
Advanced Information for Notifications
49.3.1
Using Notifications Java APIs
49.3.1.1
Configuration Settings Required to Use Notifications Java APIs
49.3.1.2
Introduction to Notifications Java APIs
49.3.1.3
How to Set up Your Application to Use Notifications Java APIs
49.3.2
Using Notifications Data Controls
49.3.2.1
Adding a Data Control to Your Project
49.3.2.2
Understanding the Notification Subscription Data Control
49.3.2.3
Notification Subscription Data Control Methods and Attributes
49.3.2.4
Notification Subscription Data Control Classes
50
Integrating the Recent Activities Service
50.1
Introduction to the Recent Activities Service
50.1.1
Understanding the Recent Activities Service
50.1.2
What Happens at Runtime
50.2
Basic Configuration for the Recent Activities Service
50.2.1
Setting up Connections for the Recent Activities Service
50.2.2
Adding the Recent Activities Service at Design Time
50.2.3
Modifying Recent Activities Service Task Flow Parameters
50.2.4
Setting Security for the Recent Activities Service
50.3
Advanced Information for the Recent Activities Service
50.3.1
Refining the Behavior of the Recent Activities Service
50.3.2
Obtaining RSS News Feed URL for the Recent Activities Service
51
Integrating the Worklist Service
51.1
Introduction to the Worklist Service
51.1.1
Understanding Worklists
51.1.2
Requirements for the Worklist Service
51.1.3
What Happens at Runtime
51.2
Roadmap - Configuring the Worklist Service for WebCenter Portal: Framework Applications
51.3
Basic Configuration for the Worklist Service
51.3.1
Setting up Connections for the Worklist Service
51.3.1.1
Worklist Service Connections
51.3.1.2
How to Set Up Connections for the Worklist Service
51.3.2
Adding the Worklist Service at Design Time
51.3.2.1
Worklist Service Task Flows
51.3.2.2
How to Add the Worklist Service to your Application
51.3.3
Setting Security for the Worklist Service
51.4
Advanced Information for the Worklist Service
52
Integrating the Events Service
52.1
Introduction to the Events Service
52.1.1
Understanding the Events Service
52.1.2
Requirements for the Events Service
52.1.3
What Happens at Runtime
52.2
Basic Configuration for the Events Service
52.2.1
Configuration Roadmap for the Events Service
52.2.2
Setting Up a Connection for the Events Service
52.2.3
Adding the Events Service at Design Time
52.2.3.1
Events Task Flows
52.2.3.2
How to Add the Events Service to Your Application
52.2.4
Setting Security for the Events Service
52.3
Using the Events Service REST APIs
52.3.1
Events Entry Point
52.3.2
Events Resource Type Taxonomy
52.3.3
Security Considerations
52.3.4
Events Resource Types
52.3.4.1
urn:oracle:webcenter:events:gsEvents
52.3.4.2
urn:oracle:webcenter:events:gsEvent
52.3.4.3
urn:oracle:webcenter:events:gsCategories
52.3.4.4
urn:oracle:webcenter:events:gsCategory
52.4
Troubleshooting the Events Service
53
Integrating the RSS Service
53.1
Introduction to the RSS Service
53.1.1
Understanding the RSS Service
53.1.2
Requirements for the RSS Service
53.1.3
What Happens at Runtime
53.2
Basic Configuration for the RSS Service
53.2.1
Setting Up a Proxy Server for the RSS Service
53.2.2
Adding the RSS Service at Design Time
53.2.2.1
About RSS Viewer Task Flow
53.2.2.2
How to Add the RSS Viewer Task Flow to Your Application
53.2.2.3
How to Modify RSS Viewer Task Flow Parameters
53.2.3
Setting Security for the RSS Viewer Service
Part IX Extending Your WebCenter Portal Application
54
Using Oracle WebCenter Portal REST APIs
54.1
Introduction to REST
54.2
Understanding the Username-Based Security Token Encryption
54.3
Benefits of Using REST
54.4
Introduction to WebCenter Portal's REST APIs
54.5
Understanding the Link Model
54.5.1
The Resource Index
54.5.2
The Anatomy of a Link
54.5.2.1
Resource Type
54.5.2.2
Relationship
54.5.2.3
Capabilities
54.5.2.4
Media Type
54.5.2.5
Templates
54.6
Understanding Items Hypermedia
54.7
Navigating Hypermedia Using HTTP
54.8
Security Considerations for WebCenter Portal REST APIs
54.9
Security Considerations for CMIS REST APIs
54.10
Understanding Common Types
54.10.1
Common Types
54.10.1.1
personReference
54.10.1.2
groupSpaceReference
54.10.2
Portable Contact Types
54.10.2.1
name Portable Contact Type
54.10.2.2
address Portable Contact Type
54.10.2.3
organization Portable Contact Type
54.10.2.4
value Portable Contact Type
54.11
Managing Caches
54.12
Configuring a Proxy Server
54.13
WebCenter Portal's REST API Examples
54.13.1
Navigating the Message Board Hypermedia
54.13.1.1
Accessing the Resource Index
54.13.1.2
Reading Messages
54.13.1.3
Creating a New Message
54.13.1.4
Updating a Message
54.13.1.5
Deleting a Message
54.13.2
Displaying Activity Stream Data
54.13.3
Using the WebCenter People Connections Service REST APIs with Ext
54.13.3.1
Creating the HTML Page
54.13.3.2
Creating the JavaScript File
54.13.3.3
The Result
54.13.4
Updating User Status
55
Integrating Other Oracle Applications
55.1
Integrating Oracle and Other Applications in WebCenter Portal
55.2
Integrating Siebel Applications
55.2.1
Integrating Siebel Applications as Web Services
55.2.1.1
Preparing the Siebel Application
55.2.1.2
Consuming a Siebel Web Service in a Framework Application
55.2.2
Integrating Siebel Applications Using the Siebel Web Engine
55.3
Integrating E-Business Suite Applications
55.3.1
Introduction to Integrating EBS Applications
55.3.1.1
Understanding EBS Integration
55.3.1.2
Requirements for Integrating EBS Applications
55.3.2
Integrating EBS Applications in a Framework Application
55.3.2.1
Preparing the EBS Application for Remote Access
55.3.2.2
Registering the EBS WSRP Producer in the Framework Application
55.3.2.3
Creating a JSF Page to Consume the Remote Producer
55.3.2.4
Testing the Framework Application
55.3.3
Integrating EBS Applications in Spaces
55.3.3.1
Preparing the EBS Portlet for Remote Access
55.3.3.2
Registering the EBS WSRP Producer in Spaces
55.3.3.3
Adding the EBS Portlet to a Spaces Page
55.3.3.4
Testing the Spaces Portlet Connection
55.4
Integrating JD Edwards Applications
55.4.1
Integrating JD Edwards Applications in a Framework Application
55.4.1.1
Preparing the JD Edwards Application for Remote Access
55.4.1.2
Registering the JD Edwards WSRP Producer in the Framework Application
55.4.1.3
Creating the JSF Page to Consume the Remote Producer
55.4.1.4
Testing the Framework Application
55.4.2
Integrating JD Edwards Applications in Spaces
55.4.2.1
Registering the Producer
55.4.2.2
Adding the JD Edwards Portlet to a Spaces Page
55.4.2.3
Testing the Spaces Portlet Connection
55.5
Integrating PeopleSoft Applications
55.5.1
Introduction to Integrating PeopleSoft Applications
55.5.1.1
Understanding PeopleSoft Integration
55.5.1.2
Requirements for Integrating PeopleSoft Applications
55.5.2
Integrating PeopleSoft Applications in a Framework Application
55.5.2.1
Preparing the PeopleSoft Application for Remote Access
55.5.2.2
Registering the PeopleSoft WSRP Producer in the Framework Application
55.5.2.3
Creating the JSF Page to Consume the Remote (WSRP) Producer
55.5.2.4
Setting up WS-Security for PeopleTools
55.5.2.5
Testing the Framework Application
55.5.3
Integrating PeopleSoft Applications in Spaces
55.5.3.1
Registering the Producer
55.5.3.2
Adding the PeopleSoft Portlet to a Spaces Page
55.5.3.3
Testing the Spaces Portlet Connection
55.6
Integrating Oracle Business Intelligence Presentation Services
55.6.1
Introduction to Integrating Oracle Business Intelligence Presentation Services
55.6.1.1
Understanding Oracle Business Intelligence Presentation Services Integration
55.6.1.2
Requirements for Integrating Oracle Business Intelligence Presentation Services
55.6.2
Configuring Credentials for Connecting to the Oracle BI Presentation Catalog
55.6.2.1
Creating the BIImpersonateUser
55.6.2.2
Granting Permissions to BIImpersonateUser
55.6.3
Integrating Oracle Business Intelligence Presentation Services in Framework Applications
55.6.3.1
Installing the Required Business Intelligence Extensions
55.6.3.2
Creating a Framework Application that Integrates with Oracle BI Presentation Services
55.6.3.3
Testing the Framework Application
55.6.3.4
Post-Deployment Connection Configuration
55.6.3.5
Securing Oracle BI EE Objects Included in a Framework Application
55.6.4
Integrating Oracle Business Intelligence Objects in WebCenter Portal: Spaces
55.6.4.1
Adding or Modifying a Presentation Services Connection After Deployment
55.6.4.2
Adding Oracle BI Objects to the Spaces Resource Catalog
55.6.4.3
Adding Oracle BI Content at Runtime
55.6.4.4
Modifying a Business Intelligence Object's Prompt Values
55.6.4.5
Modifying a Business Intelligence Task Flow's Initialization Parameters
56
Extending the Spaces Application Using JDeveloper
56.1
Downloading a Workspace for Spaces Development
56.2
Including Additional Shared Libraries in Spaces
56.2.1
What You Should Know About Shared Library Deployment for Spaces
56.2.2
Deploying Your Own Custom Code and Task Flows in Shared Libraries
56.2.3
Rebuilding the Spaces Shared Library List
56.2.3.1
Editing the Shared Library List
56.2.3.2
Setting Build and Deployment Options (config.properties)
56.2.3.3
Building and Deploying the Shared Library List (extend.spaces.webapp.war)
56.2.3.4
Reverting to a Previous Shared Library List
56.2.3.5
Troubleshooting Shared Library Deployment
56.3
Developing Resources for the Spaces Application
56.3.1
Using the WebCenterSpacesResources Project for Round-Trip Development
56.3.2
Opening and Exploring the WebCenterSpacesResources Project
56.3.3
Enabling Direct Uploads to the Spaces Application
56.3.4
Editing Spaces Resources in JDeveloper
56.3.4.1
Downloading a Spaces Resource Directly into JDeveloper
56.3.4.2
Importing a Spaces Resource into JDeveloper
56.3.4.3
How to Build Spaces Resources
56.3.5
Uploading Resources Directly to the Spaces Application
56.3.6
Exporting Spaces Resources to an Archive
56.3.7
Troubleshooting Resource Round-Trip Development
57
Integrating with Oracle WebCenter Portal: Spaces
57.1
Introduction to WebCenter Portal: Spaces
57.2
Exposing Spaces in WebCenter Portal Applications Using APIs
57.2.1
Introduction to Spaces APIs
57.2.2
Case Study 1: Purchasing Application Uses a Space to Evaluate Suppliers
57.2.3
Case Study 2: Customer Support Center Application Uses a Space to Discuss Customer Escalations
57.2.4
How to Set Up Your WebCenter Portal Application to Use the Spaces APIs
57.2.4.1
Verifying That the Spaces Application Is Up and Running
57.2.4.2
Setting Up the WebCenter Portal Application to Use Spaces APIs
57.2.4.3
Securing the Connection Between the Application and Spaces
57.2.4.4
Setting Up the Spaces Client Context
57.2.5
How to Provide Spaces Functionality in WebCenter Portal Applications
57.2.5.1
Managing Spaces and Space Template
57.2.5.2
Managing Space Membership
57.2.5.3
Retrieving Information for Spaces and Space Templates
57.2.6
How to Handle Exceptions Raised by Spaces APIs
57.2.6.1
Providing Localized Error Messages
57.2.6.2
Listing the Error Stack
57.2.7
Finding More Information on Spaces APIs
57.2.8
Troubleshooting Issues with Spaces APIs
57.3
Using the WebCenter Portal: Spaces REST APIs
57.3.1
WebCenter Portal: Spaces Entry Point
57.3.2
WebCenter Portal: Spaces Resource Type Taxonomy
57.3.3
WebCenter Portal: Spaces Security Considerations
57.3.4
WebCenter Portal: Spaces Resource Types
57.3.4.1
urn:oracle:webcenter:spaces
57.3.4.2
urn:oracle:webcenter:siteresources
57.3.4.3
urn:oracle:webcenter:spaces:resource:templates
57.3.4.4
urn:oracle:webcenter:space
57.3.4.5
urn:oracle:webcenter:space:resourceindex
57.3.4.6
urn:oracle:webcenter:space:roles
57.3.4.7
urn:oracle:webcenter:space:role
57.3.4.8
urn:oracle:webcenter:space:icon
57.3.4.9
urn:oracle:webcenter:space:attributes
57.3.4.10
urn:oracle:webcenter:space:attribute
57.3.4.11
urn:oracle:webcenter:space:members
57.3.4.12
urn:oracle:webcenter:space:member
57.3.4.13
urn:oracle:webcenter:space:lists
57.3.4.14
urn:oracle:webcenter:space:list
57.3.4.15
urn:oracle:webcenter:space:list:rows
57.3.4.16
urn:oracle:webcenter:space:list:row
57.3.4.17
urn:oracle:webcenter:space:list:columns
57.3.4.18
urn:oracle:webcenter:space:list:column
57.4
Exposing Enterprise Applications in Spaces
57.4.1
Exposing WebCenter Portal Applications in Spaces
57.4.2
Exposing Oracle Applications in Spaces
57.4.3
Exposing Non-Oracle Applications in Spaces
Part X Working with Portlets and Portals
58
Overview of Portlets
58.1
Introduction to Portlets
58.1.1
Portlet Anatomy
58.1.2
Portlet Resources
58.1.2.1
JSF Portlets
58.1.2.2
Prebuilt Portlets
58.1.2.3
Parameter Form and Parameter Display Portlets
58.1.2.4
Web Clipping
58.1.2.5
OmniPortlet
58.1.2.6
Programmatic Portlets
58.1.2.7
Deciding Which Tool to Use
58.1.3
Portlet Modes
58.1.3.1
View Mode
58.1.3.2
Edit Mode
58.1.3.3
Edit Defaults Mode
58.1.3.4
Help Mode
58.1.3.5
About Mode
58.2
Portlet Technologies Matrix
58.2.1
General Suitability
58.2.2
Expertise Required
58.2.3
Deployment Type
58.2.3.1
PDK-Java Producers
58.2.3.2
WSRP Producers
58.2.3.3
Producer Architecture
58.2.4
Caching Style
58.2.5
Development Tool
58.2.6
Portlet Creation Style
58.2.7
User Interface Flexibility
58.2.8
Ability to Capture Content from Web Sites
58.2.9
Ability to Render Content Inline
58.2.10
Charting Capability
58.2.11
Public Portlet Parameter Support
58.2.12
Private Portlet Parameter Support
58.2.13
Ability to Hide and Show Portlets Based on User Privileges
58.2.14
Multilingual Support
58.2.15
Pagination Support
58.2.16
Authenticating to External Applications
59
Creating Portlets with the Oracle JSF Portlet Bridge
59.1
Introduction to the Oracle JSF Portlet Bridge
59.2
Creating a Portlet from a JSF Application
59.2.1
How to Create a JSF Portlet Based on a Page
59.2.2
How to Create a JSF Portlet Based on a Task Flow
59.2.2.1
Creating a Portlet From a Task Flow Using the Create Portlet Entry Dialog
59.2.2.2
Creating a Portlet From a Task Flow Using the Manage Portlet Entries of Task Flows Dialog
59.2.3
How to Test a JSF Portlet Using the Integrated WebLogic Server
59.2.4
What Happens at Runtime
59.3
What You May Need to Know When Creating a JSF Portlet
59.3.1
General Guidelines
59.3.2
Portlet Guidelines
59.3.3
Security Guidelines
59.3.4
JSF Guidelines
59.3.5
Oracle ADF Guidelines
59.4
Copying a Runtime-Created Skin to a JSF Portlet Producer Application
60
Creating Portlets with the Portlet Wizard
60.1
Introduction to Java Portlets
60.1.1
Introduction to Standards-Based Java Portlets
60.1.2
Introduction to PDK-Java Portlets
60.2
Creating Java Portlets
60.2.1
How to Create a JSR 286 Java Portlet
60.2.2
What Happens When You Create a JSR 286 Java Portlet Using the JDeveloper Wizard
60.2.3
After You Create a JSR 286 Java Portlet Using the JDeveloper Wizard
60.2.4
How to Create a PDK-Java Portlet
60.2.5
What Happens When You Create a PDK-Java Portlet
60.2.6
After You Create an Oracle PDK-Java Portlet Using the JDeveloper Wizard
60.3
Troubleshooting Java Portlets
60.3.1
Cannot Access the Create Portlet Wizard
60.3.2
Cannot Add the Portlet Functionality that I Want to the Portlet
61
Coding Portlets
61.1
General Guidelines for Coding Java Portlets
61.1.1
Guidelines for Portlet Modes
61.1.1.1
Guidelines for View Mode
61.1.1.2
Guidelines for Edit Mode
61.1.1.3
Guidelines for Edit Defaults Mode
61.1.1.4
Guidelines for Help Mode
61.1.1.5
Guidelines for About Mode
61.1.1.6
Guidelines for Preview Mode
61.1.1.7
Guidelines for Full Screen Mode (PDK-Java Only)
61.1.2
Guidelines for Navigation within a Portlet
61.1.2.1
Intraportlet Links
61.1.2.2
Application Links
61.1.2.3
External Links
61.1.2.4
Internal/Resource Links
61.1.3
Guidelines for JavaScript
61.2
Enhancing JSR 286 Java Portlets
61.2.1
How to Edit the Portlet Deployment Descriptor File
61.2.2
How to Add Custom Portlet Modes
61.2.3
How to Access User Information
61.2.4
How to Customize the Runtime Environment
61.2.4.1
Supported Container Runtime Options
61.2.4.2
Setting Container Runtime Options for All Portlets in an Application
61.2.4.3
Setting Container Runtime Options for Individual Portlets
61.2.5
How to Use Portlet Events
61.2.5.1
Defining a Portlet Event at the Application Level
61.2.5.2
Adding a Processing Event to a Portlet
61.2.5.3
Adding a Publishing Event to a Portlet
61.2.6
How to Use Public Render Parameters
61.2.6.1
Defining a Public Render Parameter at the Application Level
61.2.6.2
Adding a Public Render Parameter to a Portlet
61.2.7
How to Add Personalization
61.2.7.1
Adding a Portlet Preference to a Portlet
61.2.7.2
Simple Portlet Personalization Example
61.2.8
How to Use Portlet Filters
61.2.8.1
Adding a Portlet Filter to an Application
61.2.8.2
Applying a Portlet Filter to a Portlet
61.2.9
How to Implement Portlet Caching
61.2.9.1
Implementing Expiry-Based Caching
61.2.9.2
Implementing Validation-Based Caching
61.2.10
How to Implement Export of Customizations (WSRP 2.0)
61.2.11
How to Implement Rewritten URLs for Resource Proxy
61.2.12
How to Implement Stateless Resource Proxying
61.2.13
How to Enable Java Object Cache for Preference Store Access
61.2.14
How to Implement Security for JSR 286 Portlets
61.3
Enhancing PDK-Java Portlets
61.3.1
Guidelines for PDK-Java Portlets
61.3.2
How to Add Portlet Modes
61.3.3
How to Implement Public Parameters
61.3.4
How to Implement Private Parameters
61.3.4.1
About Private Parameters
61.3.4.2
About Portlet URL Types
61.3.4.3
Building Links with the Portlet URL Types
61.3.4.4
Building Forms with the Portlet URL Types
61.3.4.5
Implementing Navigation within a Portlet
61.3.4.6
Restricting Navigation to Resources
61.3.5
How to Use JNDI Variables
61.3.5.1
Declaring JNDI Variables
61.3.5.2
Setting JNDI Variable Values
61.3.5.3
Retrieving JNDI Variables
61.3.6
How to Access Session Information
61.3.7
How to Enhance Portlet Performance with Caching
61.3.7.1
Activating Caching
61.3.7.2
Adding Expiry-Based Caching
61.3.7.3
Adding Validation-Based Caching
61.4
Testing Portlet Personalization
61.5
Creating a Struts Portlet
61.5.1
How to Create a New Flow and View to Host the Portlet Actions
61.5.2
How to Create the New JSPs
61.5.3
How to Create a Portlet
61.5.4
How to Extend the Portlet to Add Business Logic
61.5.5
How to Register the Producer
62
Testing and Deploying Your Portlets
62.1
Introduction to Portlet Deployment Testing in a Development Environment
62.2
Testing a Portlet Producer Application on Integrated WebLogic Server
62.2.1
How to Test JSR 286 Portlets on Integrated WebLogic Server
62.2.2
What Happens When You Test JSR 286 Portlets on Integrated WebLogic Server
62.2.3
How to Test PDK-Java Portlet Producer Applications on Integrated WebLogic Server
62.2.4
What Happens When You Test PDK-Java Portlet Producer Applications on Integrated WebLogic Server
62.3
Deploying a Portlet Producer Application to an Oracle WebLogic Managed Server Instance
62.3.1
How to Create Deployment Profiles
62.3.1.1
Creating a WAR Deployment Profile
62.3.1.2
Creating a Deployment Descriptor
62.3.2
How to Create and Provision a WebLogic Managed Server Instance
62.3.3
How to Create and Register the Metadata Service Repository
62.3.4
How to Create a WebLogic Managed Server Connection
62.3.5
How to Deploy a Portlet Producer Application to an Oracle WebLogic Managed Server Instance
62.3.6
What Happens When You Deploy a Portlet Producer Application to an Oracle WebLogic-Managed Portlet Server
62.4
Registering and Viewing Your Portlet
63
Creating Pagelets with Oracle WebCenter Portal's Pagelet Producer
63.1
About Server Communication and the Proxy
63.1.1
The Pagelet Producer Proxy
63.1.1.1
About Pagelets and the Proxy
63.1.2
About HTTP and CSP
63.1.2.1
HTTP
63.1.2.2
CSP
63.2
Using Pagelets in Web Applications
63.2.1
Adding a Pagelet to a JSF Page in Oracle JDeveloper
63.2.1.1
Registering the Pagelet Producer with a WebCenter Portal: Framework Application
63.2.1.2
Adding a Pagelet to a JSF Page
63.2.1.3
Securing a Pagelet
63.2.2
Adding a Pagelet to a Web Page
63.2.2.1
Inserting Pagelets Using Javascript
63.2.2.2
Accessing Pagelets Using REST
63.2.2.3
Using Automatic Resizing with IFrames
63.2.3
Adding a Pagelet to a Page in WebCenter Portal: Spaces
63.3
Building Pagelets Using the Pagelet Producer
63.3.1
Using the Adaptive Pagelet Scripting Framework
63.3.1.1
Handling Structured HTTP Responses
63.3.1.2
Using Event Notification
63.3.1.3
Using In-Place Refresh
63.3.1.4
Using Session Preferences
63.3.1.5
Adaptive Pagelet Development Tips
63.3.2
Using Pagelet Producer Credential Mapping
63.3.3
Modifying Pagelet Functionality at Runtime
63.3.3.1
Creating Web Injectors
63.3.3.2
Creating Custom Parsers
63.3.4
Debugging Pagelets
63.3.4.1
HTTP Tracing
63.3.4.2
Transformation Tracing
63.4
Working with WSRP and Oracle JPDK Portlets
63.4.1
Using Pagelet Chrome
63.5
Working with OpenSocial Gadgets
63.5.1
Configuring Authentication
63.5.2
Storing User Preferences
63.5.3
Accessing WebCenter Portal Profile Information
63.5.4
Accessing a User's Activity Stream
63.5.5
Using Gadget Eventing
63.5.6
Example: Consuming an External OpenSocial Gadget
63.5.7
Example: Consuming a Local OpenSocial Gadget
64
Consuming Portlets
64.1
Introduction to Consuming Portlets
64.2
Registering Portlet Producers with a WebCenter Portal: Framework Application
64.2.1
How to Register a WSRP Portlet Producer
64.2.2
How to Map a Producer's Declared User Categories to an Application's Defined Java EE Security Roles
64.2.3
How to Register an Oracle PDK-Java Portlet Producer
64.2.4
How to Edit Portlet Producer Registration Settings
64.2.5
How to Test a Portlet Producer Connection
64.2.6
How to Refresh a Portlet Producer
64.2.7
How to Delete a Portlet Producer
64.3
Adding Portlets to a Page
64.3.1
How to Add a Portlet to a Page
64.3.2
What Happens When You Add a Portlet to a Page
64.3.3
What Happens at Runtime
64.4
Setting Attribute Values for the Portlet Tag
64.4.1
How to Set Attribute Values for the Portlet Tag Using the Property Inspector
64.4.2
How to Set Attribute Values for the Portlet Tag in Source Code
64.4.3
Common Attributes of the Portlet Tag
64.4.4
Appearance Attributes of the Portlet Tag
64.4.5
Behavior Attributes of the Portlet Tag
64.4.6
Portlet Modes Attributes of the Portlet Tag
64.4.7
Style Attributes of the Portlet Tag
64.4.8
Binding Attributes of the Portlet Tag
64.4.9
Customization Attributes of the Portlet Tag
64.4.10
Other Attributes of the Portlet Tag
64.4.11
What You May Need to Know About Maximize, Minimize, Restore, and Move
64.4.12
What You May Need to Know About IFRAMEs
64.5
Copying Portlets
64.5.1
How to Copy a Portlet and Place it on the Same Page
64.5.2
How to Copy a Portlet from One Application Page to Another
64.6
Deleting Portlets from Application Pages
64.7
Consuming WebCenter Services Portlets
64.7.1
Consuming WebCenter Services Portlets in Oracle Portal
64.7.2
Consuming WebCenter Services Portlets in Oracle WebLogic Portal
64.7.3
Consuming WebCenter Services Portlets in Oracle WebCenter Interaction
64.7.4
Setting WebCenter Services Portlets Parameters
64.7.4.1
Common WebCenter Services Portlets Parameters
64.7.4.2
Document Manager Portlet Parameters
64.7.4.3
Discussion Forums Portlet Parameters
64.7.4.4
Blogs Portlet Parameters
64.7.4.5
Lists Portlet Parameters
64.7.4.6
Polls Manager Portlet Parameters
64.7.4.7
Take Polls Portlet Parameters
64.7.4.8
Worklist Portlet Parameters
64.7.4.9
Announcements Portlet Parameters
64.7.4.10
Mail Portlet Parameters
64.7.4.11
Activity Stream Portlet Parameters
64.7.4.12
Tag Cloud Portlet Parameters
64.8
Adding the Portlet Producer Task Flow
64.9
Troubleshooting Portlets
64.9.1
Diagnostic Tools for Troubleshooting Portlets
64.9.1.1
Identify the Portlet Instance
64.9.1.2
Examine the Portlet Consumer Test Page
64.9.1.3
Examine the Producer Test Page
64.9.2
Configuring the Portlet Logging File
64.9.3
Portlet Displays a Portlet Consumer Error
64.9.4
Portlet Displays a Portlet Timeout
64.9.5
Portlet Displays a Remote Portlet Communication Error
64.9.6
Portlet Displays a Remote Portlet Error
65
Creating Portlets with OmniPortlet
65.1
Introduction to OmniPortlet
65.2
Adding OmniPortlet to Your Application
65.3
Customizing OmniPortlet
65.4
Troubleshooting OmniPortlet Problems
66
Creating Content-Based Portlets with Web Clipping
66.1
Introduction to Web Clipping
66.2
Adding Web Clipping to Your Application
66.3
Integrating Authenticated Web Content Using Single Sign-On
66.4
Advanced Features of Web Clipping
66.4.1
Using the Web Clipping Transport API
66.4.1.1
Implementing the Web Clipping Transport API
66.4.1.2
Deploying the Web Clipping Transport API
66.4.2
Rewriting Image Links to Use a Resource Proxy
66.5
Current Limitations of Web Clipping
66.6
Troubleshooting Web Clipping
Part XI Delivering Personalized Content
67
Personalizing WebCenter Portal Applications
67.1
Introduction to Personalization
67.1.1
Personalization Architecture
67.1.2
Personalization Conductor
67.1.2.1
Personalized Scenarios
67.1.2.2
Personalized Application Flow
67.1.2.3
Property Set Integration
67.1.2.4
Provider Integration
67.1.3
Personalization Property Service
67.1.3.1
Property Service Architecture
67.1.3.2
Property Sets
67.1.3.3
Property Locators
67.1.4
Personalization Providers
67.1.4.1
Out-of-the-Box Providers
67.1.4.2
Custom Data Providers
67.1.4.3
Function Providers
67.2
Integrating Personalization in Your Application
67.2.1
Personalization Requirements
67.2.2
Authoring Personalized Scenarios in JDeveloper
67.2.2.1
Creating a Properties Namespace
67.2.2.2
Creating Property Sets and Property Definitions
67.2.2.3
Creating a New Scenario in the Scenario Editor
67.2.2.4
Specifying Scenario Flow Using Node Types
67.2.2.5
Defining Property Sets and Property Locators
67.2.2.6
Implementing and Calling Function Providers
67.2.2.7
Implementing and Calling Data Providers
67.2.2.8
Using the Out-of-the-Box Providers
67.2.3
Creating File-Based Scenarios
67.2.4
Displaying Targeted Content at Runtime
67.2.4.1
Presenting Content with Content Presenter
67.2.4.2
Presenting Content with a Custom User Interface
67.3
Tutorial: Creating, Testing and Deploying a Simple Application
67.4
Extending Personalization
67.4.1
Adding Custom Providers
67.4.1.1
Extending the AnnotatedConfiguration Class
67.4.1.2
Implementing the Required Interfaces
67.4.1.3
Creating the Resource Files
67.4.1.4
Wiring the Data Provider to the Conductor
67.4.1.5
Invoking your Data Provider in a Scenario
67.4.2
Adding Custom Locators
67.4.2.1
Understanding Property Locators
67.4.2.2
Implementing the Required Interfaces
67.4.2.3
Implementing Security
67.4.2.4
Creating a Property Set Definition
67.4.2.5
Putting It All Together
67.4.2.6
Invoking the Property Locator
68
Using Personalization APIs Externally
68.1
Using Java APIs
68.2
Using the Property Service REST APIs
68.2.1
Accessing the Property Service's Resource Index
68.2.2
Creating a Namespace Using the Property Service
68.2.3
Viewing Property Set Definitions Within a Namespace Using the Property Service
68.2.4
Creating a Property Definition Within a Namespace Using the Property Service
68.2.5
Viewing Property Definitions Within a Namespace Using the Property Service
68.2.6
Creating a Property Set Definition Within a Namespace Using the Property Service
68.2.7
Creating a Property Set Within a Namespace Using the Property Service
68.2.8
Viewing a Property Set Within a Namespace Using the Property Service
68.2.9
Accessing the Conductor ResourceIndex
68.2.10
Accessing Namespaces Using the Conductor
68.2.11
Creating a Scenario Within a Namespace Using the Conductor
68.2.12
Viewing Scenarios Within a Namespace Using the Conductor
68.2.13
Executing a Scenario Using the Conductor
68.2.14
Viewing Data Providers Within a Namespace Using the Conductor
68.2.15
Viewing Detailed Data Provider Properties Within a Namespace Using the Conductor
68.2.16
Viewing Data Provider Connections Within a Namespace Using the Conductor
68.2.17
Viewing Data Provider Connection Resources Within a Namespace Using the Conductor
68.2.18
Viewing Data Provider Connection Resources Method Within a Namespace Using the Conductor
68.2.19
Viewing Function Providers Within a Namespace Using the Conductor
68.3
Property Service REST APIs
68.3.1
Property Service Resource Index
68.3.1.1
ResourceIndex
68.3.2
Namespace CRUD
68.3.2.1
Create Namespace
68.3.2.2
Retrieve Namespace
68.3.2.3
Update Namespace
68.3.2.4
Delete Namespace
68.3.2.5
Retrieve all Namespaces
68.3.2.6
Delete all Namespaces
68.3.3
Property Definition CRUD
68.3.3.1
Create Property Definition - Create Integer Property Definition
68.3.3.2
Create Property Definition - Create Integer Array Property Definition
68.3.3.3
Retrieve Property Definition
68.3.3.4
Update Property Definition
68.3.3.5
Delete Property Definition
68.3.3.6
Retrieve all Property Definitions
68.3.3.7
Delete all Property Definitions
68.3.4
Property Set Definition CRUD
68.3.4.1
Create Property Set Definition
68.3.4.2
Retrieve Property Set Definition
68.3.4.3
Retrieve All Property Set Definitions
68.3.4.4
Delete all Property Set Definitions
68.3.5
Property Set CRUD
68.3.5.1
Create Property Set
68.3.5.2
Retrieve Property Set
68.3.5.3
Update Property Set
68.3.5.4
Delete Property Set
68.3.5.5
Retrieve all Property Sets
68.3.5.6
Delete all Property Sets
68.3.6
Property CRUD
68.3.6.1
Create Property
68.3.6.2
Retrieve Property
68.3.6.3
Update Property
68.3.6.4
Delete Property
68.3.6.5
Delete all Properties
68.3.7
JSON Payload
68.3.8
Exceptions
68.3.9
Query Parameters
68.3.10
Search Expressions
68.3.10.1
Format
68.3.10.2
Supported Operators
68.3.10.3
Supported Attribute Names
68.4
Using the Conductor REST APIs
68.4.1
Using the Data Provider Management APIs
68.4.1.1
Getting a Collection of Data Providers (GET)
68.4.1.2
Getting a Single Data Provider's Metadata (GET)
68.4.1.3
Getting Information About a Data Provider Connection (GET)
68.4.1.4
Getting Information about an Executable Resource for a Data Provider and Connection (GET)
68.4.1.5
Getting Method Information for an Executable Resource for a Data Provider and Connection (GET)
68.4.1.6
Getting Entire Data Provider Information with Details Projection (GET)
68.4.2
Using the Function Provider Management APIs
68.4.2.1
Getting a Collection of Function Providers (GET)
68.4.2.2
Getting Metadata for a Single Function Provider (GET)
68.4.3
Using the Namespace Management APIs
68.4.3.1
Getting a Collection of Namespaces (GET)
68.4.3.2
Retrieving a Single Namespace (GET)
68.4.3.3
Creating a Namespace (POST)
68.4.3.4
Deleting a Namespace (DELETE)
68.4.4
Using the Scenario Management APIs
68.4.4.1
Getting a Collection of Scenarios (GET)
68.4.4.2
Retrieving a Single Scenario (GET)
68.4.4.3
Creating a Scenario (POST)
68.4.4.4
Updating a Scenario (PUT)
68.4.4.5
Deleting a Scenario (DELETE)
68.4.4.6
Execute a Scenario (POST)
68.5
Calling Personalization Client Services Using ELs
68.5.1
Calling Personalization Client Services from JSF Pages
68.5.2
Calling Personalization Client Services from JSP Pages
68.5.3
Personalization Context Object Method Reference
68.5.4
Enabling Single Sign-on
Part XII Completing Your WebCenter Portal Application
69
Securing Your WebCenter Portal: Framework Application
69.1
Introduction to WebCenter Portal: Framework Application Security
69.2
Creating an Application Role
69.3
Configuring ADF Security
69.3.1
Configuring ADF Security Settings
69.3.2
Automated Security Grants for WebCenter Portal Services
69.4
Using the Role Manager Task Flow
69.5
Using the Enterprise Role Member Task Flows
69.6
Using the Page Hierarchy Security Editor
69.6.1
Introduction to Page Hierarchy Security
69.6.1.1
Page Hierarchy Model
69.6.1.2
Page-level and Page Hierarchy Security
69.6.1.3
Inherited and Delegated Security
69.6.2
Building a Page Hierarchy
69.6.2.1
Adding a Page Hierarchy to a Navigation
69.6.2.2
Adding Pages to a Page Hierarchy
69.6.2.3
Delegating Security
69.7
Creating Login Pages and a Login Component
69.8
Creating a Login Portlet
69.9
Adding Portlets to a Login Page
69.10
Creating a Self-Registration Page
69.10.1
Integrating the Spaces Self-Registration Task Flow
69.10.2
Building a Custom Self-Registration Page
69.10.3
Creating a Self-Registration Invitation Page
69.11
Creating a Reset Password Page
69.12
Configuring Basic Authentication for Testing Portlet Personalization
69.13
Working with External Applications
69.13.1
Using External Applications
69.13.1.1
Secured Service Connections
69.13.1.2
Automated Single Sign-On
69.13.2
Supplying User Credentials
69.13.3
Managing External Applications
69.13.3.1
Adding External Application Task Flows
69.13.3.2
Working with External Applications in Oracle JDeveloper
69.13.3.3
Working with External Applications in Enterprise Manager
69.13.3.4
Working with External Applications Using WLST
69.14
Registering Custom Certificates with the Keystore
69.15
Overriding Inherited Security on Portlets and Customizable Components
69.15.1
Portlets Security
69.15.1.1
Defining Security at the Actions Category Level
69.15.1.2
Defining Security at the Actions Level
69.16
Identity Propagation Mechanisms
69.17
Securing Identity Propagation Through WSRP Producers with WS-Security
69.17.1
Identity Propagation Without WS-Security
69.17.2
Identity Propagation with WS-Security
69.17.3
Configuring Security for WSRP Portlets
69.18
Implementing PDK-Java Portlet Security
69.18.1
Assumptions
69.18.2
Introduction to PDK-Java Portlet Security Features
69.18.2.1
Identity Propagation
69.18.2.2
Authorization
69.18.2.3
Message-level Security
69.18.3
Single Sign-On
69.18.3.1
External Application
69.18.3.2
No Application Authentication
69.18.4
Portlet Security Managers
69.18.4.1
Implementing Your Own Security Manager
69.18.5
Message Authentication
69.18.6
User Input Escape
69.18.6.1
Default Container Encoding
69.18.6.2
Escape Methods
69.19
Troubleshooting Security Issues
69.19.1
Error Message Appears When Running a Page with a Content Repository Data Control Method Being Consumed
70
Deploying and Testing Your WebCenter Portal: Framework Application
70.1
Introduction to Oracle WebLogic Servers
70.2
Deploying a Framework Application to the Integrated WebLogic Server
70.2.1
Running a Framework Application in the Integrated WebLogic Server
70.2.2
Deploying a Framework Application to the Integrated WebLogic Server
70.3
Deploying a Framework Application to a WebLogic Managed Server
70.3.1
Deployment Roadmap
70.3.2
Packaging a Framework Application
70.3.2.1
Packaging Database Connections and Application Security
70.3.2.2
Creating Deployment Profiles
70.3.3
Preparing the Target Environment for Deployment
70.3.3.1
Creating and Provisioning an Oracle WebLogic Managed Server Instance
70.3.3.2
Creating and Registering the Metadata Service Repository
70.3.3.3
Configuring the Target Environment
70.3.3.4
Creating a WebLogic Managed Server Connection
70.3.4
Deploying a Framework application to a Managed Server
70.3.4.1
Deploying to a Managed Server Using Local Data Sources
70.3.4.2
Deploying to a Managed Server Using Global Data Sources
70.4
Transporting Customizations Between Environments
71
Building Multilanguage Portals
71.1
Language Support in ADF Faces Components
71.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
Sample pe_ext.xml File
B.2.2
adf-config.xml
B.2.2.1
page-editor-config
B.2.2.2
addon-panels
B.2.2.3
sandbox-namespaces
B.2.2.4
session-options-factory
B.2.2.5
rcv-config
B.2.2.6
customizableComponentsSecurity
B.2.2.7
mds-config
B.2.2.8
resource-string-editor
B.2.2.9
enable-source-view
B.2.2.10
enable-zoom
B.2.2.11
persistent-change-manager
B.2.2.12
taglib-config
B.2.2.13
security-config
B.2.2.14
Sample adf-config.xml File
B.2.3
adf-settings.xml
B.2.3.1
custComps-config
B.2.4
web.xml
B.2.4.1
CHANGE_PERSISTENCE Context Parameter
B.2.4.2
WebCenterComposerFilter
B.3
Composer Default Add-Ons and Property Panels
B.3.1
Default Add-Ons
B.3.2
Default Property Panels
B.4
Composer Help Topic IDs
B.5
Composer Components Style-Specific Properties
B.5.1
Style Selectors for Composer Components
B.5.1.1
Global Style Selectors
B.5.1.2
Composer Status Indicator Style Selectors
B.5.1.3
Page Customizable Style Selectors
B.5.1.4
Layout Customizable Style Selectors
B.5.1.5
Panel Customizable Style Selectors
B.5.1.6
Show Detail Frame Style Selectors
B.5.2
Style Attributes
B.6
Customizable Components (HTML) Properties
B.6.1
Panel Customizable (HTML) Component
B.6.2
Show Detail Frame (HTML) Component
B.6.3
Customizable Components (HTML) Style Selectors
B.6.3.1
Panel Customizable (HTML) Style Selectors
B.6.3.2
Show Detail Frame (HTML) Style Selectors
B.6.3.3
Property Keys
B.6.3.4
Icon Selectors
C
Resource Catalog Properties and Files
C.1
Configuration and Location of Catalog Definitions
C.2
XML Schema
C.3
Catalog Definition Attributes
C.3.1
catalogDefinition
C.3.2
folder
C.3.3
url
C.3.4
includeCatalog
C.3.5
component
C.3.6
customFolder
C.3.7
customContent
C.3.8
attributes
C.3.9
attribute
C.3.10
parameters
C.3.11
schema
C.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
Additional Portlet Configuration
E.1
OmniPortlet Configuration Tips
E.1.1
Configuring the OmniPortlet Producer to Access Data Outside a Firewall
E.1.2
Configuring the OmniPortlet Producer to Access Other Relational Databases
E.1.2.1
Installing DataDirect JDBC Drivers
E.1.2.2
Registering DataDirect Drivers in OmniPortlet
E.1.3
Configuring Portal Tools and Web Producers (Optional)
E.2
Web Clipping Portlet Configuration Tips
E.2.1
Web Clipping Repository Configuration
E.2.1.1
Using Oracle Metadata Services (MDS) as the Web Clipping Repository
E.2.1.2
Using an Oracle Database as the Web Clipping Repository
E.2.1.3
Configuring Web Clipping Repository in provider.xml
E.2.1.4
Attributes and Child Tags of the repositoryInfo Tag
E.2.2
HTTP or HTTPS Proxy Configuration
E.2.3
Web Clipping Producer Security
E.2.3.1
Adding Certificates for Trusted Sites
E.2.3.2
Configuring Oracle Advanced Security for the Web Clipping Producer
E.3
Hiding or Removing the WSRP Test Page
E.4
Setting Up a Preference Store
E.4.1
WSRP Producers
E.4.2
PDK-Java Producers
E.5
Portlet Preference Store Migration Utilities
E.5.1
JPS Portlet Preference Store - PersistenceMigrationTool
E.5.2
PDK-Java Portlet Preference Store - Migration and Upgrade Utilities
E.5.2.1
Migration Mode
E.5.2.2
Upgrade Mode
E.5.3
Web Clipping Repository
E.5.4
Moving a Producer
E.6
Exporting and Importing Portlet Producers at Design Time
E.6.1
Exporting Portlet Producers at Design Time
E.6.2
Importing Portlet Producers at Design Time
E.7
Migrating WebLogic Portal Portlets to WebCenter Portal
E.7.1
Migrating Java Portlets from WebLogic Portal to WebCenter Portal
E.7.2
Problems With Migrating WLP Portlets to a WebCenter Portal Application
E.7.3
General Tips for Migrating WLP Portlets to a WebCenter Portal Portlet Producer Application
F
Reuse of Oracle Portal Components
F.1
Introduction to Oracle Portal Components
F.2
Reusing Portlets
F.2.1
How to Reuse JSR 286 and Oracle PDK-Java Portlets
F.2.2
What You May Need to Know About Events
F.2.3
What You May Need to Know About Mobile Portlets
F.2.4
What You May Need to Know About the Portlet Chrome
F.2.5
What You May Need to Know About Personalizations and Customizations
F.2.6
What You May Need to Know About Oracle Portal System Resources
F.2.7
What You May Need to Know About Partner and External Applications
F.2.8
How to Use the Federated Portal Adapter to Reuse Database Portlets
F.2.9
What You May Need to Know About Troubleshooting the Federated Portal Adapter
F.2.9.1
On Registration
F.2.9.2
During Runtime
F.2.10
What You May Need to Know About Limitations of the Federated Portal Adapter
F.2.11
How to Reuse Oracle PDK-Java Producers from Earlier Oracle Application Server Versions
F.2.11.1
Consuming a Portlet from Oracle Portal
F.2.11.2
Redeploying PDK-Java Producers from Oracle Portal
F.3
Reusing Items
G
Expression Language Expressions
G.1
ELs Related to Applications
G.2
ELs Related to Security
G.3
ELs Related to General Settings
G.4
ELs Related to Application Resources
G.5
ELs Related to Navigation
G.6
ELs Related to WebCenter Portal Services
G.7
ELs Related to the Documents Service
G.8
ELs Related to the People Connections Service
G.9
ELs Related to the Personalization Service
H
Manually Migrating a Framework Application
H.1
When is Migration Required?
H.2
Anatomy of a Framework Application
H.3
Overview of the Migration Procedure
H.4
Preparing for the Migration
H.5
Editing Configuration Files
H.5.1
Updating DataBindings.cpx
H.5.2
Updating weblogic.xml
H.5.3
Updating faces-config.xml
H.5.4
Updating trinidad-config.xml
H.5.5
Updating web.xml
H.5.6
Updating adf-config.xml
H.6
Modifying the Project Configurations
H.7
Creating Portal-Specific Files
H.7.1
Create the Framework Application Folder Structure
H.7.2
Create a Resource Registry File
H.7.3
Create Default Resources
H.7.3.1
Default Navigation Model File
H.7.3.2
Navigation Registry File
H.7.3.3
Resource Catalog File
H.7.3.4
Resource Catalog Registry File
H.7.3.5
Page Template File
H.7.3.6
Navigation Renderer File
H.7.3.7
Page Hierarchy File
H.8
Applying Security Configurations
H.8.1
Configure ADF Security
H.8.2
Configure the jazn-data.xml File
I
WebCenter Portal Analytics Database Schema
I.1
Analytics Database Schema Overview
I.1.1
Analytics Database Model Overview
I.1.2
Analytics Database Table Overview
I.1.2.1
Sample SQL Query: Finding Table Names Associated with Specific Events
I.2
Analytics Fact Table Descriptions
I.2.1
ASFACT_WC_PAGECRE_0
I.2.2
ASFACT_WC_PAGEDEL_0
I.2.3
ASFACT_WC_PAGEEDI_0
I.2.4
ASFACT_WC_PAGETAG_0
I.2.5
ASFACT_WC_PAGEVIE_0
I.2.6
ASFACT_WC_DISCUSS_0
I.2.7
ASFACT_WC_DISCUSS_1
I.2.8
ASFACT_WC_DISCUSS_2
I.2.9
ASFACT_WC_DISCUSS_3
I.2.10
ASFACT_WC_DISCUSS_4
I.2.11
ASFACT_WC_DISCUSS_5
I.2.12
ASFACT_WC_DISCUSS_6
I.2.13
ASFACT_WC_DISCUSS_7
I.2.14
ASFACT_WC_DISCUSS_8
I.2.15
ASFACT_WC_DISCUSS_9
I.2.16
ASFACT_WC_DISCUSS_A
I.2.17
ASFACT_WC_DISCUSS_B
I.2.18
ASFACT_WC_DISCUSS_C
I.2.19
ASFACT_WC_DOCLIB__0
I.2.20
ASFACT_WC_DOCLIB__1
I.2.21
ASFACT_WC_DOCLIB__2
I.2.22
ASFACT_WC_DOCLIB__3
I.2.23
ASFACT_WC_DOCLIB__4
I.2.24
ASFACT_WC_DOCLIB__5
I.2.25
ASFACT_WC_DOCLIB__6
I.2.26
ASFACT_WC_DOCLIB__7
I.2.27
ASFACT_WC_EVENT_C_0
I.2.28
ASFACT_WC_EVENT_D_0
I.2.29
ASFACT_WC_EVENT_E_0
I.2.30
ASFACT_WC_GROUPSP_0
I.2.31
ASFACT_WC_GROUPSP_1
I.2.32
ASFACT_WC_GROUPSP_2
I.2.33
ASFACT_WC_GROUPSP_3
I.2.34
ASFACT_WC_LIST_CR_0
I.2.35
ASFACT_WC_LIST_DE_0
I.2.36
ASFACT_WC_LIST_ED_0
I.2.37
ASFACT_WC_LOGINS_0
I.2.38
ASFACT_WC_PEOPLEC_0
I.2.39
ASFACT_WC_PEOPLEC_1
I.2.40
ASFACT_WC_PEOPLEC_2
I.2.41
ASFACT_WC_PEOPLEC_3
I.2.42
ASFACT_WC_PORTLET_0
I.2.43
ASFACT_WC_SEARCHE_0
I.3
Analytics Dimension Table Descriptions
I.3.1
ASDIM_WC_APPLICA_0
I.3.2
ASDIM_WC_CLIENT__0
I.3.3
ASDIM_WC_DISCUSS_0
I.3.4
ASDIM_WC_DISCUSS_1
I.3.5
ASDIM_WC_DISCUSS_2
I.3.6
ASDIM_WC_DISCUSS_3
I.3.7
ASDIM_WC_DOCUMENT_0
I.3.8
ASDIM_WC_EVENTS_0
I.3.9
ASDIM_WC_GROUPSP_0
I.3.10
ASDIM_WC_LISTS_0
I.3.11
ASDIM_WC_PAGES_0
I.3.12
ASDIM_WC_PORTLET_0
I.3.13
ASDIM_WC_PORTLET_1
I.3.14
ASDIM_WC_PRODUCE_0
I.3.15
ASDIM_WC_REFERRE_0
I.3.16
ASDIM_WC_SEARCHE_0
I.3.17
ASDIM_WC_TAGS_0
I.3.18
ASDIM_WC_USER_AG_0
I.3.19
ASDIM_TIME
I.3.20
ASDIM_USERS
I.3.21
ASDIM_USERPROPERTIES
I.3.22
ASDIM_USERPROPERTYVALUES
I.4
Analytics System Table Descriptions
I.4.1
ASSYS_CONFIG
I.4.2
ASSYS_DIMENSIONPROPS
I.4.3
ASSYS_EVENTDIMENSIONS
I.4.4
ASSYS_EVENTFACTS
I.4.5
ASSYS_EVENTS
I.4.6
ASSYS_NAMESPACES
I.4.7
ASSYS_REPORTCOMPOSITION
I.4.8
ASSYS_REPORTGROUP
I.4.9
ASSYS_REPORTITEMS
I.4.10
ASSYS_REPORTITEMVALUES
I.4.11
ASSYS_REPORTS
I.5
Analytics User Properties
I.5.1
User Property Tables - Overview
I.5.2
User Property Dimension Tables
I.5.2.1
ASDIM_USERPROPERTIES
I.5.2.2
ASDIM_USERPROPERTYVALUES
I.5.3
Out-of-the-Box User Properties for WebCenter Portal
I.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.