Thursday, January 5, 2017

substance texture.js: interchange of scientific open-access contents with XML

Open source ecosystem for knowledge creation and dissemination.
Texture is a JATS editor.

by Substance Software GmbH
Harrachstrasse 28
4020 Linz, Austria

Substance,  Texture and eLife Texture Lens

As open as LaTeX and as simple as a classic word processor.
Texture is a collection of components for realizing content production systems. It has first-class support for JATS, the de facto standard for archiving and interchange of scientific open-access contents with XML.

Get a feel for Texture's possibilities by playing with these demos:
  • Authoring: Edit a scientific article like in a classic word processor
  • Quality Control: Interface optimized for publishers to iterate on an article until it's published
  • Assisted Conversion: An extension that offers tagging to turn raw text into structured JATS

Texture will be packaged with Open Journal Systems (OJS) and be a critical part in Érudit's new production workflow.

The editor offers body and front matter editing for any JATS 1.1 XML document. Implementations for most important elements are in place, such as paragraphs, sections, figures, and references. In the coming months support for missing elements will be added and the goal is to cover as many use-cases as possible and get the software ready for production.

Texture is developed by the Substance Consortium formed by the Public Knowledge Project (PKP), the Collaborative Knowledge Foundation (CoKo), SciELO and Érudit.

Our three organizations have identified Substance, a JavaScript library for web-based content editing, as a critical piece of infrastructure, and are inviting others to join us in a consortium to support Substance.
Nous sommes fiers d’annoncer aujourd’hui, en collaboration avec le Consortium Érudit, que nous franchissons une autre étape concrète dans la réalisation de cet objectif commun.  Trois organisations ont choisi Substance, une bibliothèque JavaScript permettant l’édition de contenus en ligne, comme élément essentiel de cette infrastructure de création et de diffusion.
Nous soulignons que l’édition collaborative de documents structurés sur le Web est nécessaire dans le cadre des processus de rédaction, d’édition et de production des connaissances, et nous pensons que Substance sera la solution la plus à même de répondre à tous ces besoins.

En appuyant Substance, PKP, CoKo et Érudit déclarent à toutes les parties intéressées qu’elles sont investies dans la création d’une boîte à outils polyvalente consacrée à l’édition de documents, en code source libre et pouvant être intégrée dans chacun de leurs propres systèmes et processus de travail. À travers cet engagement, nous souhaitons ainsi que d’autres organisations réalisent qu’il y a plus d’avantages à soutenir collectivement Substance, que de concevoir des solutions autonomes ou adaptées qui ne peuvent pas être facilement utilisées par des tiers.

Open Roadmap
The following priorities are confirmed and funded and will be realized until May 2017. For details of the individual features, see the Texture Product Brief:

Substance has been used to power a scientific reading tool called eLife Lens, which is used by eLife, the American Mathematical Society and other publishers.

Texture builds on Substance to realize a WYSIWYG JATS XML editor.

Substance is also used to power digital archives with Archivist, data-driven documents at Stencila and news editors at Infomaker.
Substance is a crucial building block of PubSweet, the decoupled full-featured content production system developed by the Collaborative Knowledge Foundation.

eLife Texture Lens

Together with eLife, Substance is developing Lens, an open source toolkit around scientific content. In June 2013 eLife launched the original Lens Reader, which provides a novel way of looking at content on the web.
Self-host a scientific journal with eLife Lens

eLife Lens, a minimalist open source publishing software that allows self-hosting of a scientific journal.
In June 2013 eLife launched the original Lens Reader, which provides a novel way of looking at content on the web. It makes using scientific articles easier by making it possible to explore figures, figure descriptions, references and more — without losing the place in the article text. While most online research articles simply replicate print, Lens Reader takes full advantage of the interactivity modern web-browsers offer. Readers can absorb key elements in an important paper more readily, more quickly, and more effectively.
Lens Reader is being piloted in journals from six publishers on the HighWire platform. In collaboration with the American Mathematical Society and MathJax it is currently being optimised for display of mathematical content.

A complete solution for hosting an open journal
With the deployment of Lens Browser, eLife runs an open source version of their journal. Lens Articles are pure static web pages that can be hosted on any web server. Lens Browser utilises the structured Substance article format to generate a search index using ElasticSearch, a technology for realising full text search.
Using this simple setup allows publishers to self-host their journal, without depending on proprietary services and formats. Lens Reader is easy to extend and customise. Please see the official documentation to learn how.

These are the steps you need to take to publish an article with Lens:

  1. Prepare your article in the JATS XML format
  2. Download the latest distribution of Lens Reader and extract the contents of that zip file
  3. Place your XML in that folder
  4. Adjust index.html to reference your XML file
  5. Upload the whole folder to a web server

For a more complete and automated setup that includes search you additionally need:
Lens Browser backed by an ElasticSearch cluster front-faced with a Node.js proxy (eLife uses and
Custom workflows to automatise the publishing process (a set of Python scripts is used at eLife)

Produce an XML scientific paper with Lens Writer
In order to add new references to your bibliography you can search right from the interface and select a publication from the search result.

Lens Article Format
A simple document model (Javascript) and exchange format (XML) forms the heart of Lens Writer. We’ve utilised the Substance Document Model to define a schema for scientific articles in Javascript. The XML exchange format is similar to JATS, but more linear and strict, thus simpler to understand and transform. The body element uses HTML-markup for the most part, making it very easy to process. 

While we chose to use our own simplified XML-format for representing articles, JATS files can still be easily imported and exported. This is actually important to make Lens Writer part of current publishing workflows.

JATS XML format


  1. Substance abuse is a treatable medical illness that, if left untreated or inadequately treated, incurs undue costs for the affected individual and for society as a whole. Xanax Withdrawal

  2. Detoxification is only the beginning of treatment and must be followed by adequate rehabilitation under expert guidance.Addiction rehab center Indianapolis