Skip to content

OJS Plugins and Plugin Version Compatibility

Other OJS Plugins 7 min read Updated
On this page
  1. What Are OJS Plugins?
  2. Types of OJS Plugins
  3. The Compatibility Challenge
  4. Where to Find OJS Plugins
  5. Checking Plugin Compatibility
  6. Common Plugin Compatibility Issues
  7. Managing Plugin Updates
  8. When Plugins Become Incompatible
  9. Essential Plugins for Most Journals
  10. Plugin Security Considerations

Plugins extend OJS beyond its core functionality, adding features for DOI registration, enhanced statistics, improved discoverability, and dozens of other capabilities. However, plugins must match your OJS version to work correctly—incompatible plugins cause errors, break functionality, or create security vulnerabilities. Understanding how OJS plugins work and how to verify compatibility helps journals maintain stable, feature-rich installations.

What Are OJS Plugins?

OJS plugins are modular software components that add specific functionality to your journal installation without modifying OJS core code. This modular approach allows journals to customize their installations based on specific needs while keeping the main OJS codebase clean and updatable.

Plugins can add entirely new features, modify existing behaviors, integrate with external services, or change how content displays to readers. When properly maintained, plugins significantly enhance what journals can accomplish with OJS.

Types of OJS Plugins

OJS supports various plugin categories, each serving different purposes:

Generic Plugins

These plugins add broad functionality that doesn't fit other categories. Examples include static pages plugins (creating custom pages), usage statistics enhancements, and various administrative tools.

Import/Export Plugins

These handle data exchange with external systems. The Crossref plugin for DOI registration, PubMed export, and DOAJ export plugins fall into this category. They format OJS data for external services or import data from other sources.

Block Plugins

Block plugins add content sections to journal sidebars or designated areas. Language toggles, subscription information, and custom information blocks are examples.

Theme Plugins

These control journal appearance. While OJS includes default themes, additional theme plugins offer different visual designs or enhanced customization options.

Gateway Plugins

Gateway plugins provide alternative access methods to journal content, often for machine reading or specialized protocols like OAI-PMH.

Authentication Plugins

These integrate with external authentication systems, allowing users to log in through institutional credentials, LDAP, Shibboleth, or other identity providers.

Payment Plugins

For journals collecting fees, payment plugins integrate with payment processors like PayPal or institutional payment systems.

The Compatibility Challenge

Plugin compatibility issues arise because OJS and plugins evolve independently:

API Changes

When PKP releases new OJS versions, internal programming interfaces (APIs) sometimes change. Plugins written for older APIs may malfunction or fail entirely on newer OJS versions. Major version jumps (like 3.3 to 3.4, or 3.4 to 3.5) typically involve more significant API changes than minor updates.

Database Structure Changes

OJS database schemas evolve across versions. Plugins that directly interact with database tables may break when those tables change structure.

Template Changes

Plugins modifying page templates may fail when OJS updates its template structure. This particularly affects plugins that alter the editorial interface or reader-facing pages.

PHP Version Requirements

Newer OJS versions require newer PHP versions. Plugins must also support these PHP versions—older plugins may use deprecated PHP functions that fail on modern PHP.

Struggling with Plugin Compatibility Issues?

Plugin conflicts and compatibility problems require technical diagnosis. Professional support can identify issues and find solutions or alternatives.

Learn About OJS Support Services →

Where to Find OJS Plugins

OJS includes a built-in Plugin Gallery accessible from the administrative dashboard (Website → Plugins → Plugin Gallery). This gallery lists plugins compatible with your OJS version and allows direct installation. The Plugin Gallery is curated by PKP, providing a level of quality assurance.

Advantages: Convenient installation, version-appropriate listings, PKP oversight.

Limitations: Not all available plugins appear in the gallery; some community plugins are distributed elsewhere.

PKP Plugin Inventory

PKP maintains a plugin inventory documenting available plugins across OJS versions. This resource helps identify plugins that might not appear in your specific installation's gallery.

Official Resource: PKP Plugin Inventory Documentation

GitHub Repositories

Many plugins—including PKP's own plugins and community contributions—are hosted on GitHub. GitHub repositories contain source code, release packages, documentation, and issue trackers.

PKP's GitHub: github.com/pkp

When obtaining plugins from GitHub:

  • Check the repository's README for compatibility information
  • Review the "Releases" section for version-specific packages
  • Look at recent commit activity—abandoned plugins may not work with current OJS
  • Read open issues to understand known problems

PKP Community Forum

The PKP Community Forum hosts discussions about plugins, including announcements of new plugins, compatibility reports, and troubleshooting threads. Forum searches can reveal community experiences with specific plugins.

Checking Plugin Compatibility

Before installing any plugin, verify compatibility with your OJS version:

Check Version Requirements

Plugin documentation should specify which OJS versions the plugin supports. Look for statements like "Compatible with OJS 3.4.x" or version requirement lists. Be wary of plugins without clear version documentation.

Review the version.xml File

OJS plugins contain a version.xml file specifying compatibility. Within this file, look for <application> tags indicating supported OJS versions. Technical users can examine this file before installation.

Check Release Dates

Plugins not updated in years likely won't work with current OJS versions. If the last update predates your OJS version's release, compatibility is questionable.

Test in Non-Production Environment

Before installing plugins on live journals, test in a development or staging environment. This prevents compatibility problems from affecting active operations.

Common Plugin Compatibility Issues

Installation Failures

Incompatible plugins may fail to install entirely, displaying error messages about version requirements or dependency problems. This is actually the best outcome—the system prevents problematic installation.

Partial Functionality

Some incompatible plugins install but don't work correctly. Features may be missing, forms may not save properly, or certain operations may fail. These partial failures can be confusing to diagnose.

Interface Problems

Plugins affecting the editorial interface or reader pages may display incorrectly, with broken layouts, missing elements, or JavaScript errors. These issues often trace to template incompatibilities.

Performance Degradation

Incompatible plugins may cause slow page loading, high server resource usage, or database errors that affect overall journal performance.

Security Vulnerabilities

Outdated plugins may contain security vulnerabilities fixed in newer versions. Running old plugins—even if they function—exposes journals to potential security problems.

Managing Plugin Updates

Regular Update Checks

Periodically check for plugin updates through the Plugin Gallery or original distribution sources. Updated plugins may include bug fixes, security patches, and compatibility improvements.

Update Timing

After updating OJS itself, check whether installed plugins have corresponding updates for the new OJS version. Don't assume plugins will work unchanged across OJS upgrades.

Update Testing

As with initial installation, test plugin updates in non-production environments when possible. Even compatible updates can occasionally introduce new issues.

Documentation

Maintain records of installed plugins, versions, and sources. This documentation helps with troubleshooting and ensures you can reinstall or update plugins correctly.

When Plugins Become Incompatible

Sometimes plugins you depend on become incompatible with new OJS versions. Options include:

Wait for Updates

Active plugin developers typically release compatibility updates after major OJS releases. Waiting a few weeks or months may yield compatible versions.

Request Updates

For plugins with active maintainers, requesting compatibility updates through GitHub issues or forum posts may prompt developer attention.

Find Alternatives

Multiple plugins often provide similar functionality. If your preferred plugin isn't compatible, alternatives may be available that are.

Commission Development

For critical plugins without alternatives, commissioning compatibility updates from developers is sometimes necessary.

Delay OJS Upgrade

If essential plugins aren't compatible with a new OJS version, delaying upgrade until compatibility is resolved may be prudent—though this trades plugin functionality for security and feature benefits of newer OJS versions.

Essential Plugins for Most Journals

While specific needs vary, certain plugins benefit most OJS journals:

Crossref DOI Plugin: Registers DOIs with Crossref for article identification and citation linking.

ORCID Plugin: Integrates with ORCID for author identification. (Note: Built into OJS 3.5+ core)

Google Scholar Plugin: Ensures proper metadata for Google Scholar indexing.

Usage Statistics Plugin: Tracks article views and downloads for understanding readership.

Backup Plugin: Facilitates journal data backup (though proper server-level backups remain important).

The specific plugins you need depend on your journal's requirements, indexing goals, and operational processes.

Plugin Security Considerations

Plugins represent potential security risks because they add code to your installation:

Source Trustworthiness: Install plugins only from trusted sources—PKP's Plugin Gallery, official GitHub repositories, or established developers with good reputations.

Update Promptly: Security vulnerabilities in plugins get fixed through updates. Running outdated plugins increases risk.

Remove Unused Plugins: Disabled plugins still exist on your server and could potentially be exploited. Remove plugins you no longer need rather than just disabling them.

Monitor Announcements: PKP occasionally issues security advisories affecting plugins. Subscribing to PKP announcements helps you respond to security issues quickly.

Note

Plugin availability and compatibility change as OJS and plugins evolve. Always verify current compatibility directly from plugin sources before installation. For the most current plugin information, visit the PKP Documentation Hub and the PKP Community Forum.

Last updated on October 7, 2026

Was this article helpful?