Website Design & Development
We create stunning, user-friendly websites that drive growth.
We create stunning, user-friendly websites that drive growth.
We build custom apps to drive innovation.
We manage your IT, so you can focus on your core business.
We deliver scalable, secure cloud services for seamless operations.
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.
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.
OJS supports various plugin categories, each serving different purposes:
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.
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 add content sections to journal sidebars or designated areas. Language toggles, subscription information, and custom information blocks are examples.
These control journal appearance. While OJS includes default themes, additional theme plugins offer different visual designs or enhanced customization options.
Gateway plugins provide alternative access methods to journal content, often for machine reading or specialized protocols like OAI-PMH.
These integrate with external authentication systems, allowing users to log in through institutional credentials, LDAP, Shibboleth, or other identity providers.
For journals collecting fees, payment plugins integrate with payment processors like PayPal or institutional payment systems.
Plugin compatibility issues arise because OJS and plugins evolve independently:
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.
OJS database schemas evolve across versions. Plugins that directly interact with database tables may break when those tables change structure.
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.
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.
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 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
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:
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.
Before installing any plugin, verify compatibility with your OJS version:
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.
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.
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.
Before installing plugins on live journals, test in a development or staging environment. This prevents compatibility problems from affecting active operations.
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.
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.
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.
Incompatible plugins may cause slow page loading, high server resource usage, or database errors that affect overall journal performance.
Outdated plugins may contain security vulnerabilities fixed in newer versions. Running old plugins—even if they function—exposes journals to potential security problems.
Periodically check for plugin updates through the Plugin Gallery or original distribution sources. Updated plugins may include bug fixes, security patches, and compatibility improvements.
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.
As with initial installation, test plugin updates in non-production environments when possible. Even compatible updates can occasionally introduce new issues.
Maintain records of installed plugins, versions, and sources. This documentation helps with troubleshooting and ensures you can reinstall or update plugins correctly.
Sometimes plugins you depend on become incompatible with new OJS versions. Options include:
Active plugin developers typically release compatibility updates after major OJS releases. Waiting a few weeks or months may yield compatible versions.
For plugins with active maintainers, requesting compatibility updates through GitHub issues or forum posts may prompt developer attention.
Multiple plugins often provide similar functionality. If your preferred plugin isn't compatible, alternatives may be available that are.
For critical plugins without alternatives, commissioning compatibility updates from developers is sometimes necessary.
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.
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.
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.
Altechmind provides OJS support including plugin installation, compatibility troubleshooting, and configuration. We help journals get the functionality they need while maintaining stable operations.
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.