Opened 14 years ago

Closed 13 years ago

Last modified 12 years ago

#673 closed task (fixed)

test gs3 oaiserver

Reported by: kjdon Owned by: ak19
Priority: high Milestone: 3.05 Release
Component: Greenstone3 Runtime Severity: major
Keywords: Cc:


We should test gs3 oaiserver at a validator site, the following were the ones we used for gs2.

* *

Make sure resumption token is set low enough to make it use them (eg 5 for demo collection).

Will need to set it up on puka so it's visible to outside world.

Change History (16)

comment:1 by sjm84, 13 years ago

Owner: changed from kjdon to ak19

comment:2 by ak19, 13 years ago

GS3's oaiserver now validates successfully against

comment:3 by ak19, 13 years ago

Resolution: fixed
Status: newclosed

comment:4 by ak19, 13 years ago

Revisions for related commits: 23861, 23862, 23901, 23913, 23922, 23923, 23938, 23939, 23943, 23944, 24070

(Suffix to

comment:5 by ak19, 13 years ago

And commit for revision 23946

comment:6 by ak19, 12 years ago

There had been commits about 5 weeks ago to GS2 (around revision number 24114) to fix up GS2's OAIserver which had stopped working and whose earliestDatestamp wasn't functioning the way GS3's earliestDatestamp now functions.

To get GS2 OAIServer to work, edit etc/oai.cfg to provide values for the following properties, with examples:

  • repositoryName "Greenstone"
  • repositoryId "greenstone"

To test the resumptionToken, also set the resumeafter property to be lower:

  • resumeafter 5

For each collection meant to be served over OAI, edit the collection's etc/collect.cfg by filling in necessary data:

  • creator <type email>
  • creator <type email>

comment:7 by ak19, 12 years ago

For GS3, collectionConfig.xml files should already specify that their collections are OAI enabled by default with an OAIPMH element. (This needed correcting but it works again now)

To test the GS3 OAIServer, edit web/WEB-INF/classes/OAIConfig.xml to add in the adminEmail property where test results should be sent. If testing the behaviour of the resumptionToken, set the "resumeAfter" element to a low value like 5.

comment:8 by ak19, 12 years ago

See further above on how to get *GS2* OAIServer to work. In addition, need to edit etc/oai.cfg to also add in any collections to be served over OAI. Add such collections by name to the "oaicollection" property. For example, if collection "oaipdf" should be served over OAI, then append its name to the property oaicollection as follows:

oaicollection demo documented-examples/oai-e oaipdf

comment:9 by ak19, 12 years ago

For both GS3 and GS2, need to make the Greenstone server accessible to the outside world by turning on the "Allow External Connections" option in the GS server dialog.

comment:10 by ak19, 12 years ago

For both GS3 and GS2, need to make the Greenstone server accessible to the outside world by additionally going through the Greenstone Server Interface's File > Settings dialog to set it to use the machine's hostname or host IP instead of localhost.

in reply to:  6 comment:11 by ak19, 12 years ago

Replying to ak19:

  • creator <type email>
  • creator <type email>

Meant to be:

  • creator <type email>
  • maintainer <type email>

comment:12 by ak19, 12 years ago

And remove the default admin email (greenstone@…) from etc/main.cfg

comment:13 by ak19, 12 years ago

Meant: remove the default admin email (greenstone@...) from collect/demo/et/collect.cfg for creator and maintainer email fields.

comment:14 by ak19, 12 years ago

More changes to GS2 OAI server to get it validated against new test at (getRecord test, where an until date is given which is earlier than earliestDateStamp).






comment:15 by ak19, 12 years ago

For GS3, in web/WEB-INF/classes/OAIConfig.xml, set the baseURL property to:


comment:16 by ak19, 12 years ago

2 more commits for getting GS3 validated again:



Modified oai2.xsl to not display the message There Are More Results and the Resume button when the final, empty resumptionToken is sent. The resumptionToken template now tests for whether there are childnodes to the resumptionToken before outputting such a message.



GS3 failed new OAI validation test at The code failed on a listRecords request with a resumptiontoken: since no metadata_prefix was specified, the code was set to fail. Now, the metadata_prefix is appended to the end of the resumptiontoken so that a follow-up request to listrecords can work out what the metadata-prefix was from the resumptiontoken.

Now GS3 completely passes the OAI server valdidation test at again.

Note: See TracTickets for help on using tickets.