Is there a way to publicly export issue metadata?

Hello,

Using OAI-PMH we can publicly export article metadata. Is there a similar way to publicly export issue metadata (issue title, galleys, cover, date, year, etc)? The Native XML Plugin sort of does that, but not publicly.

Thanks!

Version: latest OJS3

Hi @kasioumis,

The OAI interface only supports article-level content at the moment, and the import/export and report plugins also have a similar focus (although in that case it’s up to each plugin to decide what it focuses on). I think you might need to write up a new report or import/export plugin to get a pure focus on issue-level metadata. Is there a particular schema or format you have in mind?

Regards,
Alec Smecher
Public Knowledge Project Team

Hi @asmecher thanks for getting back to me :slight_smile:

We’re using OAI-PMH and marcxml to export to our parallel infrastructure that has traditionally been based on marcxml (Invenio) (with, for example: https://ojs/index.php/index/oai?verb=ListRecords&metadataPrefix=marcxml). So using marcxml for the issues as well would be very convenient but not restrictive - any well structured XML (or JSON) would do.

Ideally we’d like to use OAI-PMH for the issues as well so we don’t have to write a new plugin or heavily change an existing one (well, I guess we’d have to heavily change the OAI-PMH one to export issues…).

So far what we do is locally enrich plugins/oaiMetadataFormats/marcxml/OAIMetadataFormat_MARC21.inc.php and plugins/oaiMetadataFormats/marcxml/templates/record.tpl to export more complete metadata for articles (for example, properly adding keywords). These 2 files do not affect the core business of OJS at all so we are comfortable playing around with them. It’d be easy to further enrich them for pure issue metadata but one question would be: is there an easy way to expose issues via the ListRecords OAI-PMH verb (or similar)?

Any thoughts or ideas are welcome.

Hi @kasioumis,

Adding issues to the OAI-PMH interface would be fairly involved, I’m afraid, particularly because the queries that would generate that interface would need to combine entities of different kinds. If you’re interested in giving it a try, however, I’d be happy to work with you e.g. on code review etc. It might be worth considering whether a third-party OAI-PMH server library would be a useful starting point, rather than continuing to maintain our own code.

Regards,
Alec Smecher
Public Knowledge Project Team

Hi @asmecher,

Thank you very much for the information and your suggestions. For completeness I wanted to mention the road we ended up going down: we wrote a mini web service (read-only API, in Python based on Flask) that runs alongside OJS and exposes public metadata for journals, issues and articles, given their ID. We still use OAI-PMH to know what new articles are available and then consume our API to retrieve the full metadata (for articles and their parent issues) in the most convenient format (JSON in our case).

Cheers and thanks again for your help,

Nikos