This is a report about the JATS state of the art that we started in 2017 and updated this year. The post assumes you know what is JATS (a technology that, between many other things, can help you to automatize the layout creation, based on XML files for articles) and shows a global picture to let you discover what tools do you have and how they are related if you like to implement this technology.
During the last three years we have been talking a lot about JATS. PKP have been a main actor in this movie, even before this recent interest, and our forum show this increasing interest: http://forum.pkp.sfu.ca/search?q=jats
A few journals we work with asked to start “JATSing” (we need a new verb :-)) so, before start developing a new solution, we made some research trying to discover “who is who” in the JATS universe.
The result of this research is this summary with the “state of the art of JATS”. The graphic shows a picture of the whole puzzle and show all the involving pieces trying to discover if some parts are still uncovered.
Let us advance this was not an easy task because some tools are incomplete, abandoned or changed its name 2-3 times… so please, comment if you think we missed any relevant actors in this map or we described something wrongly.
We divided the JATS workflow in 4 phases:
- SUBMISSION: the author send his/her work (normaly in DOCx or ODT) to the platform.
- CONVERSION: the originals are transformed to JATS (and XML from the NML).
- EDITING: conversions are not perfect and need to be fixed or final changes need to be included.
- PRESENTATION: JATS is converted in a standard format (HTML, PDF, EPUB…) or directly shown with JS helpers.
And here you have the inventory of tools that alone or in combination with others look promising to our initial goal (cover the whole workflow):
[A1] OJS 3 core: by default, OJS is able to work with originals in any format. DOC, DOCX, ODT, PDF even JATS are accepted by the platform. Will also accepted but not found much info about the submission of markdown originals.
- Authors: PKP
[A2] fidusWriter: there is a plugin to integrate fidus in OJS. A development over fidusWriter to allow authors submit papers directly in JATS seams feasible.
- Authors: @asmecher (PKP) + fidusWriter
- Announcement: https://www.fiduswriter.org/2016/05/29/fidus-writer-3-0-0-beta-4-released
[B1] myTypeset: command-line tool wrote in python to convert from DOCX format to NLM/JATS-XML". Is a fork of the OxGarage stack and is implemented as part of the PKP XML parsing stack.
[B2] Pandoc: commandline tool wrote in Haskell, to convert from a lot of formats to JATS
- Documentation: http://pandoc.org/MANUAL.html
[B3] DOCX2JATS: Java project, aimed to facilitate DOCX to JATS XML transformation for scientific articles.
[B4] JatsFrontPuller: OJS3 plugin for generating the JATS XML Front section based on OJS metadata. Author says “is not need any more”, because is included in the ojs3-markup plugin.
- Forum: Workflow with galleys from JATS XML to HTML and PDF
- Deprecation: https://github.com/ajnyga/OJS3XMLWorkflow
[B5] PeerJ JATS conversion: Is not a tool ready to use “out of the box”, but you can find there some helper files from PeerJ to convert, fetch and validate JATS.
[C1] Substance/Texture (aka. LensWriter): It’s confusing and difficult to understand why they changed the name so many times. In short, Substance is an “abstract” web editor, that is “instanced” to be JATS compliant (so long ago, was also called LensWriter). Is still a little buggy but it’s the most promising free software JATS editor avaliable.
- Authors: Substance Consortium (formed by the Public Knowledge Project (PKP), the Collaborative Knowledge Foundation (CoKo), SciELO and Érudit).
- Site: http://substance.io/texture/
- Documentation: http://substance.io/docs/beta5/about.html
- Forum: JATS XML wysiwyg editor
- Source: https://github.com/substance/texture
[C2] Authorea (privative): … (toDo)
- Site: https://www.authorea.com
[C3] Overleaf (privative): … (toDo)
- Site: https://www.overleaf.com
[C4] FontoXML (privative): A propietary xml editor that includes a subset to edit JATS. Suggested as a choice in forums, but there is no OJS integration.
[D1] embedGalley: OJS3 plugin to automatically converts a JATS XML galley to embedded HTML, which is shown on the abstract page. The plugin is using some code and XSL files from [B7].
[D2] OAI JATS: OJS3 plugin to expose JATS XML via the OAI-PMH interface.
[D3] Lens Galley: Galley viewer plugin integrating eLife Lens for OJS 3.0
[D4] JATSParser: OJS3 plugin to parse JATS XML and displaying it on article detail page. For correct displaying should be used in conjunction with modified default Manuscript theme or user’s theme should be changed accordingly.
- Author: @Vitaliy
- Update: JATS XML wysiwyg editor
- Source: https://github.com/Vitaliy-1/JATSParserPlugin
*: JAT suites
Only 3 tools cover the whole JATS workflow. Those tools are:
[Z1] OTS + ojs3-markup + Lens Galley plugin: PKP offers a combination of tools to cover conversion, edition and presentation. With this modular “unix-like” approach you can decide what component do you like to use.
[Z1a] Open Typesetting Stack (OTS, aka. PKP XML): is a SaaS platform, released under GPL3 (and also distributed in vagrant flavour) is build upon a stack of tools to offer an “universal converter”. Send them whatever and you will get your JATS, and also an HTML, PDF, EPUB, etc. Mature project, very well integrated in OJS.
- Author: @alex (PKP)
- Site: https://pkp.sfu.ca/open-typesetting-stack
- Source: https://github.com/pkp/ots
- Article: (2015) https://www.ncbi.nlm.nih.gov/books/NBK279666
- Video: (2015) https://videocast.nih.gov/summary.asp?Live=16114&start=5130&bhcp=1
[Z1b] ojs3-markup: Covers conversion (based on OTS) and editing (based on Texture) phases. It’s announced to be mature enough for production.
Update: Soon is going to be spit in 2 plugins (conversion and editing).
[Z1c] Lens Galley: A plugin that integrates eLens JS in your OJS journal to publish your JATS articles with Lens reading interface.
[Z2] Marcalyc: Convert and publish in it’s own platform (that is an OJS). Aims to be free software, but I asked for the code and is not shared anywhere. Redalyc (that is behind marcalyc) adds it’s own cover to the exported files, so you need to modify them before uploading to your own OJS.
- Author: Redalyc
- Site: http://marcalyc.redalyc.org
- Asking for code: https://twitter.com/eaguadoredalyc/status/741000216912924672
[Z3] Convert2XML: Converter based on JATS standard and fully integrated at Open Journal Systems (OJS) for the automatic conversion of articles to XML format. This converter follows the most important parameters required for SciELO Organization for markup language. Designed to fit well with OJS, but incomprehensibly dependent on Microsoft Server stack (.Net, ASP).
Still seeking for time to test it all, but after some preliminary testing and some reading, my personal conclusion, is that the only full free software solution to cover all the publication workflow is the PKP OTS-markup-lens suite.
It’s complete, is free software, comes with PKP seal and looks mature enough to be used in production environments.
Did you test any of them? Comments?