Primo — Guide for Suppliers

From Primo Wiki

Introduction

Welcome to PRIMO!!!!

Primo is a web based proofing framework which renders the xml file sent by the typesetter into the HTML version thus making it very easy for the authors to access it and edit. To those of us who are used to using word processors, this tool would be quite easy to use (except with a few additional quirks).

By providing extra features which would then help the author to get a glimpse of the final result of the processing, PRIMO ensures a smooth transition throughout the whole proof checking process.

Workflow

Primo Dataset

Primo Dataset of a proof contains the following:

  1. Article XML
  2. Strip-ins for equations with non-compliant MathML
  3. Dataset XML
  4. Assets (images & supplementary materials)
  5. Order XML

Article XML

Suppliers are requested use the full-text single XML and not to process datasets with multiple XMLs like abstract, add-ons, batch placeholders etc. via Primo. The file name should be main.xml.

Directory structure syntax
  <dataset_directory>/<pii_number>/main.xml
Directory structure example
  XXXXF9999999/S999999992600000X/main.xml

Mathml

Use mathml3 line break attributes to indicate equation breaking points. Indent target and indentalign="id" attributes are recommended to indicate horizontal alignment of lines in equations.

Track changes & queries

The proof in XML may contain copy-edit track changes and queries in any one of the below formats.

Action Coding
Insertion <!--INS-->xxx<!--/INS-->
Deletion <!--DEL-->yyy<!--/DEL-->
Replacement <!--INS-->xxx<!--/INS--><!--DEL-->yyy<!--/DEL-->
Query <!--Q1: query text.-->
Boolean Query <!--Q1 replies=“Yes | No” type=“boolean”: query text.-->

Query Identifier

The query identifiers have the form: 'Q' followed by the query number, e.g. Q1, Q5. While generating the query avoid:

  • Using the same query identifier for two different queries.
  • Calling the same query at two different places.

Strip-ins for equations with non-compliant MathML

As Primo generates strip-ins by itself for rendering equations in Edit View and Proof View, it is no longer mandatory to provide strip-ins.

Dataset XML

  • The dataset XML should adhere to New-proof schema. According to the workflow, the supplier can omit both MAIN and EDITED-PROOF PDFs from the dataset. The tags such as web-pdf, page-fraction-body, page-fraction-trail, pdf-pages, and pdf-pages-web can be removed from the dataset.xml.
  • No need to include the proof-uri in the dataset.xml. Primo will generate the proof url automatically.

Assets

Inside main.assets directory, the XML version JPEG and MMC files should be added.

Directory structure syntax
  <dataset_directory>/<pii_number>/main.assets/ga1.jpg
  <dataset_directory>/<pii_number>/main.assets/sc1.jpg
  <dataset_directory>/<pii_number>/main.assets/gr1.jpg
  ...
Directory structure example
  XXXXF9999999/S999999992600000X/main.assets/ga1.jpg
  XXXXF9999999/S999999992600000X/main.assets/sc1.jpg
  XXXXF9999999/S999999992600000X/main.assets/gr1.jpg
  ...

WEB and PRINT

Include the web version (Elsevier RGB spec PDF) images in the web directory. If the journals do not belong to E-only as per the Journal Style Sheet (JSS), add print version (Elsevier CMYK spec PDF) images to the print directory. The images should be placed inside main.assets/web and main.assets/print directories.

Directory structure syntax
  <dataset_directory>/<pii_number>/main.assets/web/ga1.pdf
  <dataset_directory>/<pii_number>/main.assets/web/sc1.pdf
  <dataset_directory>/<pii_number>/main.assets/web/gr1.pdf
  ...
  <dataset_directory>/<pii_number>/main.assets/print/gr1.pdf
  <dataset_directory>/<pii_number>/main.assets/print/sc1.pdf
  <dataset_directory>/<pii_number>/main.assets/print/gr1.pdf
  ...
Directory structure example
  XXXXF9999999/S999999992600000X/main.assets/web/ga1.pdf
  XXXXF9999999/S999999992600000X/main.assets/web/sc1.pdf
  XXXXF9999999/S999999992600000X/main.assets/web/gr1.pdf
  ...
  XXXXF9999999/S999999992600000X/main.assets/print/ga1.pdf
  XXXXF9999999/S999999992600000X/main.assets/print/sc1.pdf
  XXXXF9999999/S999999992600000X/main.assets/print/gr1.pdf
  ...

Source

To handle the artwork corrections in the subsequent stages, add the original high quality RGB and compressed EPS versions inside the main.assets/eps directory. See the directory structure below.

Directory structure syntax
  <dataset_directory>/<pii_number>/main.assets/eps/ga1.eps.gz
  <dataset_directory>/<pii_number>/main.assets/eps/sc1.eps.gz
  <dataset_directory>/<pii_number>/main.assets/eps/gr1.eps.gz
  ...
Directory structure example
  XXXXF9999999/S999999992600000X/main.assets/eps/ga1.eps.gz
  XXXXF9999999/S999999992600000X/main.assets/eps/sc1.eps.gz
  XXXXF9999999/S999999992600000X/main.assets/eps/gr1.eps.gz
  ...

Sample dataset file structure

XXXXF9999999/
XXXXF9999999/dataset.xml

XXXXF9999999/S999999992600000X/
XXXXF9999999/S999999992600000X/main.xml

XXXXF9999999/S999999992600000X/main.stripin/
XXXXF9999999/S999999992600000X/main.stripin/si1.svg
XXXXF9999999/S999999992600000X/main.stripin/si2.svg

XXXXF9999999/S999999992600000X/main.assets/
XXXXF9999999/S999999992600000X/main.assets/ga1.jpg
XXXXF9999999/S999999992600000X/main.assets/sc1.jpg
XXXXF9999999/S999999992600000X/main.assets/gr1.jpg
XXXXF9999999/S999999992600000X/main.assets/mmc1.docx

XXXXF9999999/S999999992600000X/main.assets/web/
XXXXF9999999/S999999992600000X/main.assets/web/ga1.pdf
XXXXF9999999/S999999992600000X/main.assets/web/sc1.pdf
XXXXF9999999/S999999992600000X/main.assets/web/gr1.pdf

XXXXF9999999/S999999992600000X/main.assets/print/
XXXXF9999999/S999999992600000X/main.assets/print/ga1.pdf
XXXXF9999999/S999999992600000X/main.assets/print/sc1.pdf
XXXXF9999999/S999999992600000X/main.assets/print/gr1.pdf

XXXXF9999999/S999999992600000X/main.assets/eps/
XXXXF9999999/S999999992600000X/main.assets/eps/ga1.eps.gz
XXXXF9999999/S999999992600000X/main.assets/eps/sc1.eps.gz
XXXXF9999999/S999999992600000X/main.assets/eps/gr1.eps.gz

Input & Output

The input dataset file name should be unique. On the dataset is uploaded to the sftp, a validation XML will be generated. Download it and check the status. If it is a successful one, the XML will contain the Primo url as shown in the example below. The XML file name will UJID-AID-Primo-validation-YYYY-mm-ddTHH-MM-SSZ.xml.

AML-100002-Primo-validation-2026-04-06T05-34-51Z.xml: <?xml version="1.0"?> <primo-import-information xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="XML-signal-validation.xsd">

 <timestamp>2026-04-06T04-19-32Z</timestamp>
 <supplier>
   <name>STMDE</name>
 </supplier>
 <article>
   <jid>AML</jid>
   <aid>100002</aid>
 </article>
 <status>success</status>
 <url>https://primo.stmsoft.in/dp/x603nelt5xiwk</url>

</primo-import-information>