Overview | Package | Object Type | Deprecated | Index | Help
| Oracle9iAS Portal PL/SQL API Reference - 9.0.2.6
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES
SUMMARY: EXCEPTION | TYPE | CONSTANT | VARIABLE | FUNCTION/PROCEDURE | DETAIL: EXCEPTION | TYPE | CONSTANT | VARIABLE | FUNCTION/PROCEDURE

## Package wwpro_api_provider_registry

This package contains methods to register and deregister providers and to do related tasks. Note: Register and Edit functions are secure. Users must have All Provider Manage or All Provider Publish rights to use them.

Scope:
  Public
Since:
  Oracle Portal 3.0.6.6.5

Type Summary
`node_provider_rec_table` A table structure containing a list of node_provider_records. | `table`
`node_provider_record` A record structure containing properties of a provider and its corresponding node. | `record`
`provider_id_table` A table structure containing a list of provider IDs. | `table`
`provider_record` A record structure containing the details for a provider. | `record`
`provider_table` A table structure containing a list of provider_records. | `table`

Constant Summary
`DATABASE_IMPL` | `integer`
`ENABLE_DISTRIBUTION_NO` Deprecated. as of Oracle9iAS Portal 9.0.2 | `number`
`ENABLE_DISTRIBUTION_YES` Deprecated. as of Oracle9iAS Portal 9.0.2 | `number`
`HTTP_APP_TYPE_EXTERNAL` | `varchar2(30)`
`HTTP_APP_TYPE_PORTAL` | `varchar2(30)`
`HTTP_IMPL` | `integer`
`IS_PROV_OFF_NO` | `number`
`IS_PROV_OFF_YES` | `number`
`LOGIN_FREQUENCY_ALWAYS` | `char(1)`
`LOGIN_FREQUENCY_NEVER` | `char(1)`
`LOGIN_FREQUENCY_ONCE` | `char(1)`
`LOGIN_FREQUENCY_PUBLIC` | `char(1)`
`PLSQL_IMPL` | `integer`
`RAISE_PROVIDER_EXCPT` Do not suppress exception caused by calls to provider functions. | `integer`
`REQ_PROXY_NO` | `number`
`REQ_PROXY_YES` | `number`
`REQ_SESS_DATA_NO` | `number`
`REQ_SESS_DATA_YES` | `number`
`SAME_COOKIE_DOMAIN_NO` | `number`
`SAME_COOKIE_DOMAIN_YES` | `number`
`SUPPRESS_PROVIDER_EXCPT` Suppress exception caused by calls to provider functions. | `integer`
`WEB_IMPL` | `integer`

Function/Procedure Summary
`add_portlet_to_repository` Adds portlets to the portlet repository. | ``
`deregister_provider` Removes a provider's registration record from Oracle Portal, given the provider ID. | ``
`deregister_provider` Removes a provider's registration record from Oracle Portal, given the name of the schema that owns the provider. | ``
`edit_provider` Updates portlet provider settings for a registered provider. | ``
`find_provider` Returns a provider record in the language requested, given a provider ID. | `node_provider_record`
`find_provider` Returns a provider record in the language requested, given a provider name. | `node_provider_record`
`get_encryption_key` Returns the shared key for a Web provider. | `varchar2`
`get_provider` Returns a provider record, in the language requested, if available, and raises an exception if no provider is found. | `node_provider_record`
`get_provider_list` Returns a provider name or a list of all portlet providers that match a specified name. | `node_provider_rec_table`
`is_null` Determines if a provider record has content. | `boolean`
`node_provider_to_provider` Convert a node_provider_record to a provider_record. | `provider_record`
`print_provider` Prints, as dbms_output, the specified provider information. | ``
`provider_exist` Determines whether a provider of a particular name exists. | `boolean`
`refresh_portlet_repository` Refreshes the portlet repository. | ``
`register_provider` Registers a portlet provider and returns the provider ID. | `integer`
`remove_portlet_from_repository` Deletes portlets from the portlet repository. | ``

Type Detail

### node_provider_rec_table

    type node_provider_rec_table is table of node_provider_record index by binary_integer

  A table structure containing a list of node_provider_records. A provider_table structure is returned after calling the provider listing functions.

### node_provider_record

    type node_provider_record is record (
        id number(9),
        name varchar2(200),
        display_name long,
        node_id number,
        timeout number,
        timeout_msg_id number,
        timeout_msg long,
        implementation_style number,
        implementation_owner varchar2(30),
        implementation_name varchar2(2000),
        language varchar2(30),
        enable_distribution boolean,
        login_frequency char(1),
        http_url varchar2(1024),
        same_cookie_domain boolean,
        require_proxy boolean,
        require_session_data boolean,
        is_offline boolean,
        http_app_type varchar2(30),
        http_app_id varchar2(80),
        provider_key varchar2(80),
        node_name varchar2(200),
        dad_name varchar2(64),
        db_link varchar2(120),
        local boolean,
        http_listener_host varchar2(120),
        http_listener_port number,
        created_on date,
        created_by varchar2(256),
        last_updated_on date,
        last_updated_by varchar2(256),
        service_id varchar2(1000),
        midtier_proxy_hostname varchar2(2000),
        midtier_proxy_portnumber number,
        dbtier_proxy_hostname varchar2(2000),
        dbtier_proxy_portnumber number
    )

  A record structure containing properties of a provider and its corresponding node.

  Fields:
    `id` - this identifier for the provider is allocated by Oracle Portal and is unique for each provider and also across a distributed Oracle Portal system. Note that a null value is not permitted.
    `name` - a name for the provider. This provider name is not translated, can be used during searching, and is presented in the UI when Oracle Portal is required to list providers. Note that the name returned is not sensitive to the language and a null value is not permitted.
    `display_name` - a translatable string for the provider name. This string is sensitive to the language parameter. Oracle Portal can use this name when displaying provider information.
    `node_id` - a unique identifier for the node (Oracle Portal installation). Note that the node ID is unique across distributed provider nodes.
    `timeout` - the default number of seconds that the Oracle Portal should try to connect to this provider before displaying a timeout message. Note that Oracle Portal first attempts to retrieve a timeout value from the portlet, then from the provider. If both attempts fail, it uses the Oracle Portal default timeout value.
    `timeout_msg_id` - the NLS message ID for the provider's timeout message. Note that Oracle Portal first attempts to retrieve a timeout message ID from the portlet, then from the provider. If both attempts fail, it uses the Oracle Portal default timeout message ID.
    `timeout_msg` - the message string to be presented when the execution timeout occurs. Oracle Portal first attempts to retrieve a timeout message from the portlet, then from the provider. If both attempts fail, it uses the Oracle Portal default timeout message. Note that if the timeout_msg_id is null, this string is added to the NLS tables and its NLS ID is used as the value for the timeout_msg_id.
    `implementation_style` - the implementation style used by the provider. The supported styles are database providers and Web providers. Database providers are represented by wwpro_api_provider_registry.DATABASE_IMPL and wwpro_api_provider_registry.PLSQL_ IMPL. Web providers are represented by wwpro_api_provider_registry.WEB_IMPL and wwpro_api_provider_registry.HTTP_IMPL. Note that a null value is not permitted.
    `implementation_owner` - the database schema that contains the provider's implementation packages. This field is only valid for database providers. Note that a null value is not permitted.
    `implementation_name` - the name of the provider's implementation package. If the implementation_style is PLSQL_IMPL, this represents the name of the PL/SQL package that implements the provider methods. This field is only valid for database providers. Note that a null value is not permitted.
    `language` - the language in which the translatable strings are returned. Note that a null value is not permitted.
    `enable_distribution` - a flag that indicates if a provider can be registered on remote nodes. Note that an enable_distribution value for providers on remote nodes is always TRUE.
    `login_frequency` - indicates how often Oracle Portal should login with the provider. For database providers, this flag determines the frequency of calls made to the do_login API. For Web providers, this flag determines the frequency of calls made to initSession. Note that:
    wwpro_api_provider_registry.LOGIN_ FREQUENCY_ALWAYS - Oracle Portal performs a login operation every time a portlet, from this provider, is requested to be viewed.
    wwpro_api_provider_ registry.LOGIN_FREQUENCY_ONCE - Oracle Portal performs a login operation only the first time a portlet, from this provider, is requested to be viewed in the same user session.
    wwpro_api_ provider_registry.LOGIN_FREQUENCY_NEVER - Oracle Portal does not perform any login with the provider.
    (Web providers only) wwpro_api_provider_ registry.LOGIN_FREQUENCY_PUBLIC - indicates that the initSession method is not called. In addition, no user information is passed to any of the provider calls.
    `http_url` - the URL Oracle Portal uses to make calls to the Web provider, as defined during provider registration. This field is only valid for Web providers, i.e. the implementation_style is HTTP_IMPL (or WEB_IMPL).
    `same_cookie_domain` - indicates whether the Web provider is in the same cookie domain as Oracle Portal.
    `require_proxy` - a flag that indicates if a proxy server is required to make a URL connection. This field is only valid for Web providers. Note that a proxy server provides access to content from servers outside a firewall. If a proxy server is required, you can identify the proxy server in the Services portlet by clicking Global Settings.
    `require_session_data` - a flag that indicates whether session information is to be sent to the provider. This field is only valid for Web providers.
    `is_offline` - a flag that indicates whether the provider is off-line. Note that a provider must be online during registration. Therefore, if is_offline is set to 'true' an will error occur.
    `http_app_type` - a value provided by one of two constants that indicates if the Web provider being registered requires its own ID for the user to be communicated to it from the Single Sign-On Server or the Oracle Portal's ID for the user. Valid http_app_type values are: EXTERNAL_SECURED - the Web provider requires its own ID for the user. PORTAL - the Web provider accepts the Oracle Portal's ID for the user.
    `http_app_id` - the ID used to register the external application with the Single Sign-On Server. Note that if the http_app_type is EXTERNAL_SECURED, this field stores the external application ID. Otherwise this field is null.
    `provider_key` - a key passed to the Web provider. The provider uses it to look up and track use of the provider's encryption key, and to keep track of Oracle Portal using their system.
    `node_name` - the unique name for the node that the provider belongs to
    `dad_name` - for a provider that exists on a remote node, this is the remote Oracle Portal's DAD
    `db_link` - a unique name for the database link
    `local` - a flag that indicates if the provider exists on the local node or on a remote node
    `http_listener_host` - not used. Oracle Portal 9.0.2 or later.
    `http_listener_port` - not used. Oracle Portal 9.0.2 or later.
    `created_on` - the date that the provider was registered with the Portal installation. Note that this value is filled in by functions returning a provider_record.
    `created_by` - the user who registered this provider with the Portal installation. Note that this value is filled in by functions returning a provider_record.
    `last_updated_on` - the date this provider was last updated in Oracle Portal. Note that this value is filled in by functions returning a provider_record.
    `last_updated_by` - the user who last updated the provider. Note that this value is filled in by functions returning a provider_record.
    `service_id` - the service ID for the provider. This uniquely identifies the provider within a portal when the provider is accessed via the Federated Portal Adapter.
    `midtier_proxy_hostname` - the host name of the proxy to be used for calls to the provider originating from the middle tier
    `midtier_proxy_portnumber` - the port number of the proxy to be used for calls to the provider originating from the middle tier
    `dbtier_proxy_hostname` - the host name of the proxy to be used for calls to the provider originating from the database
    `dbtier_proxy_portnumber` - the port number of the proxy to be used for calls to the provider originating from the database.
  Since:
    Oracle Portal 3.0.6.6.5

### provider_id_table

    type provider_id_table is table of number index by binary_integer

  A table structure containing a list of provider IDs.

### provider_record

    type provider_record is record (
        id number(9),
        name varchar2(200),
        display_name long,
        node_id number,
        timeout number,
        timeout_msg_id number,
        timeout_msg long,
        implementation_style number,
        implementation_owner varchar2(30),
        implementation_name varchar2(2000),
        language varchar2(30),
        enable_distribution boolean,
        login_frequency char(1),
        http_url varchar2(1024),
        same_cookie_domain boolean,
        require_proxy boolean,
        require_session_data boolean,
        is_offline boolean,
        http_app_type varchar2(30),
        http_app_id varchar2(80),
        provider_key varchar2(80),
        encryption_key varchar2(80),
        existing_provider_id number(9),
        created_on date,
        created_by varchar2(256),
        last_updated_on date,
        last_updated_by varchar2(256),
        provider_group_id varchar2(32),
        service_id varchar2(1000),
        midtier_proxy_hostname varchar2(2000),
        midtier_proxy_portnumber number,
        dbtier_proxy_hostname varchar2(2000),
        dbtier_proxy_portnumber number
    )

  A record structure containing the details for a provider. This record type is used when registering or editing a provider.

  Fields:
    `id` - this identifier for the provider is allocated by Oracle Portal and is unique for each provider. Note that a null value is not permitted.
    `name` - a name for the provider. This provider name is not translated, can be used during searching, and is presented in the UI when Oracle Portal is required to list providers. Note that the name returned is not sensitive to the language and a null value is not permitted.
    `display_name` - a translatable string for the provider name. This string is sensitive to the language parameter. Oracle Portal can use this name when displaying provider information.
    `node_id` - a unique identifier for the Oracle Portal installation. Note that only the local node ID can be passed. Also, note that if null, node_id defaults to the local installation.
    `timeout` - number the default number of seconds that Oracle Portal should try to connect to this provider before displaying the timeout message. Note that Oracle Portal first tries to retrieve a timeout value from the portlet, then from the provider. If both attempts fail, it uses the Oracle Portal default timeout value.
    `timeout_msg_id` - the NLS message ID for the provider's timeout message. Note that Oracle Portal first tries to retrieve a timeout message ID from the portlet, then from the provider. If both attempts fail, it uses the Oracle Portal default timeout message ID.
    `timeout_msg` - the message string to be presented when the execution timeout occurs. The timeout message may not contain mobile (mobileMXL) or desktop (HTML) markup. Note that if the timeout_msg_id is null, this string is added to the NLS tables and its NLS ID is used as the value for the timeout_msg_id.
    `implementation_style` - the implementation style used by the provider. Note that a null value is not permitted.
    `implementation_owner` - the database schema that contains the provider's implementation packages. This field is only valid for database providers. Note that a null value is not permitted.
    `implementation_name` - the name of the provider's implementation package. If the implementation_style is PLSQL_IMPL, this represents the name of the PL/SQL package that implements the provider methods. This field is only valid for database providers. Note that a null value is not permitted.
    `language` - a constant that specifies the language for the returned translatable strings. Note that a null value is not permitted.
    `enable_distribution` - not used, Oracle9iAS Portal 9.0.2 or later
    `login_frequency` - how often Oracle Portal should login with the provider. For database providers, this flag determines the frequency of calls made to the do_login API. For Web providers, this flag determines the frequency of calls made to initSession. The valid values for this field are the Provider Login Frequency constants.
    `http_url` - the URL Oracle Portal uses to make calls to the Web provider, as defined during provider registration. This field is only valid for Web providers, i.e. the implementation_style is HTTP_IMPL (or WEB_IMPL).
    `same_cookie_domain` - indicates whether the Web provider is in the same cookie domain as Oracle Portal.
    `require_proxy` - indicates if a proxy server is required to make a URL connection. This field is only valid for Web providers. Note that a proxy server provides access to content from servers outside a firewall. If a proxy server is required, you can identify the proxy server in the Services portlet by clicking Global Settings.
    `require_session_data` - indicates whether session information is to be sent to the provider. This field is only valid for Web providers.
    `is_offline` - indicates whether the provider is off-line. Note that a provider must be online during registration. Therefore, if is_offline is set to 'true' an will error occur.
    `http_app_type` - a value provided by one of two constants that indicates if the Web provider being registered requires its own ID for the user to be communicated to it from the Single Sign-On Server or the Oracle Portal's ID for the user. Valid http_app_type values are: EXTERNAL_SECURED - the Web provider requires its own ID for the user, and PORTAL - the Web provider accepts the Oracle Portal's ID for the user.
    `http_app_id` - the ID used to register the external application with the Single Sign-On Server. Note that if the http_app_type is EXTERNAL_SECURED, this field stores the external application ID, otherwise this field is null.
    `existing_provider_id` - The current provider ID. Use this value with the edit_provider procedure to identify the provider that will have its ID changed. When existing_provider_id contains an ID, edit_provider updates the provider ID to match the value in the ID field of the provider_record. When existing_provider_id is null, the value in the provider_record ID field is used to determine which provider should be updated.
    `provider_key` - a key passed to the Web provider. The provider uses it to look up and track the use of the provider's encryption key, and to track Oracle Portal when using their system.
    `encryption_key` - an encryption key that is shared with the Web provider. This key is used to encrypt and decrypt data communicated to the provider. Note that if an encryption key value exists, a provider key value also must exist.
    `created_on` - the date the provider was registered with Oracle Portal. Note that this value is used by functions returning a provider_record.
    `created_by` - the user who registered this provider with Oracle Portal. Note that this value is filled in by functions returning a provider_record.
    `last_updated_on` - the date the provider was last updated by Oracle Portal. Note that this value is used by functions returning a provider_record.
    `last_updated_by` - the user who last updated the provider. Note that this value is filled in by functions returning a provider_record.
    `provider_group_id` - the ID of the provider group (if any) to which this provider belongs.
    `service_id` - the service ID for the provider. This uniquely identifies the provider within a portal when the provider is accessed via the Federated Portal Adapter.
    `midtier_proxy_hostname` - the host name of the proxy to be used for calls to the provider originating from the middle tier
    `midtier_proxy_portnumber` - the port number of the proxy to be used for calls to the provider originating from the middle tier
    `dbtier_proxy_hostname` - the host name of the proxy to be used for calls to the provider originating from the database
    `dbtier_proxy_portnumber` - the port number of the proxy to be used for calls to the provider originating from the database
  Since:
    Oracle Portal 3.0.6.6.5

### provider_table

    type provider_table is table of provider_record index by binary_integer

  A table structure containing a list of provider_records.

Constant Detail

### DATABASE_IMPL

    DATABASE_IMPL constant integer := 2

### ENABLE_DISTRIBUTION_NO

    ENABLE_DISTRIBUTION_NO constant number := 0

  Deprecated. as of Oracle9iAS Portal 9.0.2

### ENABLE_DISTRIBUTION_YES

    ENABLE_DISTRIBUTION_YES constant number := 1

  Deprecated. as of Oracle9iAS Portal 9.0.2

### HTTP_APP_TYPE_EXTERNAL

    HTTP_APP_TYPE_EXTERNAL constant varchar2(30) := 'EXTERNAL_SECURED'

### HTTP_APP_TYPE_PORTAL

    HTTP_APP_TYPE_PORTAL constant varchar2(30) := 'PORTAL'

### HTTP_IMPL

    HTTP_IMPL constant integer := 3

### IS_PROV_OFF_NO

    IS_PROV_OFF_NO constant number := 0

### IS_PROV_OFF_YES

    IS_PROV_OFF_YES constant number := 1

### LOGIN_FREQUENCY_ALWAYS

    LOGIN_FREQUENCY_ALWAYS constant char(1) := 'A'

### LOGIN_FREQUENCY_NEVER

    LOGIN_FREQUENCY_NEVER constant char(1) := 'N'

### LOGIN_FREQUENCY_ONCE

    LOGIN_FREQUENCY_ONCE constant char(1) := 'O'

### LOGIN_FREQUENCY_PUBLIC

    LOGIN_FREQUENCY_PUBLIC constant char(1) := 'P'

### PLSQL_IMPL

    PLSQL_IMPL constant integer := 2

### RAISE_PROVIDER_EXCPT

    RAISE_PROVIDER_EXCPT constant integer := 0

  Do not suppress exception caused by calls to provider functions.

### REQ_PROXY_NO

    REQ_PROXY_NO constant number := 0

### REQ_PROXY_YES

    REQ_PROXY_YES constant number := 1

### REQ_SESS_DATA_NO

    REQ_SESS_DATA_NO constant number := 0

### REQ_SESS_DATA_YES

    REQ_SESS_DATA_YES constant number := 1

### SAME_COOKIE_DOMAIN_NO

    SAME_COOKIE_DOMAIN_NO constant number := 0

### SAME_COOKIE_DOMAIN_YES

    SAME_COOKIE_DOMAIN_YES constant number := 1

### SUPPRESS_PROVIDER_EXCPT

    SUPPRESS_PROVIDER_EXCPT constant integer := 1

  Suppress exception caused by calls to provider functions.

### WEB_IMPL

    WEB_IMPL constant integer := 3

Function/Procedure Detail

### add_portlet_to_repository

    procedure add_portlet_to_repository(
        p_provider_id in integer,
        p_portlet_id in integer
    )

  Adds portlets to the portlet repository. It can be used by portlet providers to dynamically add portlets.

  Note: A user must have at least the Manage Items privilege on the provider folder within the portlet repository to execute this function.

  Example

         wwpro_api_provider_registry.add_portlet_to_repository
         (
               p_provider_id => 5,
               p_portlet_id  => 22
         );

  Parameters:
    `p_provider_id` - a unique identifier for a provider that is allocated by Oracle Portal. Note that a null value is not permitted.
    `p_portlet_id` - a unique identifier that locates the portlet within the provider domain. Note that a null value is not permitted.
  Exceptions:
    `wwpro_api_provider.ADD_PORTLET_EXCEPTION` - if an unexpected exception occurs
  Since:
    Oracle Portal 3.0.8

### deregister_provider

    procedure deregister_provider(
        p_id in integer,
        p_supress_exception in integer default raise_provider_excpt
    )

  Removes a provider's registration record from Oracle Portal, given the provider ID. Call this procedure to remove one or more providers' registration records from the provider registry, given a provider ID. When called, deregister_provider calls the provider's deregister procedure. The portlet repository is updated.

  Notes:

  When the implementation type is PL/SQL, this overloaded API does not remove the provider schema or provider implementation packages. The caller must remove these separately, if required.

  Providers may also be removed using the deregister_provider (owner) procedure.

  Providers marked as 'non-deleteable' are not removed.

  Deleting a provider disables all portlet instances for that provider. To reinstate a deleted provider, use the wwpro_api_provider_registry.register_provider function with the original provider ID. The provider's disabled portlets are then restored.

  A user must have the All Provider Manage or All Provider Publish privilege to de-register a provider.

  Example

         l_provider_id := 92837;
         wwpro_api_provider_registry.deregister_provider
         (
            p_id                => l_provider_id,
            p_supress_exception => wwpro_api_provider_registry
                                      .SUPPRESS_PROVIDER_EXCPT
         );

  Parameters:
    `p_id` - a unique identifier for the portlet provider to be deregistered. Note that a null value is not permitted.
    `p_supress_exception` - indicates whether to suppress failure of provider deregister function. If this parameter is set to RAISE_PROVIDER_EXCPT and a provider raises an exception in its deregister provider function, a wwpro_api_provider.PROVIDER_CALLDEREG_ EXCEPTION exception is raised. If this parameter is set to SUPPRESS_PROVIDER_EXCPT and a call to the providers deregister function fails, the exception is suppressed. RAISE_PROVIDER_EXCPT is the default.
  Exceptions:
    `wwpro_api_provider.PROVIDER_SECURITY_EXCEPTION` - if the user has insufficient privileges to run this API
    `wwpro_api_provider.PROVIDER_REMOVAL_EXCEPTION` - if the provider is not found, if an execution is raised, if the provider is not a local provider, or if an attempt is made to deregister a provider marked as non-deleteable
    `wwpro_api_provider.PROVIDER_CALLDEREG_EXCEPTION` - if an exception is raised when calling the provider's deregister method
  Since:
    Oracle Portal 3.0.6.6.5

### deregister_provider

    procedure deregister_provider(
        p_owner in varchar2,
        p_supress_exception in integer default raise_provider_excpt
    )

  Removes a provider's registration record from Oracle Portal, given the name of the schema that owns the provider. Call this procedure to remove one or more providers' registration records from the provider registry, identifying the provider by schema name. When called, deregister_provider calls the provider's deregister procedure. The portlet repository is updated.

  Notes:

  When the implementation type is PL/SQL, this overloaded API does not remove the provider schema or provider implementation packages. The caller must remove these separately, if required.

  Providers may also be removed using the deregister_provider (id) procedure.

  Providers marked as 'non-deleteable' are not removed.

  Deleting a provider disables all portlet instances for that provider. To reinstate a deleted provider, use the wwpro_api_provider_registry.register_provider function with the original provider ID. The provider's disabled portlets are then restored.

  A user must have the All Provider Manage or All Provider Publish privilege to de-register a provider.

  Example

         l_owner       := 'userapp'

         wwpro_api_provider_registry.deregister_provider
         (
            p_owner             => l_owner,
            p_supress_exception => wwpro_api_provider_registry
                                     .SUPPRESS_PROVIDER_EXCPT
         );

  Parameters:
    `p_owner` - the name of the schema that owns the provider
    `p_supress_exception` - indicates whether to suppress failure of the provider deregister function. If this parameter is set to RAISE_PROVIDER_EXCPT and a provider raises an exception in its deregister provider function, a wwpro_api_provider.PROVIDER_CALLDEREG_ EXCEPTION exception is raised. If this parameter is set to SUPPRESS_PROVIDER_EXCPT and a call to the providers deregister function fails, the exception is suppressed. The default is RAISE_PROVIDER_EXCPT.
  Exceptions:
    `wwpro_api_provider.PROVIDER_SECURITY_EXCEPTION` - if the user has insufficient privileges to run this API
    `wwpro_api_provider.PROVIDER_REMOVAL_EXCEPTION` - if the provider is not found, if an execution is raised, if the provider is not a local provider, or if an attempt is made to deregister a provider marked as non-deleteable
    `wwpro_api_provider.PROVIDER_CALLDEREG_EXCEPTION` - if an exception is raised when calling the provider's deregister method
  Since:
    Oracle Portal 3.0.6.6.5

### edit_provider

    procedure edit_provider(
        p_provider in provider_record
    )

  Updates portlet provider settings for a registered provider. Call this procedure to update the properties of a provider registered with Oracle Portal. This procedure only updates local providers, i.e. in the local Oracle Portal installation.

  Notes:

  A user must have the All Provider Manage or the All Provider Publish privilege to edit a provider record.

  Example

         l_provider wwpro_api_provider_registry.provider_record;
         l_provider.id := 849478;
         l_provider.login_frequency := wwpro_api_provider.LOGIN_FREQUENCY_ONCE;

         wwpro_api_provider_registry.edit_provider(l_provider);

  Parameters:
    `p_provider` - a provider record specifying current provider properties
  Exceptions:
    `wwpro_api_provider.PROVIDER_SECURITY_EXCEPTION` - if the user does not have the privilege to execute this procedure
    `wwpro_api_provider.PROVIDER_NOT_FOUND_EXCEPTION` - if the specified provider is not found
    `wwpro_api_provider.PROVIDER_VALIDATION_EXCEPTION` - if the passed values fail validation or if an unexpected error occurs
    `wwpro_api_provider.PROVIDER_REGISTRTN_EXCEPTION` - if an unexpected error occurs
  Since:
    Oracle Portal 3.0.6.6.5

### find_provider

    function find_provider(
        p_id in integer,
        p_language in varchar2 default null
    ) return node_provider_record

  Returns a provider record in the language requested, given a provider ID. The provider record is returned in the language requested, if available. * Providers may also be found using the find_provider (name) procedure.

  Note: Any user can execute this function.

  Example

         l_provider wwpro_api_provider_registry.node_provider_record;

         l_provider := wwpro_api_provider_registry_provider.find_provider
         (
             p_id       => 20,
             p_language => wwnls_api.AMERICAN
         );

  Parameters:
    `p_id` - a unique identifier for the portlet provider, allocated by Oracle Portal. Note that a null value is not permitted.
    `p_language` - a constant that specifies the language for the returned translatable strings
  Returns:
    the provider record (node_provider_record) or null if the provider record is not found.
  Since:
    Oracle Portal 3.0.6.6.5

### find_provider

    function find_provider(
        p_name in varchar2,
        p_language in varchar2 default null,
        p_node_id in integer default null
    ) return node_provider_record

  Returns a provider record in the language requested, given a provider name. The provider record is returned in the language requested, if available Providers may also be found using the find_provider (id) procedure.

  Note: Any user can execute this function.

  Example

         l_provider wwpro_api_provider_registry.node_provider_record;

         l_provider := wwpro_api_provider_registry_provider.find_provider
         (
             p_name      => 'GENERAL',
             p_language  => wwnls_api.AMERICAN
         );

  Parameters:
    `p_name` - the name of the portlet provider. Note that a null value is not permitted.
    `p_language` - a constant that specifies the language for the returned translatable strings
    `p_node_id` - no longer used, Oracle9iAS Portal 9.0.2 or later. Leave null.
  Returns:
    the provider record (node_provider_record) or null if the provider record is not found.
  Since:
    Oracle Portal 3.0.6.6.5

### get_encryption_key

    function get_encryption_key(
        p_provider_id in number
    ) return varchar2

  Returns the shared key for a Web provider.

  Note: A user must have the All Provider Manage or the All Provider Publish privilege to edit a provider record.

  Example

         l_encrypt_key varchar2(80);
         l_encrypt_key := wwpro_api_provider_registry.get_encryption_key
           (
             p_provider_id => 23613481
         );

  Parameters:
    `p_provider_id` - a unique identifier for the portlet provider, allocated by Oracle Portal. Note that the value for this parameter cannot be null.
  Returns:
    the shared key for the specified Web provider
  Exceptions:
    `wwpro_api_provider.PROVIDER_SECURITY_EXCEPTION` - if the user does not have the necessary privileges to execute the API
    `wwpro_api_provider.PROVIDER_RETRIEVAL_EXCEPTION` - if an unexpected error occurs while retrieving the shared key
  Since:
    Oracle Portal 3.0.6.6.5

### get_provider

    function get_provider(
        p_id in integer,
        p_language in varchar2 default null
    ) return node_provider_record

  Returns a provider record, in the language requested, if available, and raises an exception if no provider is found. Call this function to search for a provider in Oracle Portal and, if found, return a node_provider record. This API is similar to the find_provider function, but raises an exception if no provider is found. The find_provider function does not raise an exception if no provider is found.

  Note: Any user can execute this function.

  Example

         l_provider wwpro_api_provider_registry.node_provider_record;
         l_provider := wwpro_api_provider_registry.get_provider
         (
             p_id       => 20,
             p_language => wwnls_api.AMERICAN
         );

  Parameters:
    `p_id` - a unique identifier for the portlet provider, allocated by Oracle Portal. Note that a null value is not permitted.
    `p_language` - a constant that specifies the language for the returned translatable strings
  Returns:
    a node_provider_record
  Exceptions:
    `wwpro_api_provider.PROVIDER_NOT_FOUND_EXCEPTION` - if the node_provider_record is not found
  Since:
    Oracle Portal 3.0.6.6.5

### get_provider_list

    function get_provider_list(
        p_name in varchar2,
        p_start_row in integer default 1,
        p_row_count in integer default 100,
        p_language in varchar2 default null
    ) return node_provider_rec_table

  Returns a provider name or a list of all portlet providers that match a specified name. You can include the SQL matching (wild card) characters % and _ in the name string.

  Note: Any user can execute this function.

  Example

         l_provider_list := wwpro_api_provider_registry.get_provider_list
         (
             p_name      => 'Portal%',
             p_start_row => 1,
             p_row_count => 10,
             p_language  => wwnls_api.AMERICAN
         );

  Parameters:
    `p_name` - a name string to be used as a search pattern
    `p_start_row` - a number for the first row in the requested table. It allows for pagination. The default is 1.
    `p_row_count` - maximum number of rows for the requested table. It allows for pagination. The default is 100.
    `p_language` - a constant that specifies the language for the returned translatable strings
  Returns:
    node_provider_rec_table, a list of all portlet providers that match the search string
  Since:
    Oracle Portal 3.0.6.6.5

### is_null

    function is_null(
        p_node_provider in node_provider_record
    ) return boolean

  Determines if a provider record has content. Call this function to determine if a provider record has content. The function checks the ID and the name fields for content.

  Note: Any user can execute this function.

  Example

         l_is_null := wwpro_api_node_provider_registry.is_null
         (
             p_node_provider
         );

  Parameters:
    `p_node_provider` - the node_provider record
  Returns:
    TRUE if both p_node_provider.id and p_node_provider.name are null. Otherwise, it returns FALSE.
  Since:
    Oracle Portal 3.0.6.6.5

### node_provider_to_provider

    function node_provider_to_provider(
        p_node_provider in node_provider_record
    ) return provider_record

  Convert a node_provider_record to a provider_record. Some of the APIs in wwpro_api_provider_registry return node_provider_record structures and some provider_record structures. Some of the them take as input the provider_record structure. This API is provided as a utility in cases where the output of one such API needs to be passed as input to another one. For example when find_provider and edit_provider need to be called. The find_provider API returns a node_provider_record and the edit_provider accepts a provider_record as input.

  Example

           declare
               l_node_provider
                   wwpro_api_provider_registry.node_provider_record;
               l_provider wwpro_api_provider_registry.provider_record;
           begin

               l_node_provider :=
                   wwpro_api_provider_registry.find_provider(
                       p_id => '84934884'
                   );

               l_provider :=
                   wwpro_api_provider_registry.node_provider_to_provider(
                       p_node_provider => l_node_provider
                   );

               l_provider.timeout := 200;

               wwpro_api_provider_registry.edit_provider(
                   p_provider => l_provider
               );

           end;

  Parameters:
    `p_node_provider` - the node_provider_record record structure to convert to a provider_record structure
  Returns:
    the provider_record structure resulted from node_provider_record

### print_provider

    procedure print_provider(
        p_id in integer,
        p_language in varchar2 default wwctx_api . get_nls_language
    )

  Prints, as dbms_output, the specified provider information.

  Notes: Any user can execute this procedure.

  DBMS_OUTPUT is an Oracle database package that can be used to display the values of variables within a PL/SQL block.

  Example

         wwpro_api_provider_registry.procedure print_provider
         (
             p_id       => 787,
             p_language => wwnls_api.AMERICAN
         );

  Parameters:
    `p_id` - a unique identifier for the portlet provider, allocated by Oracle Portal. Note that the value for this parameter cannot be null.
    `p_language` - a constant that specifies the language for the returned translatable strings
  Since:
    Oracle Portal 3.0.6.6.5

### provider_exist

    function provider_exist(
        p_name in varchar2,
        p_node_id in integer default null
    ) return boolean

  Determines whether a provider of a particular name exists.

  Note: Any user can execute this function.

  Example

         if wwpro_api_provider_registry.provider_exist(p_name =>'Example')
         then
             dbms_output.put_line('Provider Example exists');
         end if;

  Parameters:
    `p_name` - A name string to be used as a search pattern. For example:

                l_p_exist boolean;
                l_p_exist := wwpro_api_provider_registry.provider_exist('EXAMPLE');
                l_p_exist := wwpro_api_provider_registry.provider_exist('EXample');
                l_p_exist := wwpro_api_provider_registry.provider_exist('example');

    All the above return the same value. Note that the search is not case sensitive. The search does not provide for wild character searches, e.g. *.
    `p_node_id` - not used in Oracle9iAS Portal 9.0.2 or later. Leave null.
  Returns:
    TRUE if p_name exists. Otherwise, it returns FALSE.
  Since:
    Oracle Portal 3.0.8

### refresh_portlet_repository

    procedure refresh_portlet_repository

  Refreshes the portlet repository. It will contact each provider and update the portlet repository accordingly.

  Notes: Executing this function may take some time.

  A user must have at least the Manage Items privilege on the provider folder within the portlet repository to execute this function.

  Example

         wwpro_api_provider_registry.refresh_portlet_repository

  Exceptions:
    `wwpro_api_provider.REFRESH_REPOSITORY_EXCEPTION` - if an unexpected error occurs.
  Since:
    Oracle Portal 3.0.8

### register_provider

    function register_provider(
        p_provider_rec in provider_record
    ) return integer

  Registers a portlet provider and returns the provider ID. Call this function to register a portlet provider with Oracle Portal and return the provider's ID. When a provider is added to the provider repository, its associated portlets are also added to the portlet repository.

  When this API is executed as the Portal schema owner, the Portal user is assumed to be the Portal schema owner who has the necessary privileges to register a provider. However, when the API is executed in a provider schema the Portal user is assumed to be PUBLIC and does not have the necessary privileges to register a provider. In this case, you must first call wwctx_api.set_context to establish an authenticated session within the current SQL*Plus session. You must provide a valid username/password as authentication takes place with the Single Sign-On Server.

  Notes:

  A user must have the All Provider Manage or All Provider Publish privilege to register the provider.

  You can determine the current language settings with the wwnls_api.get_language function.

  Implementation Name and Implementation Owner are only valid for PL/SQL implementations.

  HTTP URL, Require Proxy, HTTP Application Type, Provider Key, Encryption Key and HTTP Application ID are only valid for HTTP implementations.

  If a timeout message ID passed into the provider record is null but the message field has a value, the value is used as the timeout message.

  Example

       declare
         l_provider_id integer;
         l_provider_rec wwpro_api_provider_registry.provider_record;
       begin
         l_provider_rec.name    := 'Portal Provider';
         l_provider_rec.node_id := null;
         l_provider_rec.timeout := 1 ;
         l_provider_rec.timeout_msg := 'Component took too long to execute';
         l_provider_rec.implementation_style
                        := wwpro_api_provider_registry.PLSQL_IMPL;
         l_provider_rec.implementation_owner := PORTAL;
         l_provider_rec.implementation_name := 'PORTAL_DEMO_PROVIDER';
         l_provider.language := wwnls_api.AMERICAN;
         l_provider_rec.enable_distribution
                        := wwpro_api_provider_registry.ENABLE_DISTRIBUTION_NO;
         l_provider_rec.login_frequency
                        := wwpro_api_provider_registry.LOGIN_FREQUENCY_ALWAYS;

         l_provider_id  := wwpro_api_provider_registry.register_provider
         (p_provider_rec => l_provider_rec);

         wwpro_api_provider_registry.print_provider(
         l_provider_id,wwnls_api.AMERICAN);
       end;

  Parameters:
    `p_provider_rec` - the record for the provider to be registered
  Returns:
    a provider ID and stores the timeout message string in the NLS subsystem in the specified language
  Exceptions:
    `wwpro_api_provider.PROVIDER_SECURITY_EXCEPTION` - if the user does not have the correct privilege to register a provider
    `wwpro_api_provider.PROVIDER_VALIDATION_EXCEPTION` - if implementation_style is not wwpro_api_provider_registry.PLSQL_IMPL, wwpro_api_provider_registry.DATABASE_IMPL, wwpro_api_provider_registry.HTTP_IMPL, or wwpro_api_provider_registry.WEB_IMPL
    `wwpro_api_provider.PROVIDER_VALIDATION_EXCEPTION` - if the implementation style is PLSQL_IMPL and implementation_name is not the name of a database package in the implementation_owner schema
    `wwpro_api_provider.PROVIDER_VALIDATION_EXCEPTION` - if the implementation style is PLSQL_IMPL and the implementation_owner is not a valid database user
    `wwpro_api_provider.PROVIDER_VALIDATION_EXCEPTION` - if the status of the implementation package is invalid
    `wwpro_api_provider.PROVIDER_VALIDATION_EXCEPTION` - if passed values fail validation or if an unexpected error occurs. Query the error stack to determine why the validation failed.
    `wwpro_api_provider.PROVIDER_CALLREG_EXCEPTION` - if an unexpected error occurs while calling the providers registration method
    `wwpro_api_provider.PROVIDER_REGISTRTN_EXCEPTION` - if an unexpected error occurs while attempting to register the provider
  Since:
    Oracle Portal 3.0.6.6.5

### remove_portlet_from_repository

    procedure remove_portlet_from_repository(
        p_provider_id in integer,
        p_portlet_id in integer
    )

  Deletes portlets from the portlet repository. It can also be used by portlet providers to dynamically remove portlets.

  Note: A user must have at least the manage items privilege on the provider folder within the portlet repository to execute this function.

  Example

         wwpro_api_provider_registry.delete_portlet_from_repository
         (
             p_provider_id => 5,
             p_portlet_id  => 22
         );

  Parameters:
    `p_provider_id` - a unique identifier for a provider that is allocated by Oracle Portal. Note that a null value is not permitted.
    `p_portlet_id` - a unique identifier that locates the portlet within the provider domain. Note that a null value is not permitted.
  Exceptions:
    `wwpro_api_provider.DELETE_PORTLET_EXCEPTION` - if an unexpected error occurs
  Since:
    Oracle Portal 3.0.6.6.5

Overview | Package | Object Type | Deprecated | Index | Help
| Oracle9iAS Portal PL/SQL API Reference - 9.0.2.6
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES
SUMMARY: EXCEPTION | TYPE | CONSTANT | VARIABLE | FUNCTION/PROCEDURE | DETAIL: EXCEPTION | TYPE | CONSTANT | VARIABLE | FUNCTION/PROCEDURE