Skip to content

pkp/texture

Repository files navigation

Table of Contents

Introduction

OJS Texture Plugin integrates the Texture editor with OJS workflow for direct editing of JATS XML documents.

Handbook

Installation

Texture is available under Plugin gallery

  • Settings -> Web site -> Plugins -> Plugin gallery

texture_plugin

Supported JATS Tags

Tag Definition Support
code A container element for technical contentsuch as programming language code, pseudo-code, schemas, or a markup fragment. πŸ†—
disp-formula Mathematical equation, expression, or formula that is to be displayed as a block (callout) within the narrative flow. πŸ†—
disp-quote Extract or extended quoted passage from another work, usually made typographically distinct from surrounding text. πŸ†—
fig-group Container element for figures that are to be displayed together. πŸ†—
fig Block of graphic or textual material that is identified as a figure, usually bearing a caption and a label such as β€œFigure 3.” or β€œFigure”. πŸ†—
graphic Description of and pointer to an external file containing a still image. πŸ†—
list Sequence of two or more items, which may or may not be ordered. πŸ†—
p Textual unit or block; a textual paragraph. πŸ†—
preformat Text in which spaces, tabs, and line feeds must be preserved. Content is typically displayed in monofont to preserve character alignment. πŸ†—
sec Headed group of material; the basic structural unit of the body of a document. πŸ†—
supplementary-material Container element for a description of, and possibly a pointer to,external resources that support the article, but which are not part of the content of the article. πŸ†—
table-wrap Wrapper element for a complete table, including the tabular material (rows and columns), caption (including title), footnotes, and alternative descriptions of the table for purposes of accessibility. πŸ†—
tex-math Used to hold encoded math, expressed in TeX or LaTeX. πŸ†—
ack Textual material that names the parties who the author wishes to thank or recognize for their assistance in/contributions toward the article, for example, producing the work, funding the work, inspiring the work, or assisting in the research on which the work is based. --
address Container element for contact information such as a postal address for a person or organization. --
alternatives Container element used to hold a group of processing alternatives, for example, a single that ships in several formats(tif, gif, and jpeg) or in different resolutions. This element is a physical grouping to contain multiple logically equivalent (substitutable) versions of the same information object. Typically these are processing alternatives, and the reader is expected to see only one version of the object. --
array Tabular arrangement of text in the narrative flow of the document. Unlike a , an array does not contain a label, title, caption, or table headings (column heads). --
boxed-text Textual material that is part of the body but is outside the flow of the narrativetext (for example, a sidebar). --
chem-struct-wrap Wrapper element for a chemical expression, reaction, equation, etc. that is set apart from the text; includes any number, label, or caption that accompanies the chemical expression. --
def-list List in which each item consists of two parts: 1) a word, phrase, term, graphic,chemical structure, or equation, that is paired with 2) one or more descriptions, discussions, explanations, or definitions of it. --
disp-formula-group Container element for equations or other mathematical expressions. --
media Description of and pointer to an external file that holds a media object (for example, an animation, a movie). --
related-article Description of a journal article related to the content but published separately. May include a link to the related article. --
related-object Description of an object (for example, book, book chapter, figure, or table) related to the article content but published separately. May include a link to the related object. --
sig-block Area of text and graphic material placed at the end of the body of a document or document component to hold the graphic signature or description of the person(s) responsible for or attesting to the content. --
speech One exchange (a single speech) in a real or imaginary conversation between two or more entities. --
statement Theorem, Lemma, Proof, Postulate, Hypothesis, Proposition, Corollary, or other formal statement, identified as such with a label and usually made typographically distinct from the surrounding text. --
table-wrap-group Container element for tables ( elements) that are to be displayed together. --
verse-group Song, poem, or verse. --
x Generated text or punctuation. Typically used when:an archive decides not to have text generated on display and thus to pre-generate such things as commas or semicolons between keywords, oran archive receives text with tags embedded and wishes to retain them. --

Usage

Texture supports editing XML files in JATS XML standard.

  • After plugin installation, go to a Production Stage of the submission

  • Upload JATS XML to the Production Ready state. You can find sample files blank manuscript or a list of samples here.

production_ready_edit

  • All the uploaded images in texture are integrated as dependent files in production ready stage.

  • When you later publish the texture-edited JATS XML file as galley, you have to upload the images again in the dependancy grid.

gallery_edit

  • In the editing modal, upload the same images as dependent files you uploaded for texture.

Issues

Please find any issues here

Technical documentation

Backend Integration

Texture Plugin creates a Backend URL endpoint for the Editor client to send GET, PUT, DELETE Requests.

GET DAR File

GET /texture/json

Example : http://localhost/index.php/my_journal/texture/json?submissionId=4&fileId=29&stageId=5

  • Parameters:

    1. submissionId : integer

    2. fileId : integer

    3. stageId : integer

  • Return:

    DAR File : json

    • Example:

        {"version":18,"resources":{"manifest.xml":{"encoding":"utf8","data":"XML PAYLOAD","size":22087,"createdAt":0,"updatedAt":0},"placeholder_2.jpg":{"encoding":"url","data":"http://localhost:8000/index.php/stable-3_2_0/texture/media?submissionId=4&fileId=29&stageId=5&fileName=placeholder_2.jpg","size":39385,"createdAt":1592229618,"updatedAt":1592229618},"coverimage_2.png":{"encoding":"url","data":"http://localhost:8000/index.php/stable-3_2_0/texture/media?submissionId=4&fileId=29&stageId=5&fileName=coverimage_2.png","size":48334,"createdAt":1594576206,"updatedAt":1594576206}}}
      

Update DAR File

PUT /texture/json

Example : http://localhost/index.php/my_journal/texture/json?submissionId=4&fileId=29&stageId=5

  • Payload : DAR File

  • Parameters:

    1. submissionId : integer

    2. fileId : integer

    3. stageId : integer

  • Return:

    String : json

    • Example:

        {"status":true,"content":"","elementId":"0","events":null}
      

GET Media File

`GET /texture/media`

Example : http://localhost/index.php/my_journal/texture/media?submissionId=4&fileId=29&stageId=5&fileName=placeholder_2.jpg

  • Parameters:

    1. submissionId : integer

    2. fileId : integer

    3. stageId : integer

    4. fileName: string (should be unique per submission)

  • Return:

    Media file : media file

DELETE Media File

`DELETE /texture/media`

Example : http://localhost/index.php/my_journal/texture/media?submissionId=4&fileId=29&stageId=5

  • Parameters:

    1. submissionId : integer

    2. fileId : integer

    3. stageId : integer

  • Return:

    String : json

    Example:

     {"status":true,"content":{"submissionId":4,"fileId":4,"fileRevision":1,"delete_stauts":true},"elementId":"0","events":null}