OAI-PMH ListSets validation problem

@asmecher @bozana

OAI-PMH ListSets doesn’t validate to the OAI 2.0 specification for journal sections that use spaces in their section abbreviations.

Such sets all contain a “+” sign as a replacement for a space. But a “+” sign is not allowed in the Sets syntax according to OAI spec 2.0. It should be replaced by an underscore “_” or removed completely.

One can also check this here: OAI-PMH Validator & data extractor - OAIPMH.com and enter https://www.hope.uzh.ch/oai as the URL to check.

Currently there is no way to avoid (except by instructions) that journals enter fancy abbreviations in the section abbreviation field.

Application version: OJS 3.3.0-8 (and probably older and newer versions, too)

Possible solutions:

  • fix OAI-PMH export so that spaces or + in sets are replaced by underscores (prefered)
  • adding a validation (regex) to the section abbreviation field

Ah - I see that this has been treated in Improve OAI-PMH set spec compliance · Issue #4235 · pkp/pkp-lib · GitHub, but has not gone yet into the 3.3 branch and is reserved for the 3.4 milestone.

Can I apply the necessary intermediate patches to the 3.3 branch without destroying the other functionality of the OAI-PMH (I see that pkp-lib/classes/oai at main · pkp/pkp-lib · GitHub has changed a lot with respect to 3.3.0_stable)? We would need them urgently for one of our important harvesters.

Hi @mpbraendle,

The PRs will have to be applied manually to stable-3_3_0 code, but the changes are not substantial – they are mostly code formatting and the addition of namespaces to classes, so while a back-port will be annoying, it won’t be complicated.

Regards,
Alec Smecher
Public Knowledge Project Team

Thank you @asmecher - I have backported the necessary changes to our installation.

1 Like