# Oracle9iAS Portal Developer Kit (PDK)
Provider registration and the Portlet Repository

Last Update: | Aug 04, 2003
Status: | Production
Version: | Any PDK Release

## Contents

> How to register a provider

> How to use the API - register_provider

> How to call the API - register_provider

> Examples of the API - register_provider

> How to add portlets to the portlet repository

> How to update the portlet repository

> Where to find more information...

## How to register a provider

> Use API: register_provider
> Package: wwpro_api_provider_registry

Before you can register an existing provider with Oracle9iAS Portal, it must be installed. For details on how to do this, see Installing a provider package and registering as a portlet provider.

Note: Alternatively, register a provider via the Oracle9iAS Portal UI. Click Register a Portlet Provider (in Provider portlet).

###

## How to use the API - wwpro_api_provider_registry.register_provider

To register a provider, this API requires wwpro_api_provider_registry.provider_record as an input parameter. For more details, see provider_record - record structure and table.

When the provider record is passed to register_provider not all the fields are required. This table indicates which fields are required for both types of provider: Web and database. If a field is not applicable for a particular type of provider, it is shown as N/A.

Record Field | Required for Web providers | Required for database providers | Comments
name | Yes | Yes |
implementation_style | Yes | Yes |
implementation_owner | N/A | Yes |
implementation_name | N/A | Yes | When registering a database provider the implementation package of the provider must be valid for the registration to be successful.
login_frequency | Yes | Yes |
http_app_type | Yes | N/A | Valid values: wwpro_api_provider_registry.HTTP_APP_TYPE_EXTERNAL - for external application web providers wwpro_api_provider_registry.HTTP_APP_TYPE_PORTAL - for regular web providers
http_url | Yes | N/A |
require_proxy | Yes | N/A |
encryption_key | Yes (provider_key is not null) N/A (provider_key is null) | Yes (provider_key is not null) N/A (provider_key is null) |

## How to call the API - wwpro_api_provider_registry.register_provider

As it is a secure API, a security check determines whether the Portal user calling wwpro_api_provider_registry.register_provider has the necessary privilege to execute it, i.e. at least wwsec_api.ANYPROVIDER_PUBLISH is required.

If the user has sufficient privileges to use this API you can set the Portal session using an API called wwctx_api.set_context.

Note: If the database user of the SQLPLUS session is the Portal schema owner, then by default, the Portal user is the Portal schema owner (unless wwctx_api.set_context is called with a different user). The Portal schema owner already has the necessary privilege to execute this API.

## Examples of the API - wwpro_api_provider.register_provider

These Oracle9iAS Portal Developer Kit (PDK) articles/samples describe the use of this API:

> PL/SQL API Reference - register_provider function
> Database Services Portlet
> Flights of Fancy Partner Application Portlet
> Caching Portlet

## How to add portlets to the portlet repository

When a provider is registered with Oracle9iAS Portal using wwpro_api_provider_registry.register_provider the portlet repository is automatically updated to include the portlets of the newly registered provider.

## How to update the portlet repository

When the list of portlets for a provider change, the portlet repository needs to be updated to reflect the change. There are two ways to do this:

- Refresh the entire portlet repository

  Using this method all registered providers are refreshed. You can use a PL/SQL API, or the Oracle9iAS Portal UI:

  PL/SQL API - Use wwpro_api_provider_registry.refresh_portlet_repository

  Oracle9iAS Portal UI - Click Refresh Portlet Repository (in Portlet Repository portlet).

- Refresh the provider

  Individual providers can be refreshed via the Oracle9iAS Portal UI. Choose the Refresh Provider button (Edit Provider screen or Portlet Repository portlet).

  There is no API that allows you to refresh individual providers.

## Where to find more information...

These Oracle9iAS Portal Developer Kit (PDK) documents contain information about provider registration and the portlet repository:

> Understanding how Providers, Portlets, Portal Pages and the Portlet Repository Interact
> PL/SQL API Reference - refresh_portlet_repository procedure

Revision History: |
Revision No | Last Update
1.0 | Aug 04, 2003

Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores, CA 94065, USA http://www.oracle.com/ | Worldwide Inquiries: 1-800-ORACLE1 Fax 650.506.7200 | Copyright and Corporate Info