We use the proai oaiprovider. Here's our setup, just in case it's useful.

We run it in a separate tomcat, not Fedora's. I discovered when installing it 
that there was a bit of a race condition if running in Fedora's tomcat as proai 
was trying to poll as it came up but Fedora wasn't fully up yet. So I put it in 
a separate tomcat which we use for various other repository related services. 
It's also possible if you want to run Fedora and proai in the same tomcat to 
disable polling initially in the proai database, start up Fedora, then enable 
polling in the proai database. This all may be an artifact of a previous 
release of proai that was available when we did this, rather than anything that 
matters with more current releases.

Then I created Fedora objects for each desired OAI set.  For example, here are 
the RELS-EXT and SetInfo.xml datastreams for one of our sets:

 <foxml:datastream CONTROL_GROUP="X" ID="RELS-EXT" STATE="A" VERSIONABLE="true">
    <foxml:datastreamVersion ID="RELS-EXT.0"
      LABEL="Fedora Object-to-Object Relationship Metadata" MIMETYPE="text/xml">
      <foxml:xmlContent>
        <rdf:RDF xmlns:fedora-model="info:fedora/fedora-system:def/model#" 
xmlns:oai="http://www.openarchives.org/OAI/2.0/";
          xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"; 
xmlns:rel="info:fedora/fedora-system:def/relations-external#">
          <rdf:Description rdf:about="info:fedora/inu:inu-mntb-public-oaiset">
            <oai:setSpec>inu-mntb-public</oai:setSpec>
            <oai:setName>NUL Public Access Books</oai:setName>
          </rdf:Description>
        </rdf:RDF>
      </foxml:xmlContent>
    </foxml:datastreamVersion>
  </foxml:datastream>


  <foxml:datastream CONTROL_GROUP="X" ID="SetInfo.xml" STATE="A" 
VERSIONABLE="true">
    <foxml:datastreamVersion ID="SetInfo.xml1.0" LABEL="SetInfo Dublin Core 
Metadata"
      MIMETYPE="text/xml">
      <foxml:xmlContent>
        <setDescriptions>
          <setDescription>
            <oai_dc:dc xmlns:dc="http://purl.org/dc/elements/1.1/"; 
xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/";>
                          <dc:title>OAI-PMH set for public access 
books</dc:title>
                          <dc:description>OAI-PMH set for public access 
books</dc:description>
            </oai_dc:dc>
          </setDescription>
        </setDescriptions>
      </foxml:xmlContent>
    </foxml:datastreamVersion>
  </foxml:datastream>

Then it's a matter of member objects asserting their membership in the set 
within their RELS-EXT. For example, here is part of such a RELS-EXT for one of 
our books:

<rdf:RDF xmlns:fedora-model="info:fedora/fedora-system:def/model#" 
xmlns:oai="http://www.openarchives.org/OAI/2.0/"; 
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"; 
xmlns:rel="info:fedora/fedora-system:def/relations-external#">
  <rdf:Description rdf:about="info:fedora/inu:inu-mntb-0005294292-bk">
...
 <oai:itemID>oai:inu:inu-mntb-0005294292-bk</oai:itemID>
    <rel:isMemberOf 
rdf:resource="info:fedora/inu:inu-mntb-public-oaiset"></rel:isMemberOf>
  </rdf:Description>
</rdf:RDF>
You can of course use a different property than "isMemberOf".  This is 
configured in the proai properties file:

driver.fedora.itemSetSpecPath = $item 
<info:fedora/fedora-system:def/relations-external#isMemberOf> $set $set 
<http://www.openarchives.org/OAI/2.0/setSpec> $setSpec

There are other configuration settings in proai.properties which are probably 
more of local interest. We're exposing the default oai_dc schema. 

Please infer appropriate disclaimers here. :) I'm not an expert on this but it 
seems to work. 

BTW, we're in the process now of adding MODS support and downstream 
normalization for Primo exposure of image collections. I'd be very interested 
in hearing from other who have done or are planning this sort of thing.

- Bill




 
On Aug 10, 2010, at 5:03 AM, Boon Low wrote:

> Hi,
> 
> I have attempted this a few years ago (2006), to make existing content of a 
> fedora repository (subset) available for harvesting by a EGEE project partner 
> in Pisa. It was a quick and dirty solution: through JSP script which loops 
> through the harvestable FOXML objects in a directory (caveat), and applies 
> XSLT to insert the required REL-EXT datastream. We then rebuild the 
> repository, through batch ingest etc. After this, we created web UI (Orbeon) 
> to manage new and existing objects: addition and removals of objects to/from 
> the harvestable collection. Attached the JSP/XSL stylesheet for reference. 
> The JSP is based on the good old JSTL and other 3rd party taglib. Obviously a 
> more elegant solution would be a proper Java servlet.
> 
> Regards,
> 
> Boon
> 
> 
> 
> -- 
> The University of Edinburgh is a charitable body, registered in
> Scotland, with registration number SC005336.
> 
> <insertPIDnRELS-EXTintoAgendaMakerObject.jsp>
> 
> <insertPIDnRELS-EXTintoAgendaMakerObject.xsl>
> 
> -----
> Boon Low
> UX2.0: Developer, Manager
> UK National e-Science Centre
> http://homepages.ed.ac.uk/boon
> 
> 
> On 10 Aug 2010, at 08:54, Hamilton, Gill wrote:
> 
>> Please reply to the list.  We're just trying to understand about OAI and
>> are interested, like Anoop, to hear and learn from others.
>> 
>> Best wishes
>> Gill
>> 
>> ---------------------------------------------------
>> Gill Hamilton
>> Systems Librarian
>> National Library of Scotland
>> George IV Bridge
>> Edinburgh EH1 1EW
>> Scotland, UK
>> 
>> e: [email protected]
>> skype: gill.hamilton.nls
>> t: +44 (0)131-623 3769
>> w: http://www.nls.uk
>> 
>> 
>> 
>> -----Original Message-----
>> From: Anoop Kumar [mailto:[email protected]] 
>> Sent: 09 August 2010 19:22
>> To: [email protected]
>> Subject: [fcrepo-user] Help Implementing Fedora OAI Provider Service
>> 
>> Hi,
>> 
>> We have a Fedora repository in production and are planning to implement 
>> the Fedora OAI Provider that is part of the  Fedora Service Framework( 
>> https://wiki.duraspace.org/display/FCSVCS/OAI+Provider+Service+1.2). 
>> The documentations says that the name of the RELS-EXT property whose 
>> value (a plain literal) contains the OAI item ID must exist in RELS-EXT.
>> 
>>        Does that mean we have to modify the RELS-EXT of every object 
>> in the repository that gets an OAI record?
>> 
>> Has anyone setup the OAI service after  building a repository with more 
>> than 50000 objects? We would like to hear your experience and get any 
>> tips before taking on this task.
>> 
>> thanks,
>> Anoop
>> -- 
>> Anoop Kumar
>> Information Systems Architect,
>> University Information Technology - Academic Technology
>> Tufts University
>> 16 Dearborn Road, Rm. 205B
>> Somerville, MA 02144
>> 
>> Phone: 617.627.2708
>> Fax: 617.627.3667
>> 
>> http://uit.tufts.edu/at/
>> 
>> ------------------------------------------------------------------------
>> ------
>> This SF.net email is sponsored by 
>> 
>> Make an app they can't live without
>> Enter the BlackBerry Developer Challenge
>> http://p.sf.net/sfu/RIM-dev2dev 
>> _______________________________________________
>> Fedora-commons-users mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/fedora-commons-users
>> ***********************************************************************
>> Visit the National Library of Scotland online at www.nls.uk
>> ***********************************************************************
>> Please consider the environment before printing this e-mail.
>> 
>> This communication is intended for the addressee(s) only. If you
>> are not the intended recipient, please notify the Information Services 
>> Helpdesk on +44 131 623 3789 or [email protected] and delete this e-mail. 
>> The statements and opinions expressed in this message are those of the 
>> author and do not necessarily reflect those of the National Library of 
>> Scotland. The National Library of Scotland is a registered Scottish charity. 
>> Scottish Charity No. SC011086. This message is subject to the Data 
>> Protection Act 1998 
>> and Freedom of Information (Scotland) Act 2002 and has been 
>> scanned by Webroot.
>> *********************************************************************** 
>> 
>> Follow us on Twitter for twice-weekly updates.
>> Become our fan on Facebook and keep up-to-date that way too.
>> 
>> ------------------------------------------------------------------------------
>> This SF.net email is sponsored by 
>> 
>> Make an app they can't live without
>> Enter the BlackBerry Developer Challenge
>> http://p.sf.net/sfu/RIM-dev2dev 
>> _______________________________________________
>> Fedora-commons-users mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/fedora-commons-users
>> 
> 
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by 
> 
> Make an app they can't live without
> Enter the BlackBerry Developer Challenge
> http://p.sf.net/sfu/RIM-dev2dev 
> _______________________________________________
> Fedora-commons-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/fedora-commons-users

Bill Parod
Library Technology Division - Enterprise Systems
Northwestern University Library 
[email protected]
847 491 5368



------------------------------------------------------------------------------
This SF.net email is sponsored by 

Make an app they can't live without
Enter the BlackBerry Developer Challenge
http://p.sf.net/sfu/RIM-dev2dev 
_______________________________________________
Fedora-commons-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/fedora-commons-users

Reply via email to