/rest

A gateway plugin for Open Journal Systems that allows external applications to make HTTP requests for information about a journal, returning JSON-formatted data.

Primary LanguagePHP

	=================================
	=== REST Gateway Plugin
	=================================

The REST gateway plugin gets information on a journal in JSON format via HTTP.
It can be addressed with the following URL pattern:

http://localhost/ojs2/index.php/myJournal/gateway/plugin/RestPlugin/...

...where, of course, localhost is the local server name, ojs2 is the path
to the OJS 2.x installation, and myJournal is the path to a particular
journal.

The plugin must be enabled in order to respond to requests. To enable the
plugin, or ensure that it is sufficiently configured, log into the Journal
Manager's "System Plugins" page, find the REST Plugin under the
"Gateway Plugins" page, and click "Enable".

The plugin has the following methods to request data:

http://.../RestPlugin/journalInfo -- Get general info about a journal.
http://.../RestPlugin/articleInfo/X -- Get data on article number 'X'.
http://.../RestPlugin/issueData/X -- Get metadata on issue number 'X'.
http://.../RestPlugin/issueDataWithArticles/X -- Get metadata on issue number 'X' and all its articles.
http://.../RestPlugin/currentIssueData -- Get metadata for the current issue.
http://.../RestPlugin/currentIssueDataWithArticles -- Get metadata for the current issue and all its articles.
http://.../RestPlugin/allIssueData -- Get metadata for all issues.  If the additional parameter is set to 1, all articles will be included.
http://.../RestPlugin/allIssueDataWithArticles -- Get metadata for all issues, along with all their articles.
http://.../RestPlugin/announcements -- Retrieve all announcements in chronological order

TODO:
	-API Key (Only allow access from registered agents)
	-User authentication to get user data
	-XML result sets (only returns JSON for now)
	-More methods into the system, beefier API, as well as better API documentation