Oracle9iAS Portal Developer Kit
Understanding the PDK Runtime for URL-Based Portlets

PDK Release 2 (9.0.2 and later) - URL-Based

A web provider is one that is written as a web application. It is installed and hosted in a web server and is remote from Oracle9iAS Portal. Previously, a web provider required development in Java, Java Servlets, and Java Server Pages. Now, with the addition of URL-based provider runtime, a web provider can manage a set of portlets in any web-enabled language.

By enabling the creation of URL-based portlets, the PDK allows you to create portlets in any programming language. The only requirement is that your application be accessible through a URL. To do this, the PDK offers a URL-based provider runtime that virtually eliminates programming requirements to create portlets. This article describes the PDK runtime as it relates to rendering URL-based portlets.

The PDK runtime for URL-based portlets extends classes from the current PDK runtime to adapt to the new URL rendering capabilities. This runtime comprises the following classes: URLProviderInstance, URLProviderDefinition, URLPortletDefinition, URLSecurityManager, URLRenderer, XMLFilter and HtmlFilter.

URLProviderInstance

This class extends the class DefaultProviderInstance. This class represents the provider for all URL-based portlets rendered using the PDK and replaces the provider class within the provider.xml file. This class performs the following tasks:

- Parses the extended XML tags at the portlet and provider level.

- Creates and sets cookies in session storage by logging into the Login URL.

- Manages a set of portlets.

- Creates an instance for each portlet specified in the provider.xml file.

- Creates an instance for each render mode specified and associates it with the value of its portlet tag.

URLProviderDefinition

This container class is used to maintain provider meta data information (currently portlets under this provider).

URLPortletDefinition

This class extends the class DefaultPortletDefinition. It holds portlet meta data information which can be used to specify the type of portlet and its access privileges.

URLSecurityManager

This class implements the interface defined by PortletSecurityManager. This class manages portlet access and security. The manager is responsible for authorizing (but not authenticating) the user, and checks whether the user is authorized to use this portlet.

URLRenderer

This class extends the abstract class defined by BaseManagedRenderer. The URLRenderer allows you to use the URL to render the content of a request. The URLRenderer takes advantage of the URLs specified in the provider.xml file to render pages for show mode and edit mode. It accesses the values from within the render tags: pageUrl, urlContentType, and useAuthlinks etc.

XMLFilter

This class extends an abstract class called BaseContentFilter. This filter converts the HTML contents received from a URL into XHTML. Then applies the stylesheet specified in the provider.xml file. The stylesheet provided as part of the PDK filters all unnecessary HTML tags and makes the existing HTML more appropriate for HTML table cells in Oracle9iAS Portal format.

HtmlFilter

This class extends an abstract class called BaseContentFilter. This filter filters the HTML content parsed and verifies that the content is Oracle9iAS Portal compliant.

DefaultXhtml.xsl

DefaultXhtml.xsl is a default stylesheet that converts XHTML to Oracle9iAS Portal compliant XHTML. It also performs most of the necessary screen scraping and filtering. This stylesheet can be extended to apply any other screen scrapping directives that are required.

For more information about the provider.xml for URL-based portlets, refer to the following article:

Understanding the provider.xml for URL-Based Portlets

Revision History:

- January 2002.