OJS 2.4 – 3.5 plugin · Free to install · Open source (GPL v3)

JATS XML, PDF & HTML galleys straight into OJS

OJS has no automatic way to create galleys (OJS 2.x has no REST at all, OJS 3.5 has no galley route). Studio Galley Bridge adds one: a tiny plugin for OJS 2.4 through 3.5, one click in Studio, three galleys ready in Production.

v1.1.0 · 13 KB · SHA-256 92b0caf95dd8… · Author: Ruang Ide · GPL v3

The plugin is free to install. Sending galleys from Studio uses 1.75 credits per send (PDF + HTML + XML together).

  • Free to install
  • OJS 2.4 – 3.5
  • JATS XML 1.2
  • PDF + HTML + XML
  • Open source

Two things that save journal publishers hours

01

Valid JATS XML 1.2

From the author’s DOCX, Studio builds full JATS: front (journal, ISSN, authors, affiliations, bilingual abstracts), body (sections, tables, figures, MathML + TeX equations, footnotes) and back (references). A built-in validator points at problem lines before you send.

  • MathML + TeX
  • Word footnotes
  • Built-in validator
  • Track changes accepted automatically
02

Galleys straight into OJS

One Send to OJS button builds the PDF (A4 in the journal profile), standalone HTML and JATS XML, then creates or replaces the PDF, HTML and XML galleys on the OJS submission. No more Add galley → Upload file → Continue → Save, three times per article.

  • 3 galleys per send
  • Replace without duplicates
  • OJS 2.4 to 3.5
  • Safe: published articles untouched

Before and after

Without the plugin

  1. Download PDF, HTML, XML from Studio
  2. Open OJS → Production → Galleys
  3. Add galley, type a label, Upload file, Continue, Save
  4. Repeat for every format and every article

With the plugin

  1. Click File → Export → Send to OJS
  2. Enter the OJS submission ID (automatic when imported from OJS)
  3. Pick formats, Send (1.75 credits)
  4. Done: the galleys are already in Production

How it works

StudioBuilds PDF, HTML, JATS
Plugin tokenCreated by the journal manager
Bridge pluginOne /studioGalley page
OJS galleysPDF · HTML · XML

Built narrow and safe

One page only

The plugin only adds {journal}/studioGalley/ping, /upload and /token. It changes no OJS tables and runs no outside code.

A token your journal owns

Created by the journal manager on the token page, only its SHA-256 hash is stored, replaceable any time. Without a valid token everything is refused (401).

Published articles are locked

Published publications are rejected (409). To change one, Unpublish or create a new version in OJS.

PDF, HTML, XML only

File extension and content are checked. Anything else is refused.

Install in 5 minutes

Download the plugin

Click Download free above. You get studioGalley-1.1.0.tar.gz. Do not extract it.

Upload to OJS

OJS 3.x: sign in as administrator → Website → Plugins → Upload A New Plugin → choose the file → Save. OJS 2.4: copy the folder to plugins/generic/ (see manual install below).

Enable it

In the Generic Plugins list, tick Studio Galley Bridge.

Create a plugin token

Sign in to OJS as journal manager, open https://your-site.org/index.php/journal/studioGalley/token, press Create token and copy it (shown once). No api_key_secret or REST needed.

Connect Studio

Connections menu: paste the journal URL (OAI mode is enough) → Connect & sync → on the journal card click Set plugin token and paste the token.

Send galleys

Open the manuscript in the editor → File → Export → Send to OJS → enter the OJS submission ID → OK (1.75 credits). Check in OJS: Workflow → Production → Galleys.

Manual install from the server (optional)

If you cannot upload through the panel (or on OJS 2.4), copy the folder to the OJS server and register it:

cd /var/www/html/plugins/generic
tar xzf studioGalley-1.1.0.tar.gz
chown -R www-data:www-data studioGalley
cd /var/www/html
php lib/pkp/tools/installPluginVersion.php plugins/generic/studioGalley/version.xml

Then enable it under Website → Plugins. With Docker, run the commands inside the OJS container. OJS 2.4 has no installPluginVersion.php: add one row to the versions table (product studioGalley, class StudioGalleyPlugin, type plugins.generic) and enable it; details are in the plugin README.

Quick check that the plugin is alive

curl -H "X-Studio-Token: YOUR_TOKEN" \
  https://your-site.org/index.php/journal/studioGalley/ping
# {"plugin":"studioGalley","version":"1.1.0","ojs":"3.3.0.14", ...}

Supported OJS versions

3.5.xTested on 3.5.0.5
3.4.xTested on 3.4.0.9
3.3.xTested on 3.3.0.14
3.2.xTested on 3.2.1.4
3.1.xTested on 3.1.1.1
3.0.xSame code as 3.1, not tested (the official 3.0 images are incomplete)
2.4.xTested on 2.4.8.5
2.0 – 2.3Not tested
StudioA StudIO RuangIde account and the plugin token under Connections; an OAI-only connection is enough

If something goes wrong

Plugin "Studio Galley Bridge" is not installedThe plugin is not enabled for that journal, or the journal address is wrong. Run the ping above.
Plugin token rejectedThe token is wrong or was replaced. Create a new one on the studioGalley/token page and save it again under Connections.
sign in as a journal manager firstThe token page is for signed-in journal managers only.
This publication is already publishedOJS locks galleys after publication. Unpublish or Create new version in OJS, then retry.
Not enough credits (402)Send to OJS uses 1.75 credits per send. Buy credits under Settings → Billing.

Frequently asked questions

Is it really free?

What is free is the installation: the plugin can be downloaded, installed and modified freely (GPL v3), with no galley limit on the OJS side. Sending galleys from StudIO RuangIde uses 1.75 export credits per send (PDF, HTML and XML together). Downloading files and uploading them by hand still follows the normal export quota.

How much does one send cost?

1.75 credits per Send to OJS press, however many formats you pick, and only if at least one galley was created. A total failure takes no credits. Admin accounts are not charged.

Does the plugin work without Studio?

Yes, the upload page is open to any script holding the plugin token (a curl example is in the README). Its main job is serving Studio.

How is it different from OJS’s built-in JATS plugin?

OJS’s JATS plugin (3.5) manages one JATS file per publication. The Bridge creates galleys (PDF, HTML, XML) that readers see, stored at the Proof stage, on every OJS version.

Can I replace galleys on an already published article?

Not through the plugin: OJS locks published publications and the plugin respects that. Create a new version in OJS first.

Does my data go to a third party?

No. Studio sends the files straight to your OJS with your token. The plugin only stores the files in OJS.

Which OJS versions are supported?

OJS 2.4 through 3.5, one package for all. Tested on 2.4.8, 3.1.1, 3.2.1, 3.3.0, 3.4.0 and 3.5.0; OJS 3.0 uses the same code as 3.1 but is untested.

Stop uploading galleys one by one

Install the plugin, connect Studio, send.