Skip to content

Generic server

Piotr Andzel edited this page Oct 2, 2019 · 5 revisions

Generic server provides a quick way to setup your own repository and share its content through OAI-PMH protocol. Its is also a great template to study, expand and adapt to the individual needs of the organization.

Features

  • Full support of OAI-PMH protocol,
  • Easy to deploy and setup,
  • Simple, yet robust,
  • Extendable.

Limitations

  • Only oai_dc schema supported,
  • No set hierarchy,
  • Optional containers unavailable.

Installation and configuration

Building from sources

Refer to section Building and installation for exact instructions.

Deployment

Each web server offers different mechanisms for deployment. Refer to the user guide of your server for further instructions.
If your server is an Apache Tomcat, the easiest way is just to copy demeter-server/target/demeter-server-<version>.war web application into the <TOMCAT_HOME>/webapps deployment directory and let the server unpack and install the application. Once its done, the application would be available at http://<hostname>:<port>/demeter-server-<version> URL.

Configuration

config.properties

This file is located under <TOMCAT_HOME>/webapps/<demeter home>/WEB-INF/classes/config folder. Please, update the following:

  • dataPath - relative or absolute path to the collection of metadata stored on a hard drive. If this is a relative path, it's always relative to the home folder of the user running web server process. Default value is: 'oai'.
  • batchSize - maximum number of records returned with a single query. More records are available with the subsequent requests using resumption token returned with the response to each prior call. Default value is: 10.
  • tokenExpiration - expiration time of each token in milliseconds. Default value is: 60000.

identify.json

This file is located under <USER_HOME>/oai folder. It represents a response to the 'Identify' OAI-PMH request. Please, update the following:

  • repositoryName - name of the repository,
  • baseURL - URL of the repository,
  • adminEmail - list of emails of person(s) responsible for maintaining the repository.

next...