# OAI Server Configuration

# This is the main configuration file for configuring your Greenstone oai server.
# The server is a cgi program called oaiserver (oaiserver.exe on Windows).
# Some basic commands that you can send it are:
# ....cgi-bin/oaiserver.cgi?verb=Identify
# ....cgi-bin/oaiserver.cgi?verb=ListSets
# ....cgi-bin/oaiserver.cgi?verb=ListMetadataFormats
# ....cgi-bin/oaiserver.cgi?verb=ListIdentifiers&set=xxx (1.1 only)
# ....cgi-bin/oaiserver.cgi?verb=ListIdentifiers&set=xxx&metadataPrefix=oai_dc (2.0 only)
# ....cgi-bin/oaiserver.cgi?verb=ListRecords&set=xxx&metadataPrefix=oai_dc
# ....cgi-bin/oaiserver.cgi?verb=GetRecord&identifier=xxx&metadataPrefix=oai_dc

#The List verbs (ListSets, ListIdentifiers, ListRecords) all return a 
#sequence of items. The 'resumeafter' paramter below indicates how many 
#records to return - if this number is less than the number matching the 
#request, then a resumption token is returned. To use this to get the 
#next set of documents, you need to issue the same request again, with 
#an additional parameter: resumptionToken=xxx
#For example, 
# ....cgi-bin/oaiserver.cgi?verb=ListRecords&set=demo&metadataPrefix=oai_dc&resumptionToken=gsdloai:demo,,11-

# For more information about the OAI-PMH protocol, see 
# http://www.openarchives.org/

# Strings containing spaces should be enclosed in double quotes ""

# The base URL of the web server. Will be automatically generated by the 
# oaiserver program if not specified here, but may use 'xxx.xxx.xxx.xxx' 
# IP address, but NOT a human-readable domain name like 'www.mylibrary.com'.
# If you edit this, it must include the port number if not using port 80.
#baseServerURL "http://your-domain-name:port"

# the relative base path of the oaiserver.cgi
oaiserverPath "/greenstone/cgi-bin/oaiserver.cgi"

# the relative base path of the Greenstone library.cgi
libraryPath "/greenstone/cgi-bin/library.cgi"

# the relative base document root
docRootPath "/greenstone"

# The OAI repository name - human readable
repositoryName ""

# The OAI repository domain name or unique identifier - used for generating 
# the document identifiers, which will be like:
# oai:reposId:coll:oid
repositoryId ""

# version is which oai id scheme is used for ids. Can be 1.1 or 2.0.
# 1.1 uses a unique id, while 2.0 uses a domain name
repositoryIdVersion "1.1"

# The central administrative email address for the repository.
maintainer  ""

# Which version of OAI the repository supports, 1.1 or 2.0
# (The server supports both)
oaiversion "2.0"

# How many records to output before needing a resumption token
# A value of -1 will return all records for a request
resumeafter  250

# Other free text items describing the repository. There is no restriction 
# on the number of items, or item names
# The format is like the following:
# oaiinfo "item name" "item value"
# Examples may include sponsor, purpose, size...

# A list of collections that should be made available to OAI clients. By
# default, collections are not available.
# There can be more than one line: each line must start with oaicollection, 
# and this is followed by one or more collection names. The collection name 
# is the name of the collection's folder in the collect directory.
# Each collection will be an OAI set.
oaicollection demo documented-examples/oai-e 

# OAI super collections
# Create a set containing more than one collection
# There can be more than one line. Each line must have the format
# oaisupercollection "set name" [list of collections in the set]
# For example
# oaisupercollection SNRD demo oai-e
# Collections in a super collection need not be in the main collection list.
# In this case they will not be exposed as their own set.

# Optional, set name and description for each collection or supercollection
# collname is the same collection/supercollection name as in the above 
# oaicollection/oaisupercollection lines
# The format is like the following:
# oaisetname collname "Name of Collection"
# oaisetdescription collname "Collection description"

# Set name and description can also be added for classifiers. Specify this like
# oaisetname demo:CL1 "Titles set for Demo collection"

# These can also be specified in a collection's collect.cfg. The collection
# name is not needed there, so lines will look like
# oaisetname "demo collection"
# oaisetname CL1 "Titles set for demo collection"

# Metadata mapping information. At present, Greenstone's OAI server 
# supports the following metadata formats.
# oai_dc (OAI standard for Dublin Core)
# gsdl_qdc (Greenstone format for Qualified Dublin Core)
# rfc1807 (OAI standard for RFC 1807 format)

# the list of metadata formats this server should support (Choose from the 
# above list)
oaimetadata oai_dc gsdl_qdc

#### Metadata Mapping Rules ####
################################

# Metadata in other formats must be mapped to the formats specified above.
# This can be done in this file, or, for a particular collection, in its 
# collect.cfg file.

# The format is like
# oaimapping <greenstone fieldname> <metadataPrefix.fieldname>

# The Greenstone field names can be unqualified (Title, Subject) or 
# qualified by a namespace (dc.Title, dls.Subject). Capitalization must match
# that used by Greenstone. 
# OAI field names must start with the metadataPrefix name (e.g. oai_dc.) and 
# capitalization must match that used by the appropriate schema. Valid elements
# for each schema are listed below. Only valid elements will be included in
# the output

# OAI Dublin Core metadata schema:
# http://www.openarchives.org/OAI/2.0/oai_dc.xsd
# metadataPrefix: oai_dc
# Valid elements: 
# contributor coverage creator date description format identifier language 
# publisher relation rights source subject title type 

# Greenstone's OAI Qualified Dublin Core metadata schema:
# http://www.greenstone.org/namespace/gsdl_qdc/1.0/gsdl_qdc.xsd
# metadataPrefix: gsdl_qdc
# Valid elements:
# title creator subject description publisher contributor date type format 
# identifier source language relation coverage rights alternative 
# tableOfContents abstract created valid available issued modified 
# dateAccepted dateCopyrighted dateSubmitted extent medium isVersionOf 
# hasVersion isReplacedBy replaces isRequiredBy requires isPartOf hasPart 
# isReferencedBy references isFormatOf hasFormat conformsTo spatial 
# temporal audience accrualMethod accrualPeriodicity accrualPolicy 
# instructionalMethod provenance rightsHolder mediator educationLevel 
# accessRights license bibliographicCitation 

# OAI RFC 1807 metadata schema
# http://www.openarchives.org/OAI/1.1/rfc1807.xsd
# metadataPrefix: rfc1807
# Valid elements:
# bib-version id entry organization title type revision withdraw author 
# corp-author contact date pages copyright handle other_access retrieval 
# keyword cr-category period series monitoring funding contract grant 
# language notes abstract 

# mappings for the dls metadata set
# for dublin core (oai_dc metadata prefix)
oaimapping dls.Title oai_dc.title
oaimapping dls.Subject oai_dc.subject
oaimapping dls.Language oai_dc.language
oaimapping dls.Organization oai_dc.publisher
# for qualified dublin core (gsdl_qdc metadata prefix)
oaimapping dls.Title gsdl_qdc.title
oaimapping dls.Subject gsdl_qdc.subject
oaimapping dls.Language gsdl_qdc.language
oaimapping dls.Organization gsdl_qdc.publisher


# These mapping rules will apply to the entire repository. 

# Collection specific rules can also be specified in this file using a 
# collection name qualifier with the greenstone field name. This is the 
# collection name followed by a colon (demo:Title, demo:dls.Title).
# oaimapping demo:dls.Title oai_dc.title 
# Mappings specified in a collect.cfg file do not need the collection 
# qualifier.

