CINXE.COM
Open Archives Initiative - Data Provider Registration
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Open Archives Initiative - Data Provider Registration</title> </head> <body bgcolor="#FFFFFF"> <table width="800" border="1" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF"> <tr> <td width="98" rowspan="4"> <div align="left"> <a href="http://www.openarchives.org"><img src="http://www.openarchives.org/images/OA100.gif" width="100" height="70" border="0" /></a></div> </td> <td width="702" bgcolor="#FFFFFF" height="49" valign="middle" colspan="3" rowspan="4"> <div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" color="#000066" size="5">Registering as a Data Provider<br /> OAI-PMH version 2.0</font></b></div> </td> </tr> </table> <p>Data providers who support the OAI-PMH may choose to list their repository in the OAI-PMH registry. The goals of the registry are:</p> <ul> <li>Provide a <a href="/Register/BrowseSites">publicly accessible list of conforming OAI-PMH repositories</a>, making it easy for service providers to discover repositories from which metadata can be harvested. Repositories may also wish to expose a <a href="/OAI/2.0/guidelines-friends.htm">friends container</a> as part of their <a href="/OAI/2.0/openarchivesprotocol.htm#Identify">Identify</a> response as a parallel means for guiding service providers towards repositories from which metadata can be harvested.</li> <li>Provide a mechanism for data providers to ensure their conformance with the OAI-PMH specification.</li> <li>Provide a means for the OAI to monitor use of the OAI-PMH and plan future activities and strategies.</li> </ul> <p><b><i>Please read carefully all of this instruction page so you understand what registration means and the choices you have.</i></b></p> <p><a href="#Consequences_of_Registration">Consequences of Registration</a><br /> <a href="#Protocol_Conformance_Testing">Protocol Testing</a><br /> <a href="#functionality">Conformance testing for basic functionality</a><br /> <a href="#error">Conformance testing for error and exception handling</a><br /> <a href="#Using_OAI_Identifiers_for_Metadata_Records">Using OAI Identifiers for Metadata Records</a><br /> <a href="#Confirmation_of_Registration">Confirmation of Registration</a><br /> <a href="#Changing_Registration_Information">Changing Registration Information</a><br /> <a href="/Register/ValidateSite">Validate or Register</a></a></p> <p><b>Note</b>: This document describes the registration procedure for OAI-PMH version 2.0. Support for earlier versions of the protocol was discontinued on 1 September 2002.</p> <h2><a name="Consequences_of_Registration">Consequences of Registration</a></h2> <p>By registering your repository you agree to the following:</p> <ul> <li>The OAI will immediately run a set of <a href="#Protocol_Conformance_Testing">conformance tests</a> on your repository. To ensure integrity of the registry, we will only register those repositories that complete these tests. An email confirming the results of the conformance test will be sent to the address specified in the <code>adminEmail</code> element returned via the <a href="/OAI/openarchivesprotocol.htm#Identify"><code>Identify</code></a> protocol request . </li> <li>The OAI will periodically retest your repository for <a href="#Protocol_Conformance_Testing">conformance</a>. In the case that your repository fails to complete the tests, we will remove your repository from the registry and send an email with information to help you return to conformance.</li> <li>The registry database will store all the information returned via the <code><a href="/OAI/openarchivesprotocol.htm#Identify">Identify</a></code> protocol request: <ul> <li><code>repositoryName</code>: a human readable name for the repository;</li> <li><code>baseURL</code>: the <code>baseURL</code> for making protocol requests to the repository;</li> <li><code>protocolVersion</code>: the version of the OAI-PMH supported by the repository;</li> <li><code>adminEmail</code>: the e-mail address of the administrator of the repository.</li> <li>additional repository-specific description packages.</li> </ul> </li> <li>Contents of the registration database are open for public searching and <a href="/Register/BrowseSites">browsing</a>. There are no plans for restricting access to the registry database.</li> </ul> <h2><a name="Protocol_Conformance_Testing">Protocol Testing</a></h2> <p>The <a href="/OAI/openarchivesprotocol.htm">OAI-PMH</a> defines a set of requests and the format of the responses to each of these requests, specified through an <a href="http://www.w3.org/TR/xmlschema-0/">XML schema</a>. A <i>conformant </i>repository must respond to each of the protocol requests with a response that validates with the schema. It also must respond to mal-formed requests with the appropriate <a href="/OAI/2.0/openarchivesprotocol.htm#ErrorConditions"> errors and exception conditions</a>.</p> <h3><i><a name="functionality">Conformance Testing for Basic Functionality</a></i></h3> <p>A repository must successfully complete the following tests in order for entry in the registry:</p> <p>For every protocol request, the repository return a response that:</p> <ul> <li>is valid XML (the XML successfully passes through an XML parser)</li> <li>conforms to the XML schema defined for the response</li> </ul> <p>For the <a href="/OAI/2.0/openarchivesprotocol.htm#ListMetadataFormats"><code>ListMetadataFormats</code></a> request, the repository must:</p> <ul> <li>return at least one metadata format.</li> <li>in the list of metadata formats, return the mandatory <code> oai_dc</code> metadata format with the URL of the <a href="/OAI/2.0/oai_dc.xsd">OAI-defined XML schema</a>.</li> </ul> <p>For the <a href="/OAI/2.0/openarchivesprotocol.htm#ListIdentifers"><code>ListIdentifiers</code></a> request, the repository must:</p> <ul> <li>return at least one identifier in a record header.</li> </ul> <p>For the <a href="/OAI/2.0/openarchivesprotocol.htm#GetRecord"><code>GetRecord</code></a> request, the repository must:</p> <ul> <li>return a record with metadata in the required <code> oai_dc</code> format, given an identifier returned by the <code>ListIdentifiers</code> request.</li> </ul> <h3><a name="error"><i>Conformance Testing for Error and Exception Handling</i></a></h3> <p>A repository must successfully complete the following tests for error and exception handling in order for entry in the registry.</p> <p>A conformant repository must return a <code>badVerb</code> error code when:</p> <ul> <li>the <code>verb</code> argument is missing from the request.</li> <li>the <code>verb</code> argument is not a legal OAI-PMH verb.</li> </ul> <p>A conformant repository must return a <code>badArgument</code> error code when:</p> <ul> <li>the <code>identifier</code> argument is missing or is not a valid URI in a <code>GetRecord</code> request.</li> <li>the <code>metadataPrefix</code> argument is missing in a <code>GetRecord</code> request.</li> <li>the <code>until</code> or <code>from</code> arguments are illegal in a <code>ListIdentifiers</code> request.</li> <li>the <code>resumptionToken</code> argument is issued as a non-exclusive argument to a <code>ListIdentifiers</code> request.</li> <li>a <code>ListRecords</code> request is submitted without a <code>metadataPrefix</code>.</li> </ul> <p>A conformant repository must return a <code>noRecordsMatch</code> error code when:</p> <ul> <li>a <code>ListRecords</code> request is issued with a date range (<code>from</code> and <code>until</code> arguments) from which there are no records that can be disseminated from the repository.</li> </ul> <p>A conformant repository must return a <code> cannotDisseminateFormat</code> error code when:</p> <ul> <li>a <code>GetRecord</code> request is issued with a <code>metadataPrefix</code> that is not one of the valid metadata prefixes for the repository.</li> </ul> <p>A conformant repository must return a <code>badResumptionToken</code> error code when:</p> <ul> <li>a <code>ListRecords</code> request is issued with a resumption token that was not received in a preceding protocol response.</li> </ul> <h2><a name="Using_OAI_Identifiers_for_Metadata_Records">Using OAI Identifiers for Metadata Records</a></h2> <p>Every metadata record harvested by the OAI-PMH has a <a href="/OAI/2.0/openarchivesprotocol.htm#UniqueIdentifier">unique identifier</a>. The only restriction for conformance is that this identifier should be a URI that is unique within the respective repository. Data providers may choose, however, to adopt the <a href="/OAI/2.0/guidelines-oai-identifier.htm">OAI identifier scheme</a> whereby their identifiers are globally unique within the <i>oai</i> namespace. The advantage for repositories of adopting this naming convention is that record identifiers are resolvable via future resolution services. OAI identifiers are formally defined at <a href="/OAI/2.0/oai-identifier.xsd">http://www.openarchives.org/OAI/2.0/oai-identifier.xsd</a>. </p> <p>An example OAI identifier is:</p> <blockquote> <p><code>oai:arXiv.org:hep-th/9901001</code></p> </blockquote> <p>In order to register your intention to use OAI identifiers, you must do the following <i>before you register your repository</i>:</p> <ul> <li>insert into your response to the <code><a href="/OAI/2.0/openarchivesprotocol.htm#Identify">Identify</a></code> request the <a href="/OAI/2.0/guidelines-oai-identifier.htm">description package</a> that defines your repository as a user of OAI identifiers.</li> <li>Supply as a value to the <code>namespace-identifier</code> element in that <a href="/OAI/2.0/guidelines-oai-identifier.htm">description package</a> your domain-name. You may find it helpful to check the left-hand column of the <a href="/Register/BrowseSites">data provider list</a> first, to make sure your choice is unique to you. </li> </ul> <p>Subsequently, when you register your repository, the registry server will note this description package in the process of <a href="#Protocol_Conformance_Testing">conformance testing</a> and test the uniqueness of your requested <i>namespace identifier </i>in the <code>oai</code> namespace. The email confirming your registration will indicate whether your repository identifier choice was unique. If it is unique, then your use of it will be recorded in the registry and you may create record identifiers using that repository identifier. If it is not unique, the email will say so. You may then choose another repository identifier and resubmit your registration.</p> <p>Note: registration of an OAI identifier scheme does not commit you to using those types of identifiers for all of your records. It only reserves the <i>repository identifier</i> for your use if you wish.</p> <p>Note: at this time a repository may only register one <i>namespace identifier</i>.</p> <h2><a name="Confirmation_of_Registration">Confirmation of Registration</a></h2> <p>Shortly after registration you will receive an email showing the results of the <a href="#Protocol_Conformance_Testing">conformance testing</a> and (if applicable) your choice of repository identifier.</p> <h2><a name="Changing_Registration_Information">Changing Registration Information</a></h2> <p>In order to change your registration information you should simply re-register. Some instances in which you might want to change your registration information are:</p> <ul> <li>change of administrator e-mail address</li> <li>adoption of the <a href="#Using_OAI_Identifiers_for_Metadata_Records">OAI identifier scheme</a>.</li> </ul> <p>Note: a repository may <i>not</i> change its <i>namespace identifer</i>.</p> <h2><a name="register" id="register">Registration</a></h2> <p><a href="/Register/ValidateSite">Validate or register</a> your data provider.</a> </body> </html>