JATS to OJS Native XML tool

Hi all! My name is Elisa and I am the digital publications manager of the Bibliotheca Hertziana - Max Planck Institute for Art History. I have been lurking around in the past years and I think it is about time to share back to the community what we could develop thanks to suggestions and ideas I found on old topics, especially the ones related to the JATS XML import of files.
Our online serie is actually not a Journal, but we use OJS because we needed a page for each paper. The article are created in JATS XML thank to Sciflow Publish export where I can enter most of the article metadata (or have the author do it for what is not editorial like issue/volume and DOI). Since I am not using submission (actually disabled) for the edited volumes I was importing all articles via Quick Submit Plugin and it was, well, annoying. I had to re-fill in the form all the metadata about authors and content already in the JATS XML, and add all images (dozen of them) and this caused errors and problems due to the long waiting of each file import.
Luckily, we have been granted a Scholar Publishing Infrastructure fund and I put “developing a plugin to import JATS” as one of our Work Package. The project is still ongoing, but we have decided not to develop a plugin but an external tool based on ideas I gathered in this forum.
The tool, simply named Jats to OJS, does exactly this: you combine your metadata (either from the JATS or from a CSV file) and the article images, galleys (even more than one) with attachments/related files and create a (often) huge Native XML document ready to be imported via the official import/export function. At the moment the tool only parse the content according to the OJS 3.3 LTS Native XML schema (because it is LTS and it is what my platform uses). This plugin only prepare articles for import, not full issues.
Since local installation and folder preparation is not for everybody, we are now testing it as a “task” in our online test platform. You can test it by yourself, and by the end of the project the platform will also be available open source (Docker image). be careful when testing, the platform is rebuilt pretty often! In this platform I asked the developer to add all the things that I felt I needed to ease my workflow, so it might not be the right tool for any other editorial team, but we are interested in actually collecting more ideas.
The transformation of JATS to OJS is done with a middle “Serialized Object” that can be edited and also used to manage an export of the references to DataCite, and you can combine the files you need to have by selecting them. There will be more, but I think I have written more than a forum post should be.


This looks very interesting, thank you for sharing!

I especially like the idea of having an online platform with this type of application (and others of course) so that they can be easily handled. It makes a lot of sense from a resource perspective that “non-technical” staff such as administrators or journal managers can handle these types of processes without involving developers. This was in a sense one of the main points of the working group for a similar project at the PKP Sprint in Copenhagen last year.

I don’t mean to hijack this thread but I think it would be good to mention that work (https://pkp.sfu.ca/2023/08/11/pkp-copenhagen-2023-sprint-notes-importing-content-ojs/) and the tsvConverter plugin (GitHub - ajnyga/tsvConverter: Excel to OJS3 XML conversion tool) which we used as a basis. Anyone who may happen upon this thread looking for a way to bulk import from CSV format may find either of these applications useful.

1 Like

Thanks for sharing your insight! Any experience will be very useful and we also have to acknowledge (as we did in the github) that we used GitHub - ualbertalib/ojsxml: converts a csv file to ojs native import xml as the initial concept for our development. My guess is we are all assembling tools to fit our needs so if anything can be even just an inspiration that saves a few lines of code to someone else, that would be great!