Table of Contents

  1. About This Service
  2. Installation
  3. Demonstration Setup
  4. Configuration


1. About This Service

The Fedora OAI Provider Service is part of the Fedora Service Framework and offers a vast improvement over the previous, simple OAI provider that Fedora used in previous versions. The new provider is based on Proai, an open source caching, polling OAI provider. It has the following features:

NEW FEATURES: This release of the OAI Provider incorportates the following new features:

See the Configuration Reference for more detail on using these new capabilities.


2. Installation

To install the service:

  1. Make sure you have a suitable database installed (MySQL, PostgreSQL, Oracle, or McKoi) and a database user account that can create tables in the database.
  2. Make sure your Fedora repository is running with the Resource Index turned ON. This is necessary because the oai provider periodically queries the resource index to discover which records of interest have changed.
  3. Deploy the oaiprovider.war file into your servlet container.
  4. Configure the OAI provider as described in the Configuration section below.
  5. Re-start the webapp (this is often done by restarting the servlet container itself).


3. Demonstration / Test Setup

The source distribution of the OAI Provider Service includes several test Fedora objects. You can use these objects and the default configuration file to quickly get an idea for how the service works.

  1. Complete installation steps 1-4 above, using most of the default values in the configuration file, but making sure that the following properties are set according to your own Fedora installation:
    • driver.fedora.baseURL
    • driver.fedora.user
    • driver.fedora.pass
  2. Make sure your Fedora installation is configured to retain (rather than re-generate) PIDs of objects in the "demo" PID namespace on ingest. You can check this in your fedora.fcfg file: If one of the values of "retainPIDs" is "demo" or "*" (asterisk), Fedora is configured correctly. Otherwise, you should add this value and re-start Fedora.
  3. Use the fedora-admin GUI or fedora-ingest command-line utility to ingest all foxml objects in the src/test/foxml directory of the Fedora OAI Provider source distribution.
  4. Start the webapp.

Upon starting, the service will poll Fedora for objects that provide oai record content and have changed since its last update. It will find the objects you just ingested, request appropriate disseminations of each, and save them in its cache. Once it has successfully completed a cache update cycle, you should be able to hit the front-end (where you installed the service) with OAI-PMH verbs. Here are a couple examples:


Now try using fedora-admin to edit one of the datastreams of one of the demo objects you just ingested. The next time the oaiprovider service polls Fedora for modified records, it should pick up this change and make it available via the front-end.

Note that the poll frequency is ten minutes by default -- this can be configured to be more or less frequent by changing the proai.driverPollSeconds in the file.


4. Configuration

Please consult the OAI Provider Configuration Reference for a complete list of configuration options and what they do.

You should also take a look at the log4j.xml that resides alongside the file in the webapp's WEB-INF/classes directory. This file controls where log messages will be sent and how much detail they will contain. When first setting up the OAI provider, it is recommended that you keep the log level high (DEBUG for most categories).