Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

To understand how XOAI works, one must understand the concept of Filter, Transformer and Context. With a Filter it is possible to select information from the data source. A Transformer allows one to make some changes in the metadata before showing it in the OAI interface. XOAI also adds a new concept to the OAI-PMH basic specification, the concept of context. A context is identified in the URL:

Code Block

http://www.example.com/oai/<context>

...

OAI Manager (Solr Data Source)

OAI manager it's an is a utility that allows one to do some certain administrative operations with OAI. 

Syntax

 bin[dspace]/bin/dspace oai <action> [parameters]

...

In order to refresh the OAI Solr index, it is required to run the {{[dspace]/bin/dspace oai import }}command periodically. You can add the following task to your crontab:

Code Block

0 3 * * * [dspace]/bin/dspace oai import

...

OAI manager it's an utility that allows one to do some administrative operations with OAI. 

Syntax

 bin[dspace]/bin/dspace oai <action> [parameters]

...

In order to refresh the OAI cache and compile DSpace items (for fast responses), it is required to run the {{[dspace]/bin/dspace xoai compile-items }}command periodically. You can add the following task to your crontab:

Code Block

0 3 * * * [dspace]/bin/dspace oai compile-items

...

Each context could have it's own metadata formats. So to add/remove metadata formats to/from it, just need add/remove it's reference within xoai.xml, for example, imagine one need to remove the XOAI schema from:

Code Block

<Context baseurl="request">
  <Format refid="oaidc" />
  <Format refid="mets" />
  <Format refid="xoai" />
  <Format refid="didl" />
  <Format refid="dim" />
  <Format refid="ore" />
  <Format refid="rdf" />
  <Format refid="etdms" />
  <Format refid="mods" />
  <Format refid="qdc" />
  <Format refid="marc" />
  <Format refid="uketd_dc" />
</Context>

Then one would have:

Code Block

<Context baseurl="request">
  <Format refid="oaidc" />
  <Format refid="mets" />
  <Format refid="didl" />
  <Format refid="dim" />
  <Format refid="ore" />
  <Format refid="rdf" />
  <Format refid="etdms" />
  <Format refid="mods" />
  <Format refid="qdc" />
  <Format refid="marc" />
  <Format refid="uketd_dc" />
</Context>

It is also possible to create new metadata format by creating a specific XSLT for it. All already defined XSLT for DSpace could be found within directory ${dspace.dir}/config/modules/oai/metadataFormats. So after producing a new one, in ${dspace.dir}/config/modules/oai/xoai.xml* add* *inside element <Formats>  the following information:

Code Block

<Format id="[IDENTIFIER]">
  <Prefix>[PREFIX]</Prefix>
  <XSLT>metadataFormats/[XSLT]</XSLT>
  <Namespace>[NAMESPACE]</Namespace>
  <SchemaLocation>[SCHEMA_LOCATION]</SchemaLocation>
</Format>

...

Parameter

Description

IDENTIFIER

The identifier used within context configurations to reference this specific format, must be unique within all Metadata Formats available.

PREFIX

The prefix used in OAI interface (metadataPrefix=PREFIX).

XSLT

The name of the XSLT file within ${dspace.dir}[dspace]/config/modules/oai/metadataFormats directory

NAMESPACE

XML Default Namespace of the created Schema

SCHEMA_LOCATION

URI Location of the XSD of the created Schema

...