ualbertalib / fcrepo4-oaiprovider

Fedora 4 OAI Provider implementation
3 stars 1 forks source link

Should not return communities as sets #4

Closed pbinkley closed 7 years ago

pbinkley commented 7 years ago

Problem: a request for identifiers or records in a set corresponding to a community returns no results. E.g. https://era.library.ualberta.ca/oai?verb=ListIdentifiers&metadataPrefix=oai_dc&set=44558r69g (which corresponds to https://era.library.ualberta.ca/collections/44558r69g).

Solution: do not report communities as sets. They can be distinguished from collections by the ualidentifier:is_community boolean flag in the Fedora object. The response to ListSets should include only the identifiers of collections.

This bug accounts for the refusal of the OAI registry at openarchives.org to register our OAI provider: when validating the oai service, it requests a list of sets, and then uses the first set in the list to validate the ListIdentifiers response. The first set in our list happens to be a community, so the response to ListIdentifiers contains no identifiers and is therefore invalid.

jefferya commented 7 years ago

In conversation with Weiwei: