OJS Plugins and Plugin Version Compatibility
On this page
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.
Where to Find OJS Plugins
OJS Plugin Gallery (Built-in)
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.
Need Help with OJS Plugins?
Altechmind provides OJS support including plugin installation, compatibility troubleshooting, and configuration. We help journals get the functionality they need while maintaining stable operations.
- Plugin installation and configuration
- Compatibility assessment before upgrades
- Troubleshooting plugin conflicts
- Finding alternatives for unsupported plugins
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