Versions Compared

Key

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

...

What is OAI 2.0?

OAI 2.0 is a java Java implementation of an OAI-PMH data provider interface developed by Lyncode that uses XOAI, an OAI-PMH Java Library.

...

With this ingredients it is possible to built build a robust solution that fulfill fulfills all requirements in of Driver, OpenAIRE and also other projects project-specific requirements. As shown in Figure 1, with contexts one could select a subset of all available items in the data source. So when entering the OpenAIRE context, all OAI-PMH request will be restricted to that subset of items.

...

At this stage, contexts could be seen as sets (also defined in the basic OAI-PMH protocol). The magic of XOAI happens when one need specific metadata format to be shown in each context. Metadata requirements by Driver slightly differs from the OpenAIRE ones. So for each context one must define it's its specific transformer. So, contexts could be seen as an extension to the concept of sets.

...

OAI 2.0 is a separate webapp which is a complete substitute for the old "oai" webapp. OAI 2.0 has a configurable data source, by default it will not query the DSpace SQL database at the time of the OAI-PMH request. Instead, it keeps the required metadata in its Solr index (currently in a separate "oai" Solr core) and serves it from there. Although itIt's also possible to set OAI 2.0 to only use the database for querying purposes if necessary, but this decreases performance significantly. Furthermore, it caches the requests, so doing the same query repeatedly is very fast, but not only, . In addition to that it also compiles DSpace items to make uncached responses much faster.

Details about OAI 2.0 internals could can be found here.

Using Solr

OAI 2.0 establishes uses the Solr data source by default.

...

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

...

OAI 2.0 could also work using the database for querying. To configure that one must change the [dspace]/config/modules/xoai.cfg file, specifically parameter 'storage', setting it to database. This decreases performance significantly and likely has no other benefits than leaving out Solr as a dependency.

OAI Manager (Database Data Source)

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

...

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 }}items command periodically. You can add the following task to your crontab:

...

The OAI-PMH response is an XML file. While OAI-PMH is primarily used by harvesting tools and usually not directly by humans, sometimes it can be useful to look at the OAI-PMH requests directly - usually when setting it up for the first time or to verify any changes you make. For these cases, XOAI provides an XSLT stylesheet to transform the response XML to a nice looking, human-readable and interactive HTML. The stylesheet is linked from the XML response and the transformation takes place in the user's browser (this requires a recent browser, older browsers will only display the XML directly). Most automated tools are interested only in the XML file itself and will not perform the transformation. If you want, you can change which stylesheet will be used by placing it into the [dspace]/webapps/xoai/static directory (or into the [dspace-src]/dspace-xoai/dspace-xoai-webapp/src/main/webapp/static after which you have to rebuild DSpace), modifying the "stylesheet" attribute of the "Configuration" element in [dspace]/config/modules/xoai/xoai.xml and restarting your servlet container.

...