Skip to main content
Integrations

SRI for Open Journal Systems

Automatically register a persistent ScitekHub Research Identifier for every article you publish — directly from your OJS installation, the same way you already know from Crossref or DataCite.

What the plugin does

The SRI-Plugin is a thin client to the SRI registration API. It installs inside your own OJS server, registers articles the moment they are published, and surfaces the result inside OJS — while never getting in the way of publishing.

Automatic registration on publish

When an article is published, the plugin calls the SRI registration API automatically — the same way you already expect from Crossref or DataCite. No re-typing metadata by hand.

Scoped API key only

Authenticates with a narrow identifier:register API key from the SRI dashboard. If a key is ever compromised, revoke or rotate it in seconds — no re-pasting needed on renewal.

Best-effort, never a blocker

If SRI is down, or your membership/quota/prefix has a problem, the article still publishes normally. The plugin records a clear reason you can retry later.

Status inside OJS

See Not registered, Pending SRI review, Active, or Failed (with the exact reason) right in the submission screen. Manual register and refresh actions are one click away.

Back-catalog registration

Register existing articles too, with the built-in Register Back Catalog screen. It uses the bulk API, so it stays within your key's rate budget even for large archives.

Citation meta tags

Emits citation_sri meta tags on the article page for Google Scholar and other indexers — just like the citation_doi tags OJS already emits for DOIs.

Installation

Three steps, then it runs on autopilot. Download the installable package matching your OJS version directly from our GitHub Releases, or contact our team for guided setup.

1

Create a scoped API key

Log into the SRI dashboard, open Settings → API Keys, and create a key with the identifier:register scope only (least privilege). Copy the key — it is shown only once.

2

Install the plugin

In OJS, go to Settings → Website → Plugins → Upload a new plugin and upload the package matching your OJS version. Enable it under Public Identifier Plugins.

3

Paste the credentials

Open the plugin settings and paste the API base URL, your scoped API key, and your numeric SRI prefix. Choose how you want suffix generation to behave (default, custom pattern, or manual).

OJS version compatibility

Choose the package matching your OJS version. OJS 3.3 and 3.5 are the priority long-term support lines; 3.4 is also fully supported.

OJS versionSupportPackage
3.5.xPrimary (LTS)sri-pubid-3.5.tar.gz
3.4.xPrimarysri-pubid-3.4.tar.gz
3.3.xSupported (LTS, min. 3.3.0-18)sri-pubid-3.3.tar.gz

Minimum OJS 3.3 patch: 3.3.0-18. Earlier 3.3.x releases had disclosed vulnerabilities. A plugin cannot compensate for an unpatched host — keep OJS itself updated.

View all releases on GitHub

What happens when something goes wrong

The plugin enforces no new business rules. Every check below is handled by the SRI backend and merely surfaced inside OJS with a friendly reason. In every case, the article still publishes.

ConditionHTTPShown in OJSArticle still publishes?
API key invalid or revoked401Reconnect your SRI API keyYes
Account suspended or closed403Account suspended — contact SRI supportYes
Membership expired402Your SRI membership has expired — renew to registerYes
Quota exhausted402Quota exceeded — upgrade your planYes
No active prefix for this account403/404Prefix not set up — contact SRI supportYes
All checks pass, auto-approve off201Awaiting SRI reviewYes, with a pending badge
All checks pass, auto-approve on201SRI shown live on the article pageYes, fully registered

Developer docs

Everything the plugin uses is a documented public API: registration, metadata formats (JSON-LD, Dublin Core, DataCite, BibTeX, RIS, Schema.org, CSL-JSON), status polling, and webhooks.

Browse the docs

Register without a plugin

No OJS? You can still register SRIs through the dashboard or the bulk upload tool. The plugin simply automates this for OJS journals — it is never required.

Open the dashboard