OAI-PMH Support (UXPROD-993)

[MODOAIPMH-14] OAI-PMH: Implement verb "ListSets" Created: 28/Sep/18  Updated: 14/Nov/18  Resolved: 29/Oct/18

Status: Closed
Project: mod-oai-pmh
Components: None
Affects versions: None
Fix versions: 1.0.0
Parent: OAI-PMH Support

Type: Story Priority: P3
Reporter: Hkaplanian Assignee: Hkaplanian
Resolution: Done Votes: 0
Labels: epam-thunderjet
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original estimate: Not Specified

Issue links:
Relates
relates to UXPROD-350 OAI-PMH Support Closed
Sprint: oai-pmh - sprint 49
Story Points: 2
Development Team: Thunderjet
Epic Link: OAI-PMH Support

 Description   

Official Specification: https://www.openarchives.org/OAI/openarchivesprotocol.html#ListSets

1. Spike task: How will sets be implemented? Converted to its own story
2. Implementation
3. Error conditions

For now we're only supporting the "all" set (which is the set of all records) and will expand on this later on (possibly in 2019 Q1), e.g.

...
  <set>
    <setSpec>all</setSpec>
    <setName>All Records</setName>
  </set>
...

Error Conditions:

  • badArgument - The request includes illegal arguments or is missing required arguments.
  • badResumptionToken - The value of the resumptionToken argument is invalid or expired.
  • noSetHierarchy - The repository does not support sets.
    • should never run into this...

NOTE: resumptionTokens aren't part of this story, so we might want to return an error if one is provided.



 Comments   
Comment by Pavel Korolenok [ 22/Oct/18 ]

Hi Craig McNally, Hkaplanian,

What do you think about returning "noSetHierarchy" error (means 'The repository does not support sets') instead of "all" set?

Comment by Hkaplanian [ 22/Oct/18 ]

I think if we can use the "from" argument with a value of "1900-01-01" with an empty "until" value to retrieve the entire collection of records, that should get us what we need and allow us to eliminate the set "all". Craig McNally, do you think the EBSCO and other harvesters support this?

This seems to be the way to request all MARC records using an OAI harvester:
+

{baseURL}

?verb=ListRecords&metadataPrefix=

{marc21 OR marcxml}

Lists all records in the repository having marc21xml metadata

Comment by Craig McNally [ 22/Oct/18 ]

Hkaplanian Date ranges are handled independently from sets, e.g. you can ask for the intersection of a set and date range.

We discussed this at the standup. My stance is that there's a slight preference towards specifying "all" for now since we do plan on implementing sets in the future and this would make that transition somewhat easier than returning noSetHierarchy.

Comment by Hkaplanian [ 22/Oct/18 ]

Craig McNally, I'm good with your stance.

Comment by Pavel Korolenok [ 25/Oct/18 ]

The story is completed and ready for review.

Generated at Fri Feb 09 00:13:40 UTC 2024 using Jira 1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d.