<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri",sans-serif;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">Good morning,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I have upgraded our version of ArchiveSpace to 2.5.0. Recently I got a request to “get an OAI port configured so that Virginia Heritage can run a scraper and get our content off of ArchivesSpace”. They included some good instructions
(see below) to help me.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">My problem is that my config.rb file doesn’t have any references to OAI in it at all. The location I am looking at is ../ archivesspace/config/ . There is a config.rb file in there but it doesn’t match.
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Is OAI configured in some other file for version 2.5.0? Also, is there documentation for setting up OAI with version 2.5.0?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Rick Neal<o:p></o:p></p>
<p class="MsoNormal">Library Systems and Applications Administrator<o:p></o:p></p>
<p class="MsoNormal">University of Richmond<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The instructions I received are below…<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<o:p></o:p></p>
<p class="MsoNormal">Here are the default settings in config-defaults. These should be added and modified in local config.rb file:<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"># OAI configuration options<o:p></o:p></p>
<p class="MsoNormal">AppConfig[:oai_repository_name] = 'ArchivesSpace OAI Provider'<o:p></o:p></p>
<p class="MsoNormal">AppConfig[:oai_proxy_url] = 'http://your-public-oai-url.example.com'<o:p></o:p></p>
<p class="MsoNormal">AppConfig[:oai_record_prefix] = 'oai:archivesspace'<o:p></o:p></p>
<p class="MsoNormal">AppConfig[:oai_admin_email] = 'mailto:admin@example.com'<o:p></o:p></p>
<p class="MsoNormal"># In addition to the sets based on level of description, you can define OAI Sets<o:p></o:p></p>
<p class="MsoNormal"># based on repository codes and/or sponsors as follows<o:p></o:p></p>
<p class="MsoNormal">#<o:p></o:p></p>
<p class="MsoNormal"># AppConfig[:oai_sets] = {<o:p></o:p></p>
<p class="MsoNormal"># 'repository_set' => {<o:p></o:p></p>
<p class="MsoNormal"># :repo_codes => ['hello626'],<o:p></o:p></p>
<p class="MsoNormal"># :description => "A set of one or more repositories",<o:p></o:p></p>
<p class="MsoNormal"># },<o:p></o:p></p>
<p class="MsoNormal">#<o:p></o:p></p>
<p class="MsoNormal"># 'sponsor_set' => {<o:p></o:p></p>
<p class="MsoNormal"># :sponsors => ['The_Sponsor'],<o:p></o:p></p>
<p class="MsoNormal"># :description => "A set of one or more sponsors",<o:p></o:p></p>
<p class="MsoNormal"># },<o:p></o:p></p>
<p class="MsoNormal"># }<o:p></o:p></p>
<p class="MsoNormal">AppConfig[:oai_ead_options] = {}<o:p></o:p></p>
<p class="MsoNormal"># alternate example: AppConfig[:oai_ead_options] = { :include_daos => true, :use_numbered_c_tags => true }<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">The two *necessary* options to set are:<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">oai_proxy_url should be set to the public URL. If not proxied and you keep the default http://localhost:8082/ for oai_url, you would replace localhost with the actual external hostname. ( same procedure for public webapp config. )<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">oai_record_prefix is used to generate what should be globally unique identifiers, so “oai:” prefix should be followed by a domain name. example: 'oai:http://lib.school.edu’ <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">But you should also set a provider name ( that field was misnamed oai_repository_name ) and an email address to report problems. <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Sets are optional. I set up separate sets for law and health in our server, but I don’t need to use these for VH crawl, as I’m going to be using the @mainagency code for distinguishing publishing org. So they should also have set Agency
Code in ArchivesSpace “Manage Repositories” fields. <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">oai_ead_options support was added in v2.5.0. If you want digital objects exported, set that to be true. <o:p></o:p></p>
<p class="MsoNormal">For consistency, you should probably use the same options that you typically use when exporting from staff interface. <o:p></o:p></p>
<p class="MsoNormal">You probably don’t want :include_unpublished, as OAI is a public endpoint. <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Once it’s configured, you should be able to go to the oai_proxy_url /sample and test the links on that page.<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">I would also suggest checking out the OAI implementation guidelines and the site validator in links below.<o:p></o:p></p>
<p class="MsoNormal"> The validator may not pass the FULL suite of tests, but should pass the basic ones. <o:p></o:p></p>
<p class="MsoNormal">( If it passes the basic test, the other problems are issues with the OAI implementation in ArchivesSpace. )<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">+ [Open Archives Initiative](http://www.openarchives.org/pmh/)<o:p></o:p></p>
<p class="MsoNormal">+ [Protocol documentation](http://www.openarchives.org/OAI/openarchivesprotocol.html)<o:p></o:p></p>
<p class="MsoNormal">+ [implementation guidelines](http://www.openarchives.org/OAI/2.0/guidelines.htm)<o:p></o:p></p>
<p class="MsoNormal">+ [site validator](http://www.openarchives.org/Register/ValidateSite)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<o:p></o:p></p>
<p class="MsoNormal">Rick Neal<o:p></o:p></p>
<p class="MsoNormal">Library Applications and Systems Administrator<o:p></o:p></p>
<p class="MsoNormal">Boatwright Memorial Library<o:p></o:p></p>
<p class="MsoNormal">University of Richmond, VA 23173<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">rneal@richmond.edu<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>