Previous Topic: About Content Provider DevelopmentNext Topic: Specifying Which Content Provider to Use


Content Provider Characteristics

COM Interfacing

The Content Provider public interfaces are COM interfaces.

Clients and Sessions

A CA DataMinder component (Content Indexer, Content Proxy, or any other) that connects to a Content Provider is called a client.

When a client creates an object instance of the public coclass, this instance forms a session with the Content Provider. A client may potentially have multiple sessions with a Content Provider. Each session is independent.

Functions

A Content Provider can provide up to two functions: an “Indexer” function and a “Query” function.

Use of XML

The Content Provider and its clients use XML to pass information back and forth.

Own Configuration

A Content Provider needs to manage two sets of configuration parameters for itself.

These configuration parameters are the Content Provider’s responsibility and are entirely under its control. Where and how these parameters are located and set up is up to each Content Provider. We recommend the use of the registry. Clients do not have access to these parameters.

Note: CA Technologies has provisionally defined an ICISConfigure interface together with an example of XML structure. The aim is to pass configuration information from and to a Content Provider (including a Content Provider’s own configuration, for instance to allow GUI-based configuration management). This interface is currently reserved. Do not implement it.

Own logging
Status Reports

Content Providers use Status reports to report on the state of a function instance, on the progress of an operation (including its start) and its outcome (completion), or on the result of an action by a client (feedback). Status reports are also used to return search results and output from GetStatus() calls.

Apart from returning search results etc, there are two reasons why Content Providers generate status reports:

  1. A client depends on status reports to log the state of its functions in use, and to log the progress of its individual operations. This logging is crucial to keep the customer informed of what is happening, and also for diagnostic purposes.
  2. A client depends on status reports to control its execution, for example, to keep track of the indexing of documents.
Status Callback Mechanism
Status codes

Status codes are of data type HRESULT.