Copyright (C) 2018 The Open Library Foundation
This software is distributed under the terms of the Apache License, Version 2.0. See the file "LICENSE" for more information.
Backend Module implementing the Open Archives Initiative Protocol for Metadata Harvesting (OAI-PMH Version 2.0), but providing more RESTful API than described in the specification. Refer to oai-pmh.raml for the details.
The repository supports oai_dc and marc21 metadata formats.
The OAI Identifier Format is used for resource identifiers with the following pattern:
oai:<repositoryBaseUrl>:<tenantId>/<uuid of record> e.g.
The following schemas used:
- OAI-PMH Schema: OAI-PMH.xsd (please refer to OAI-PMH specification for more dtails)
- XML Schema for Dublin Core without qualification: oai_dc.xsd (please refer to OAI-PMH specification for more dtails)
- MARC 21 XML Schema: MARC21slim.xsd (please refer to MARC 21 XML Schema for more details)
Configuration properties are intended to be retrieved from mod-configuration module. System property values are used as a fallback. The default configuration system properties are defined in config.properties. The following configuration properties are used:
|Module||Config Code||System Default Value||Description|
||The name of the repository. The value is used to construct value for
||The URL of the repository (basically the URL of the edge-oai-pmh). The value is used in
||The e-mail address of an administrator(s) of the repository. Might contain several emails which should be separated by comma. The value is used in
||The finest harvesting granularity supported by the repository. The legitimate values are
||The manner in which the repository supports the notion of deleted records. Legitimate values are no ; transient ; persistent with meanings defined in the section on deletion.|
||The maximum number of records returned in the List responses. The main intention is to implement Flow Control|
||Boolean value which defines if the response content should be validated against xsd schemas.|
||Boolean value which is used to specify whether or not the marshalled XML data is formatted with linefeeds and indentation.|
The system default values can be overwritten by VM options e.g.
Another configuration file can be specified via
-DconfigPath=<path_to_configs>but the file should be accessible by ClassLoader
repository.storagesystem property defining which storage should be used to get records from. This configuration is not tenant specific but system wide therefore cannot be defined in mod-configuration module. There are 2 allowed values:
The default value is
SRS. To enable usage of the inventory storage, the
-Drepository.storage=INVENTORYVM option should be specified.