3.4 3.3
Jump to table of contents


This document describes the coding conventions and concepts that power PKP’s applications. It is written for software developers who want to fix bugs, add new features, and contribute code to OJS, OMP or OPS.

If you want to adapt one of these applications to your publishing needs, you may prefer to consult the Theming Guide, Plugin Guide, or other developer documentation.

If you are not a coder, please consult our user documentation.

What are OJS, OMP and OPS? #

Open Journal Systems (OJS), Open Monograph Press (OMP), and Open Preprint Systems (OPS) are open-source platforms for open access scholarly publishing. They provide web-based tools to manage the submission, peer-review, copyediting and publishing of scholarly works. Or, in the case of OPS, the submission, moderation and posting of preprints by scholars.

These platforms are used to run everything from small, independent presses or journals to large national infrastructures powering hundreds of journals or thousands of preprints.

Learn more about our software.

Using this guide #

This guide will help you learn how to contribute code to the project. It is written as a high-level introduction to the application structure and the most common utilities you will need to begin working with the code.

If you are looking for a more detailed specification, please consult the reference documentation (Doxygen), the REST API Usage Guide, the Database Schema or the UI Library.

When you’re ready, learn how to get started by installing the software and setting up your development environment.

Copyright: Simon Fraser University holds the copyright for work produced by the Public Knowledge Project and has placed its documentation under a Creative Commons Attribution 4.0 International License.

Creative Commons Attribution 4.0 International