1f11a90 Aug 15, 2018
3 contributors

Users who have contributed to this file

@asmecher @zuphilip @jerico-dev
71 lines (65 sloc) 2.9 KB
* @mainpage OJS API Reference
* Welcome to the OJS API Reference. This resource contains documentation
* generated automatically from the OJS source code.
* The design of Open %Journal Systems 2.x is heavily structured for
* maintainability, flexibility and robustness. Those familiar with Sun's
* Enterprise Java Beans technology or the Model-View-Controller (MVC) pattern
* will note similarities.
* As in a MVC structure, data storage and representation, user interface
* presentation, and control are separated into different layers. The major
* categories, roughly ordered from "front-end" to "back-end," follow:
* - Smarty templates, which are responsible for assembling HTML pages to
* display to users;
* - Page classes, which receive requests from users' web browsers, delegate
* any required processing to various other classes, and call up the
* appropriate Smarty template to generate a response;
* - Controllers, which implement reusable pieces of content e.g. for AJAX
* subrequests.
* - Action classes, which are used by the Page classes to perform non-trivial
* processing of user requests;
* - Model classes, which implement PHP objects representing the system's
* various entities, such as Users, Articles, and Journals;
* - Data Access Objects (DAOs), which generally provide (amongst others)
* update, create, and delete functions for their associated Model classes,
* are responsible for all database interaction;
* - Support classes, which provide core functionalities, miscellaneous common;
* Additionally, many of the concerns shared by multiple PKP applications are
* implemented in the shared "pkp-lib" library, shipped in the lib/pkp
* subdirectory. The same conventions listed above apply to lib/pkp as well.
* As the system makes use of inheritance and has consistent class naming
* conventions, it is generally easy to tell what category a particular class
* falls into.
* For example, a Data Access Object class always inherits from the DAO class,
* has a Class name of the form [Something]%DAO, and has a filename of the form
* [Something]
* To learn more about developing OJS, there are several additional resources
* that may be useful:
* - The docs/ document
* - The PKP support forum at
* - Documentation available at
* @file ojs/index.php
* Copyright (c) 2014-2018 Simon Fraser University
* Copyright (c) 2003-2018 John Willinsky
* Distributed under the GNU GPL v2. For full terms see the file docs/COPYING.
* @ingroup index
* Bootstrap code for OJS site. Loads required files and then calls the
* dispatcher to delegate to the appropriate request handler.
// Initialize global environment
$application = require('./lib/pkp/includes/');
// Serve the request