Skip Headers
Oracle® Application Server Portal Developer's Guide
10g Release 2 (10.1.2)
Part No. B14134-01
  Go To Documentation Library
Home
Go To Product List
Solution Area
Go To Index
Index

Next
Next
 

Contents

List of Examples

List of Figures

List of Tables

Title and Copyright Information

Send Us Your Comments

Preface

Intended Audience
Documentation Accessibility
Structure
Related Documents
Conventions
Browser Recommendations

Part I Portlet Overview

1 Understanding Portlets

1.1 Introduction to Portal Development
1.2 Understanding Portlets
1.3 Portlet Anatomy
1.4 Portlet Resources
1.4.1 Out-of-the-Box Portlets
1.4.2 Other Sources of Pre-Built Portlets
1.4.3 Web Clipping
1.4.4 OmniPortlet
1.4.5 Portlet Builder
1.4.6 Programmatic Portlets
1.4.7 Deciding Which Tool to Use
1.5 Summary

Part II Portlet Technologies

2 Portlet Technologies Matrix

2.1 The Portlet Technologies Matrix
2.2 General Suitability
2.2.1 Web Clipping
2.2.1.1 Examples of portlets you can build using Web Clipping
2.2.2 OmniPortlet
2.2.2.1 Examples of portlets you can create with OmniPortlet
2.2.3 Java Portlets
2.2.3.1 Examples of portlets you can build using Java
2.2.4 Portlet Builder
2.2.4.1 Examples of portlets you can build using the Portlet Builder
2.2.5 PL/SQL Portlets
2.2.5.1 Examples of portlets you can build using PL/SQL
2.3 Expertise Required
2.3.1 Web Clipping
2.3.2 OmniPortlet
2.3.3 Java Portlets
2.3.4 Portlet Builder
2.3.5 PL/SQL Portlets
2.4 Deployment Type
2.4.1 Web Providers
2.4.2 WSRP Providers
2.4.3 Database Providers
2.4.4 Provider Architecture
2.5 Caching Style
2.5.1 Web Clipping, OmniPortlet, and Portlet Builder
2.5.2 Java Portlets
2.5.3 PL/SQL Portlets
2.6 Development Tool
2.6.1 Web Clipping, OmniPortlet, and Portlet Builder
2.6.2 Java Portlets
2.6.3 PL/SQL Portlets
2.7 Portlet Creation Style
2.7.1 OmniPortlet and Web Clipping
2.7.2 Java Portlets
2.7.3 Portlet Builder
2.7.4 PL/SQL Portlets
2.8 User Interface Flexibility
2.8.1 Web Clipping
2.8.2 OmniPortlet and Portlet Builder
2.8.3 Java Portlets and PL/SQL Portlets
2.9 Ability to Capture Content from Web Sites
2.9.1 Web Clipping
2.9.2 OmniPortlet
2.9.3 Java Portlets
2.9.4 PL/SQL Portlets
2.10 Ability to Render Content Inline
2.10.1 Web Clipping
2.10.2 OmniPortlet
2.10.3 Java Portlets
2.10.4 Portlet Builder
2.10.5 PL/SQL Portlets
2.11 Charting Capability
2.11.1 Web Clipping
2.11.2 OmniPortlet
2.11.3 Java Portlets
2.11.4 Portlet Builder
2.11.5 PL/SQL Portlets
2.12 Public Portlet Parameters Support
2.13 Private Portlet Parameter Support
2.13.1 OmniPortlet, Web Clipping, and Portlet Builder
2.13.2 Java Portlets and PL/SQL Portlets
2.14 Event Support
2.14.1 Web Clipping, OmniPortlet, and Java Portlets
2.14.2 Portlet Builder and PL/SQL Portlets
2.15 Ability to Hide and Show Portlets Based on User Privileges
2.15.1 Web Clipping and OmniPortlet
2.15.2 Java Portlets
2.15.3 Portlet Builder
2.15.4 PL/SQL Portlets
2.16 Multi-lingual Support
2.16.1 Web Clipping, OmniPortlet, Java Portlets, and PL/SQL Portlets
2.16.2 Portlet Builder
2.17 Pagination Support
2.17.1 OmniPortlet
2.17.2 Java Portlets and PL/SQL Portlets
2.17.3 Portlet Builder
2.18 Single Sign-On and External Application Integration
2.18.1 Web Clipping
2.18.2 OmniPortlet
2.18.3 Java Portlets
2.18.4 PL/SQL Portlets

Part III Building Portlets

3 Building Portlets with OmniPortlet

3.1 What is OmniPortlet?
3.1.1 Type
3.1.2 Source
3.1.2.1 Spreadsheet
3.1.2.2 SQL
3.1.2.3 XML
3.1.2.4 Web Service
3.1.2.5 Web Page
3.1.3 Filter
3.1.4 View
3.1.5 Layout
3.1.5.1 Tabular Layout
3.1.5.2 Chart Layout
3.1.5.3 News Layout
3.1.5.4 Bullet Layout
3.1.5.5 Form Layout
3.1.6 Edit Defaults mode
3.1.7 Events
3.2 Parameters and Events
3.2.1 Portlet Parameters and Events
3.2.2 Page Parameters and Events
3.3 Using OmniPortlet
3.3.1 Adding an OmniPortlet to a Portal Page
3.3.2 Defining a Portlet Based on a SQL Data Source
3.3.3 Defining a Portlet Based on a Web Service
3.3.4 Defining a Portlet Based on an Existing Web Page
3.3.5 Modifying the Layout of an Existing OmniPortlet
3.3.6 Using Parameters and Events
3.3.6.1 Adding Parameters to an Existing OmniPortlet
3.3.6.2 Adding Events to an Existing OmniPortlet
3.3.6.3 Relating Portlet Parameters and Events on a Page
3.4 Summary

4 Building Content-Based Portlets with Web Clipping

4.1 What Is Web Clipping?
4.2 Adding Web Page Content to a Portal Page
4.2.1 Adding a Web Clipping Portlet to a Page
4.2.2 Selecting a Section of a Web Page to Display in the Web Clipping Portlet
4.2.3 Setting Web Clipping Portlet Properties
4.3 Integrating Authenticated Web Content Using Single Sign-On
4.4 Example: Adding a Web Clipping That Users Can Customize
4.4.1 Exercise: Adding a Web Clipping Portlet to a Personal Page
4.4.2 Exercise: Selecting a Clipping in OTN
4.4.3 Exercise: Customizing a Web Clipping Portlet
4.5 Current Limitations for Web Clipping

5 Building Java Portlets

5.1 Guidelines for Creating Java Portlets
5.1.1 Shared Screen Mode (View Mode for JPS)
5.1.1.1 HTML Guidelines for Rendering Portlets
5.1.1.2 Cascading Style Sheet Guidelines for Rendering Portlets
5.1.2 Edit Mode (JPS and OracleAS Portal)
5.1.2.1 Guidelines for Edit Mode Options
5.1.2.2 Guidelines for Buttons in Edit Mode
5.1.2.3 Guidelines for Rendering Customization Values
5.1.3 Edit Defaults Mode (JPS and OracleAS Portal)
5.1.3.1 Guidelines for Edit Defaults Mode Options
5.1.3.2 Guidelines for Buttons in Edit Defaults Mode
5.1.3.3 Guidelines for Rendering Customization Values
5.1.4 Preview Mode (JPS and OracleAS Portal)
5.1.4.1 Guidelines for Preview Mode
5.1.5 Full Screen Mode (OracleAS Portal)
5.1.5.1 Guidelines for Full Screen Mode
5.1.6 Help Mode (JPS and OracleAS Portal)
5.1.6.1 Guidelines for Help Mode
5.1.7 About Mode (JPS and OracleAS Portal)
5.1.7.1 Guidelines for About Mode
5.1.8 Link Mode (OracleAS Portal)
5.1.8.1 Guidelines for Link Mode
5.2 Introduction to Java Portlet Specification and WSRP
5.2.1 The Relationship Between WSRP and JPS
5.3 Building JPS-Compliant Portlets with Oracle JDeveloper
5.3.1 Installing the Oracle JDeveloper Portal Add-In
5.3.2 Building JPS-compliant Portlets
5.3.2.1 Creating a Portlet
5.3.2.2 Adding Portlet Logic
5.3.2.3 Deploying Your Portlet to an Application Server
5.3.2.4 Registering and Viewing Your Portlet
5.4 Building PDK-Java Portlets with Oracle JDeveloper
5.4.1 Installing the Oracle JDeveloper Portal Add-In
5.4.2 Building PDK-Java Portlets
5.4.2.1 Creating a Portlet and Provider
5.4.2.2 Adding Portlet Logic
5.4.2.3 Validating Your Portlet and Provider
5.4.2.4 Deploying to an Application Server
5.4.2.5 Registering and Viewing Your Portlet
5.4.3 Adding Render Modes
5.4.3.1 Assumptions
5.4.3.2 Implementing Extra Show Modes
5.4.3.3 Updating the XML Provider Definition
5.4.3.4 Viewing the Portlet
5.4.4 Customizing Portlets
5.4.4.1 Assumptions
5.4.4.2 Implementing Customization for Edit and Edit Defaults Pages
5.4.4.3 Implementing Customization for Show Pages
5.4.4.4 Preference Information Within the XML Provider Definition
5.4.4.5 Viewing the Portlet
5.4.5 Passing Parameters and Submitting Events
5.4.5.1 Assumptions
5.4.5.2 Adding Parameters to Your Portlets
5.4.5.3 Submitting Events
5.4.6 Accessing Session Information
5.4.6.1 Assumptions
5.4.6.2 Implementing Session Storage
5.4.6.3 Viewing the Portlet
5.4.7 Implementing Portlet Security
5.4.7.1 Assumptions
5.4.7.2 Portlet Security Features
5.4.7.3 Single Sign-On
5.4.7.4 OracleAS Portal Access Control Lists (ACLs)
5.4.7.5 Portlet Security Managers
5.4.7.6 OracleAS Portal Server Security
5.4.7.7 Message Authentication
5.4.7.8 HTTPS Communication
5.4.7.9 LDAP (Oracle Internet Directory) Security
5.4.8 Controlling the Export/Import of Portlet Customizations
5.4.8.1 Import/Export Programming Interface
5.4.8.2 Exporting Customizations Example
5.4.8.3 Implementing Security for Export/Import
5.4.9 Enhancing Portlet Performance with Caching
5.4.9.1 Assumptions
5.4.9.2 Activating Caching
5.4.9.3 Adding Expiry-Based Caching
5.4.9.4 Adding Invalidation Based Caching
5.4.9.5 Adding Validation-Based Caching
5.4.10 Writing Multi-Lingual Portlets
5.4.10.1 Assumptions
5.4.10.2 Internationalizing Your Portlet
5.4.10.3 Viewing the Portlet
5.5 Building Struts Portlets with Oracle JDeveloper
5.5.1 OracleAS Portal and the Apache Struts Framework
5.5.1.1 Model View Controller Overview
5.5.1.2 Apache Struts Overview
5.5.1.3 OracleAS Portal Integration with Struts
5.5.1.4 Summary
5.5.2 Creating a Struts Portlet
5.5.2.1 Creating a Struts Portlet
5.5.2.2 Registering the Provider
5.5.2.3 Summary

6 Building PL/SQL Portlets

6.1 Guidelines for Creating PL/SQL Portlets
6.1.1 Portlet Show Modes
6.1.2 Recommended Portlet Procedures and Functions
6.2 Building PL/SQL Portlets with the PL/SQL Generator
6.2.1 Creating the Input XML File
6.2.2 Running the PL/SQL Generator
6.2.3 Publishing the Generated PL/SQL Portlet
6.2.3.1 Installing the Packages in the Database
6.2.3.2 Registering the Database Provider
6.2.3.3 Adding Your Portlet to a Page
6.3 Building PL/SQL Portlets Manually
6.3.1 Implementing the Portlet Package
6.3.2 Implementing the Provider Package
6.3.3 Adding Your Portlet to a Page
6.4 Implementing Information Storage
6.4.1 Implementing a Preference Store
6.4.1.1 Using a Preference Store
6.4.1.2 Creating and Accessing a Preference Store
6.4.2 Implementing a Session Store
6.4.2.1 Creating and Accessing a Session Store
6.5 Using Parameters
6.5.1 Passing Private Parameters
6.5.2 Passing Page Parameters and Mapping Public Portlet Parameters
6.5.3 Retrieving Parameter Values
6.6 Accessing Context Information
6.6.1 Using Context Information
6.6.2 Using wwctx_api to Obtain Context Information
6.7 Implementing Portlet Security
6.7.1 Using Security
6.7.1.1 Guidelines for Using the Security APIs
6.7.2 Coding Security
6.8 Improving Portlet Performance with Caching
6.8.1 Using Caching
6.8.1.1 Validation-Based Caching
6.8.1.2 Expiry-Based Caching
6.8.1.3 Invalidation-Based Caching
6.8.2 Configuring and Monitoring the Cache
6.8.3 Implementing Validation-Based Caching
6.8.4 Implementing Expiry-Based Caching
6.8.5 Implementing Invalidation-Based Caching
6.9 Implementing Error Handling
6.9.1 Using Error Handling
6.9.1.1 Guidelines for Error Handling
6.9.2 Adding Error Handling
6.10 Implementing Event Logging
6.10.1 Using Event Logging
6.10.1.1 Guidelines for Event Logging
6.10.2 Adding Event Logging
6.11 Writing Multi-Lingual Portlets
6.11.1 Using Multi-Lingual Support
6.11.2 Adding Multi-Lingual Support
6.11.2.1 Loading Language Strings
6.11.2.2 Retrieving Language Strings

Part IV Appendixes

A Building Portlets with the Portlet Builder

A.1 Using a Wizard to Build a Portlet
A.1.1 Creating a Schema in OracleAS Portal
A.1.1.1 Creating a Schema
A.1.1.2 Granting and Revoking Privileges on Database Objects
A.1.1.3 Enrolling the Schema in One or More Roles
A.1.2 Creating a Provider for Locally Built Portlets
A.1.3 Exposing a Provider
A.1.4 Creating Portlets Using OracleAS Portal Wizards
A.1.4.1 Building Portlets Declaratively
A.1.4.2 Building Forms Declaratively
A.1.4.3 Building Reports Declaratively
A.1.4.4 Building Forms and Reports against interMedia Rich Content
A.1.4.5 Building Charts Declaratively
A.1.4.6 Building Lists of Values Declaratively
A.2 Editing a Portlet Builder Component
A.3 Managing Portlets
A.3.1 Navigating to the Component Management Page
A.3.2 Renaming a Portlet
A.3.3 Deleting a Portlet
A.3.4 Copying a Portlet
A.3.5 Generating the PL/SQL Package for a Portlet
A.3.6 Viewing Source Code
A.3.6.1 Viewing the Package Spec and Body for a Portlet
A.3.6.2 Viewing the Call Interface for a Portlet
A.3.7 Managing Locks on Portlets
A.4 Managing Versions
A.5 Managing Portlet Security
A.5.1 Granting Portlet Access Privileges
A.5.1.1 Inheriting Portlet Access Privileges from a Provider
A.5.1.2 Granting Access Privileges to Individual Users
A.6 Performing Test Runs on a Portlet
A.6.1 Running a Component as a Full Page
A.6.2 Running a Component as a Portlet
A.6.3 Running a Component through the Customization Form
A.6.4 Running the Component as a Portlet through the Portlet Customization Form
A.6.5 Running in Batch Mode
A.6.5.1 Setting init.ora Parameters for Batch Jobs
A.6.5.2 Adding a Batch Button to an Existing Component
A.7 Referencing the OracleAS Portal Schema
A.8 Coding Additional Functionality
A.8.1 Using Bind Variables
A.8.2 Writing Event Handlers for Items on Forms
A.8.2.1 Writing a JavaScript Event Handler for an Item on a Form
A.8.2.2 Writing a PL/SQL Event Handler for a Button on a Form
A.8.3 Using PL/SQL to Get and Set Values in a Form
A.8.4 Using PL/SQL to Get or Set Cookies in a Form or Report
A.8.5 Defining Values through Page Parameters
A.9 Using Shared Components to Create a Look and Feel
A.9.1 Granting Access to Shared Components
A.9.2 Using JavaScript to Create Field- and Form-Level Validation
A.9.2.1 Guidelines for Writing Field- or Form-Level Validation JavaScript
A.9.2.2 Creating JavaScript under the Shared Components Provider
A.9.2.3 Adding JavaScript to a Form
A.9.3 Creating Color Definitions
A.9.4 Creating Image Definitions
A.9.5 Creating Font Definitions
A.9.6 Using User Interface Templates
A.9.6.1 Building a Structured User Interface Template
A.9.6.2 Building an Unstructured User Interface Template
A.9.6.3 Configuring a Page Group to Allow Use of UI Templates
A.9.6.4 Applying a UI Template to a Page
A.10 Example: Building Charts and Reports
A.10.1 Exercise: Building the Team Details Report
A.10.2 Exercise: Building the Average Salaries Chart
A.10.3 Exercise: Building the Team Bonuses Report

B Troubleshooting OracleAS Portal

B.1 Problems and Solutions
B.1.1 Java Portlet Wizard Not Available
B.1.2 Portlet Code Does Not Compile
B.1.3 Application Server Connection Test Fails
B.1.4 Provider Test Page Shows Error
B.1.5 Provider Registration Fails
B.1.6 Portlet Does Not Display on Page
B.1.7 After Initial Successful Display, Portlet Does Not Display on Page
B.1.8 Other Portlet Problems
B.1.9 Provider Group Not Created
B.1.10 URL Portlet Does Not Work
B.2 Diagnosing OmniPortlet Problems
B.2.1 Chart Not Rendered on UNIX
B.2.2 Unable to Access HTTPS Site
B.2.3 OmniPortlet Cannot Access the Specified URL
B.2.4 Portlet Content Is Not Refreshed
B.2.5 Edit Defaults Changes are Not Reflected in the Customized Portlet
B.3 Diagnosing Web Clipping Problems
B.3.1 Checking the Status of the Provider with the Test Page
B.3.2 Solving Problems with Connections
B.3.2.1 Configuring Proxy Servers
B.3.2.2 Proxy Authentication
B.3.3 Setting Logging Levels
B.4 Need More Help?

Glossary

Index