Sunday, August 17, 2008

Testing IFIP Digital Library OAI Interface

For those wondering what the OAI interface I was asking librarians to test for the IFIP Digital Library: The Open Archives Initiative (OAI) defines a standard computer to computer interface (OAI-PMH) which can be used to query a digital library to see what information it has and in what formats. The IFIP Digital Library uses the Open Journal Systems (OJS) open source publishing system which has OAI built in.

Normally you would point your own OAI software at the address of the IFIP DL and it would send transactions and extract data into your system. But you can also use some test tools to see what is happening. One of these is the Open Archives Initiative - Repository Explorer. With this you supply the address on an OAI system and then can pass queries and see the data. There is also an automatic test which sends a series of queries and checks the answers. These are used in the Conformance Testing for Basic Functionality, Error and Exception Handling by the OAI Registry. Here are the results of the test on the IFIP DL:

Open Archives Initiative - Repository Explorer

explorer version - 1.46c : protocol version - 2.0 : December 2006
Open Archives Initiative :: Protocol for Metadata Harvesting v2.0
RE Protocol Tester 1.46c :: UCT AIM :: December 2006

(1) Testing : Identify
URL : http://dl.ifip.org/iojs/index.php/ifip/oai?verb=Identify
Test Result : OK
---- [ Repository Name = International Federation for Information Processing Digital Library ]
---- [ Protocol Version = 2.0 ]
---- [ Base URL = http://dl.ifip.org/iojs/index.php/ifip/oai ]
---- [ Admin Email = tom.gedeon@anu.edu.au ]
---- [ Granularity = YYYY-MM-DDThh:mm:ssZ ]
---- [ Earliest Datestamp = 2008-04-01T10:07:00Z ]

(2) Testing : Identify (illegal_parameter)
URL : http://dl.ifip.org/iojs/index.php/ifip/oai?verb=Identify&test=test
Test Result : OK

(3) Testing : ListMetadataFormats
URL : http://dl.ifip.org/iojs/index.php/ifip/oai?verb=ListMetadataFormats
Test Result : OK
---- [ Only oai_dc supported ]

(4) Testing : ListSets
URL : http://dl.ifip.org/iojs/index.php/ifip/oai?verb=ListSets
Test Result : OK
---- [ Sample Set Spec = ifip ]

(5) Skipping : ListSets (resumptionToken)
This test is being skipped because it cannot or should not be performed.

(6) Testing : ListIdentifiers (oai_dc)
URL : http://dl.ifip.org/iojs/index.php/ifip/oai?verb=ListIdentifiers&metadataPrefix=oai_dc
Test Result : OK
---- [ Sample Identifier = oai:ifip.cs.anu.edu.au:article/711 ]

(7) Skipping : ListIdentifiers (resumptionToken)
This test is being skipped because it cannot or should not be performed.

(8) Skipping : ListIdentifiers (resumptionToken, oai_dc)
This test is being skipped because it cannot or should not be performed.

(9) Testing : ListIdentifiers (oai_dc, from/until)
URL : http://dl.ifip.org/iojs/index.php/ifip/oai?verb=ListIdentifiers&metadataPrefix=oai_dc&from=2000-01-01&until=2000-01-01
Test Result : OK

(10) Testing : ListIdentifiers (oai_dc, set, from/until)
URL : http://dl.ifip.org/iojs/index.php/ifip/oai?verb=ListIdentifiers&metadataPrefix=oai_dc&set=ifip&from=2000-01-01&until=2000-01-01
Test Result : OK

(11) Testing : ListIdentifiers (oai_dc, illegal_set, illegal_from/until)
URL : http://dl.ifip.org/iojs/index.php/ifip/oai?verb=ListIdentifiers&metadataPrefix=oai_dc&set=really_wrong_set&from=some_random_date&until=some_random_date
Test Result : OK

(12) Testing : ListIdentifiers (oai_dc, from granularity != until granularity)
URL : http://dl.ifip.org/iojs/index.php/ifip/oai?verb=ListIdentifiers&metadataPrefix=oai_dc&from=2001-01-01&until=2002-01-01T00:00:00Z
Test Result : OK

(13) Testing : ListIdentifiers (oai_dc, from > until)
URL : http://dl.ifip.org/iojs/index.php/ifip/oai?verb=ListIdentifiers&metadataPrefix=oai_dc&from=2000-01-01&until=1999-01-01
Test Result : OK

(14) Testing : ListIdentifiers ()
URL : http://dl.ifip.org/iojs/index.php/ifip/oai?verb=ListIdentifiers
Test Result : OK

(15) Skipping : ListIdentifiers (metadataPrefix)
This test is being skipped because it cannot or should not be performed.

(16) Testing : ListIdentifiers (illegal_mdp)
URL : http://dl.ifip.org/iojs/index.php/ifip/oai?verb=ListIdentifiers&metadataPrefix=illegal_mdp
Test Result : OK

(17) Testing : ListIdentifiers (mdp, mdp)
URL : http://dl.ifip.org/iojs/index.php/ifip/oai?verb=ListIdentifiers&metadataPrefix=oai_dc&metadataPrefix=oai_dc
Test Result : OK

(18) Testing : ListIdentifiers (illegal_resumptiontoken)
URL : http://dl.ifip.org/iojs/index.php/ifip/oai?verb=ListIdentifiers&resumptionToken=junktoken
Test Result : OK

(19) Testing : ListIdentifiers (oai_dc, from YYYY-MM-DD)
URL : http://dl.ifip.org/iojs/index.php/ifip/oai?verb=ListIdentifiers&metadataPrefix=oai_dc&from=2001-01-01
Test Result : OK

(20) Testing : ListIdentifiers (oai_dc, from YYYY-MM-DDThh:mm:ssZ)
URL : http://dl.ifip.org/iojs/index.php/ifip/oai?verb=ListIdentifiers&metadataPrefix=oai_dc&from=2001-01-01T00:00:00Z
Test Result : OK

(21) Testing : ListIdentifiers (oai_dc, from YYYY)
URL : http://dl.ifip.org/iojs/index.php/ifip/oai?verb=ListIdentifiers&metadataPrefix=oai_dc&from=2001
Test Result : OK

(22) Testing : ListMetadataFormats (identifier)
URL : http://dl.ifip.org/iojs/index.php/ifip/oai?verb=ListMetadataFormats&identifier=oai:ifip.cs.anu.edu.au:article/711
Test Result : OK
---- [ Only oai_dc supported ]

(23) Testing : ListMetadataFormats (illegal_id)
URL : http://dl.ifip.org/iojs/index.php/ifip/oai?verb=ListMetadataFormats&identifier=really_wrong_id
Test Result : OK

(24) Skipping : GetRecord (identifier, metadataPrefix)
This test is being skipped because it cannot or should not be performed.

(25) Testing : GetRecord (identifier, oai_dc)
URL : http://dl.ifip.org/iojs/index.php/ifip/oai?verb=GetRecord&identifier=oai:ifip.cs.anu.edu.au:article/711&metadataPrefix=oai_dc
Test Result : OK

(26) Testing : GetRecord (identifier)
URL : http://dl.ifip.org/iojs/index.php/ifip/oai?verb=GetRecord&identifier=oai:ifip.cs.anu.edu.au:article/711
Test Result : OK

(27) Testing : GetRecord (identifier, illegal_mdp)
URL : http://dl.ifip.org/iojs/index.php/ifip/oai?verb=GetRecord&identifier=oai:ifip.cs.anu.edu.au:article/711&metadataPrefix=really_wrong_mdp
Test Result : OK

(28) Testing : GetRecord (oai_dc)
URL : http://dl.ifip.org/iojs/index.php/ifip/oai?verb=GetRecord&metadataPrefix=oai_dc
Test Result : OK

(29) Testing : GetRecord (illegal_id, oai_dc)
URL : http://dl.ifip.org/iojs/index.php/ifip/oai?verb=GetRecord&identifier=really_wrong_id&metadataPrefix=oai_dc
Test Result : OK

(30) Testing : GetRecord (invalid_id, oai_dc)
URL : http://dl.ifip.org/iojs/index.php/ifip/oai?verb=GetRecord&identifier=invalid\"id&metadataPrefix=oai_dc
Test Result : OK

(31) Testing : ListRecords (oai_dc, from/until)
URL : http://dl.ifip.org/iojs/index.php/ifip/oai?verb=ListRecords&metadataPrefix=oai_dc&from=2000-01-01&until=2000-01-01
Test Result : OK

(32) Skipping : ListRecords (resumptionToken)
This test is being skipped because it cannot or should not be performed.

(33) Skipping : ListRecords (metadataPrefix, from/until)
This test is being skipped because it cannot or should not be performed.

(34) Testing : ListRecords (oai_dc, illegal_set, illegal_from/until)
URL : http://dl.ifip.org/iojs/index.php/ifip/oai?verb=ListRecords&metadataPrefix=oai_dc&set=really_wrong_set&from=some_random_date&until=some_random_date
Test Result : OK

(35) Testing : ListRecords
URL : http://dl.ifip.org/iojs/index.php/ifip/oai?verb=ListRecords
Test Result : OK

(36) Testing : ListRecords (oai_dc, from granularity != until granularity)
URL : http://dl.ifip.org/iojs/index.php/ifip/oai?verb=ListRecords&metadataPrefix=oai_dc&from=2001-01-01&until=2002-01-01T00:00:00Z
Test Result : OK

(37) Testing : ListRecords (oai_dc, until before earliestDatestamp)
URL : http://dl.ifip.org/iojs/index.php/ifip/oai?verb=ListRecords&metadataPrefix=oai_dc&until=2007-04-01T10:07:00Z
Test Result : OK

(38) Testing : ListRecords (oai_dc)
URL : http://dl.ifip.org/iojs/index.php/ifip/oai?verb=ListRecords&metadataPrefix=oai_dc
Test Result : OK

(39) Testing : ListRecords (illegal_resumptiontoken)
URL : http://dl.ifip.org/iojs/index.php/ifip/oai?verb=ListRecords&resumptionToken=junktoken
Test Result : OK

(40) Testing : ListIdentifiers (oai_dc, set)
URL : http://dl.ifip.org/iojs/index.php/ifip/oai?verb=ListIdentifiers&metadataPrefix=oai_dc&set=ifip
Test Result : OK

(41) Testing : GetRecord (identifier, oai_dc)
URL : http://dl.ifip.org/iojs/index.php/ifip/oai?verb=GetRecord&identifier=oai:ifip.cs.anu.edu.au:article/711&metadataPrefix=oai_dc
Test Result : OK
---- [ Found setSpec in header ]

(42) Testing : IllegalVerb
URL : http://dl.ifip.org/iojs/index.php/ifip/oai?verb=IllegalVerb
Test Result : OK

---- Total Errors : 0


From: "Open Archives Initiative - Repository Explorer" test of IFIP DL, explorer version - 1.46c : protocol version - 2.0 : December 2006 (run 17 August 2008)

The Self description for the archive:

Open Archives Initiative - Repository Explorer

explorer version - 1.46c : protocol version - 2.0 : December 2006

http://dl.ifip.org/iojs/index.php/ifip/oai?verb=Identify

Archive details : http://dl.ifip.org/

Archive Self-Description

Repository NameInternational Federation for Information Processing Digital Library
Base URLhttp://dl.ifip.org/iojs/index.php/ifip/oai
Protocol Version2.0
Admin Emailtom.gedeon@anu.edu.au
Earliest Datestamp2008-04-01T10:07:00Z
Deleted Record Handlingno
GranularityYYYY-MM-DDThh:mm:ssZ
Compressiongzip
Compressiondeflate
Other Information
description:
oai-identifier:
scheme: oai
repositoryIdentifier: ifip.cs.anu.edu.au
delimiter: :
sampleIdentifier: oai:ifip.cs.anu.edu.au:article/1

Request : http://dl.ifip.org/iojs/index.php/ifip/oai, verb=Identify
Response Date : 2008-08-17T04:35:13Z

Requesting a list of metadata formats returns:

Open Archives Initiative - Repository Explorer

explorer version - 1.46c : protocol version - 1.0/1.1/2.0 : December 2006

http://dl.ifip.org/iojs/index.php/ifip/oai?verb=ListMetadataFormats

Archive details : http://dl.ifip.org/

List of Metadata Formats

Click on the link to view schema

Prefix=[oai_dc]
NameSpace=[http://www.openarchives.org/OAI/2.0/oai_dc/]
Schema=[http://www.openarchives.org/OAI/2.0/oai_dc.xsd]

Prefix=[oai_marc]
NameSpace=[http://www.openarchives.org/OAI/1.1/oai_marc]
Schema=[http://www.openarchives.org/OAI/1.1/oai_marc.xsd]

Prefix=[marcxml]
NameSpace=[http://www.loc.gov/MARC21/slim]
Schema=[http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd]

Prefix=[rfc1807]
NameSpace=[http://info.internet.isi.edu:80/in-notes/rfc/files/rfc1807.txt]
Schema=[http://www.openarchives.org/OAI/1.1/rfc1807.xsd]


Request : http://dl.ifip.org/iojs/index.php/ifip/oai, verb=ListMetadataFormats
Response Date : 2008-08-17T00:56:06Z

All the records in the archive can then be displayed:

Open Archives Initiative - Repository Explorer

explorer version - 1.46c : protocol version - 2.0 : December 2006

http://dl.ifip.org/iojs/index.php/ifip/oai?verb=ListIdentifiers&metadataPrefix=oai_dc

Archive details : http://dl.ifip.org/

List of Record Identifiers

Select a link to view more information ...

header: identifier : oai:ifip.cs.anu.edu.au:article/711 datestamp : 2008-04-01T10:07:00Z setSpec : ifip:SS [display record in Dublin Core] [display metadata formats]

...

header:
identifier : oai:ifip.cs.anu.edu.au:article/1273
datestamp : 2008-07-16T10:07:00Z
setSpec : ifip:SS

[display record in Dublin Core] [display metadata formats]


Request : http://dl.ifip.org/iojs/index.php/ifip/oai, verb=ListIdentifiers, metadataPrefix=oai_dc
Response Date : 2008-08-17T03:31:36Z

The metadata for a record can be selected:

Open Archives Initiative - Repository Explorer

explorer version - 1.46c : protocol version - 2.0 : December 2006

http://dl.ifip.org/iojs/index.php/ifip/oai?verb=GetRecord&metadataPrefix=oai_dc&identifier=oai%3Aifip.cs.anu.edu.au%3Aarticle%2F1273

Archive details : http://dl.ifip.org/

List of Fields

header:
identifier : oai:ifip.cs.anu.edu.au:article/1273
datestamp : 2008-07-16T10:07:00Z
setSpec : ifip:SS

metadata:
dc:
title: Differentiated Survivability in a Distributed GMPLS-Based IP-over-Optical Network
creator: David Harle
creator: Saud Albarrak
subject:
subject:
subject:
description: A key element of the survivability cost is the amount of the additional capacity embedded in the network for recovery purposes. Generally, Internet Service Providers (ISPs) have the obvious aim of achieving the required level of survivability with minimum resource consumption and network cost. Therefore, in order to achieve such a challenge, it is necessary to move towards the multilayer differentiated survivability concept. In this paper, the focus is given to the investigation of the application of differentiated survivability concept with pre-allocated restoration technique considering a distributed GMPLS-based IP-over-optical mesh network under single and dual-link failure scenarios.
publisher: International Federation for Information Processing
contributor:
date: 1970-01-01
type: Peer-reviewed Article
type:
format: application/pdf
identifier: http://dl.ifip.org/iojs/index.php/ifip/article/view/1273
source: International Federation for Information Processing Digital Library; Optical Network Design and Modelling (ONDM 2008);
language:
coverage:
coverage:
coverage:
rights: Copyright© International Federation for Information Processing. Most IFIP papers are Under the Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Unported License.


Request : http://dl.ifip.org/iojs/index.php/ifip/oai, verb=GetRecord, metadataPrefix=oai_dc, identifier=oai:ifip.cs.anu.edu.au:article/1273
Response Date : 2008-08-17T04:31:28Z

No comments: