OAI-PMH in LUNA

Introduction


With the introduction of 6.3 LUNA is compliant with OAI-PMH (Open Archives Initiative Protocol for Metadata Harvesting). To make use of this new feature you will need to prepare your collections.

  • Upgrade LUNA to 6.3 and enter your Repository Name and email account or use the Administrator Tools to modify your existing values.
  • Publish or Re-publish your collection to LUNA.
  • Map your collection's fields to Dublin Core using the LUNA Manager of the Administrator Tools.
  • Make sure your collection is publicly accessible.
  • Register your LUNA OAI-PMH URL with a harvester.


Prepare LUNA and your collection for OAI-PMH


Set your Repository Name and admin email in LUNA
During the install or upgrade process you are asked for the Repository Name and an Admin email account. These two items are required for proper OAI compliance.

If you have already upgraded to 6.3+ and need to modify this information, you can use the Admin Tools to change these properties.
In the Application Configuration section of the LUNA Manager, you can edit the oaiRepositoryName and the oaiRepositoryAdminEmail attributes. If you make the changes here, you will need to restart the LUNA service.


Publish your collection to LUNA
To ready your collections for OAI-PMH you must first publish or republish your collection to LUNA. This will populate the LUNA Admin Tools with all the fields from your source collection and allow you to continue to the next step.
Map your collection's fields to Dublin core
Open your Admin Tools and right click on the Media Fields node then launch Manage media field relations.

Once opened, choose your collection from the drop down list on the left side of the panel.


Click on each field you want to make available in OAI-PMH on the left then click the corresponding field on the right. Your source field will be highlighted in red and your associated field will be highlighted in blue. Once done click the Save button.

  • Important! Once your mapping of the fields is complete, you must restart the LUNA service.



Optional Addition of Image URL can be added to the OAI-PMH result
If you would like to allow the harvesting of Image URL's, just follow these instructions.
In the Application Configuration section of the LUNA Manager, you can add the Attribute "oaiAdditionalIdentifiers".

(for showing just URL to detail view)
detailview
(for showing URL to detail view, and size 2 URL)
detailview,size2
You can add the following

Insight Size

Dimensions

size0

– up to 96 pixels on the long side (Small Thumbnail in LUNA)

size1

– up to 192 pixels on the long side (Medium Thumbnail in LUNA)

size2

– up to 384 pixels on the long side (Large Thumbnail in LUNA)

size3

– up to 768 pixels on the long side

size4

– up to 1536 pixels on the long side

  • (Pre 6.3.6.4) Only detailview and one size option can be added .

 

As of version 6.3.6.4 

  • Order is consistent with the order of options you enter in the oaiAdditionalIdentifiers
  • Ordering of multiple fields mapped to the same field in Dublin Core.

Instructions for ordering.

In the case where you have multiple fields mapped to the same field in Dublin Core, you may also specify the order these fields are displayed in the response:

Identify the collection you are affecting

Attribute: oaiOrderedStandardName0

Value: LUNA~9~1

 

Attribute: oaiOrderedStandardFields0

Value: full_title,author,short_title

Attribute: oaiOrderedDCField0

Value: title

In the example above, you are specifying the order of fields for collection with ID: LUNA~9~1. Luna is configured so that for the fields mapped to "title" in Dublin Core, display the values as follow: full_title, author, short title. If there is any other fields besides these three mapped to "title" in this collection, they will come last.

The values for oaiOrderedStandardFields0 and oaiOrderedDCField0 are case-insensitive, oaiOrderedStandardFields0 should be a comma-delimited list of internal field names. Any spaces before or after the comma(s) will be trimmed.

 

  • If you make the changes here, you will need to restart the LUNA tomcat service.




Testing your Collection
In the following tests, replace localhost with your LUNA server name and port number.
This first request asks the server to "Identify" itself and returns the repository name and admin email.
Request: http://localhost:8180/luna/servlet/oai?verb=Identify
Result:


Next, you are asking the system to list all the records "ListIdentifiers" and their unique identifiers. insight63icm~4~4~21~100073 is an example of an identifier. It's made up of the InstitutionID~CollectionID~uniqueCollectionID~ObjectID~MediaID
Request: http://localhost:8180/luna/servlet/oai?verb=ListIdentifiers&metadataPrefix=oai_dc&set=insight63icm~4~4
Result:

The next request will list the first 50 records using "ListRecords". This will return the content in the form of a URL.
Request: http://localhost:8180/luna/servlet/oai?verb=ListRecords&metadataPrefix=oai_dc&set=insight63icm~4~4
Result:

If these tests are returning results then your collection is ready to provide access to an OAI harvester.
You can also test your repository at the OAI Repository Explorer
To submit your content to a harvester just submit your Base URL.
http://localhost:8180/luna/servlet/oai