Installation
============

This is a Zope product and can be installed like any other product. 
(Place it in your 'Products' directory and restart Zope.)

Use
===

After installing, it is possible to add an 'OAIPMH Service' from the ZMI. 
An OAIPMH Service needs an Id and a URL that points to the OAI-Server you
want the service to harvest. 

On the edit screen of the OAIPMH Service, you can edit the following fields:

- OAI PMH Repository URL: The URL of the OAI server. You will rarely want to
  edit this. Creating a new service makes more sense if you want to harvest
  from a different server.

- Datestamp: You may want to set this by hand before your initial harvest. 
  If it is not set, the service will harvest all records on the server. This
  can take a *long* time. If you set it to a date, the service will only 
  harvest records that were added or changed after that date. After 
  harvesting, this field is set to the datetime the last harvest was 
  started. 

- Max records to update: Another way to limit the harvest.

- Directory with scraped fulltext data: Optionally, define a directory on
  the filesystem, where the fulltext of the documents is placed if it can be
  found. If this is not specified, the fulltext scrape is disabled. For
  security reasons, this directory must contain a file with the name 'OAI'.

- Supported Metadataformats: The supported metadataformats cannot be edited,
  but are provided by the server. Ticking a metadata-format (for instance 
  oai_dc, which should be supported by all OAIPMH Servers) means that 
  records in that metadata format will harvested. NB: To harvest records in 
  a certain metadata format, a metadata schema for that format needs to be 
  defined. OIACore comes with two of these preinstalled: one for oai_dc, and
  one for eur_qdc. Defining your own schema is quite easy. See eur_qdc.py
  in this directory for a documented example of how to do it.

After changing any of the above fields, 'Change Settings' should be clicked
before doing anything else.

After creating the storage(s) for metadata formats, a catalog supporting 
that metadata format should be set up by clicking the 'Set up' button, 
*before* harvesting.

Clicking 'Update' will harvest all records (up to max. records) added or 
edited between the date in 'Datestamp' and the current date.

After harvesting you have a catalog with indexes for each harvested record
in each of the selected metadata formats. 

For an example how to use these catalogs from your own code, have a look at
the SilvaOAI extension for Silva, that can be found at:

http://www.infrae.com/download/SilvaOAI/


Zope version
==============

The module should work for Zope versions 2.7.6 and up.

Dependencies
============

You need to have the oaipmh python module installed for OAICore to work.
This can be found at:

http://wwww.infrae.com/download/pyoai/

You also need a relatively recent version (1.10+ is confirmed, but earlier
versions may work too) of Formulator, which can be found here:

http://www.infrae.com/download/Formulator
