Understanding OAI-PMH and Fedora, testing an objects visibility based on its state attribute

1 About this document

Purpose
Attempt to describe how Fedora Commons objects are treated by OAI-PMH harvesters based on their state attribute. This document looks at the different versions of Fedora Commons, focusing on whether or not objects are made visible to OAI-PMH harvesters based on their state (Active, Inactive and Deleted).
Audience
Users of Fedora based repositories
This version date
03/04/09 10:24:38 AM

2 Fedora version 2.2

2.1 Basic OAI provider

http://fedora.info/download/2.2/userdocs/server/webservices/oai/index.html

It appears that Fedora 2.2 ships with a basic OAI provider interface. This standard OAI provider uses the standard OAI PMH syntax and only harvests the Dublin Core of a given object.

Below is an item as viewed using fedora search (showing state attribute). This item is Inactive.

graphics1

This Inactive object is able to be viewed using the basic OAI provider with the following syntax. Further testing involved changing the state of this object to active and then deleted, in all cases the object was still able to be viewed by the basic OAI provider.

http://myserver:8080/fedora/oai?verb=ListRecords&metadataPrefix=oai_dc

Below is the output from the OAI request

<record>
<header>
<identifier>oai:example.org:changeme:74</identifier>
<datestamp>2009-03-03T15:04:54Z</datestamp>
<setSpec>objects</setSpec>
</header>
<metadata>
<oai_dc:dc xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/             http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
<dc:title>This is a title</dc:title>
<dc:creator>asdf          </dc:creator>
<dc:subject>asdf          </dc:subject>
<dc:type>Text          </dc:type>
<dc:language>eng          </dc:language>
</oai_dc:dc>
</metadata>
</record>

3 Fedora OAI Provider Service

http://www.fedora.info/download/2.2/services/oaiprovider/doc/index.html

The Fedora OAI Provider Service although compatible with Fedora 2.2 does not ship with the product as standard. It has added features over the basic OAI provider and can be installed by following the link to the oai provider page above. This installation uses a war file named oaiprovider.war. We found that using this oaiprovider.war file resulted in multiple records being created for one item. The reason for this is that a new record was being created for each dc:identifier record (some of our objects contained multiple dc:identifier records per object). This issue and a white space issues were resolved by amending the code. This new and improved version of the oaiprovider.war file can be found at the following link.

https://rubric-central.usq.edu.au/svn/code/vital/vital_install/oaiprovider-1.1.1/oaiprovider.war

After testing an object for visibility it was discovered that the object was visible to an OAI-PMH harvester regardless of its state (Active, Inactive or Deleted).

4 Fedora version 3

Fedora 3 also ships with a basic OAI provider. The same results were found in Fedora 3 with regards to OAI visibility based on status attribute.

The following query in a browser resulted in the corresponding XML record being displayed for a test object regardless of whether the object in question was Active, Inactive or Deleted.

http://localhost:8080/fedora/oai?verb=ListRecords&metadataPrefix=oai_dc
<record>
<header>
<identifier>
oai:example.org:uuid:d9e29180-0fec-4a73-a97f-ec809f2b7d92
</identifier>
<datestamp>2009-03-05T13:58:44Z</datestamp>
</header>
<metadata>
<oai_dc:dc xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/             http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
<dc:title>oai:eprints.usq.edu.au:1794          </dc:title>
<dc:identifier>
uuid:d9e29180-0fec-4a73-a97f-ec809f2b7d92
</dc:identifier>
</oai_dc:dc>
</metadata>
</record>
Advertisements

4 thoughts on “Understanding OAI-PMH and Fedora, testing an objects visibility based on its state attribute

    • Are you using Fedora, if so I have some documentation that will help you deploy OAI Provider Service
      I will email you a pdf file.
      Cheers
      Tim

  1. Thank you that saves some information but how do you get around the visibility thing?
    * do you write your own
    * do you customise the one that is there
    * is there another component out there that works differently that you could use?

    Have you found a solution or a work around or are you just using it the way it is?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s