The developer manual is aimed at people who will be contributing to the project and to a certain extent to those who intend to hack ARK to use it for their own ends. As a general rule, if you find yourself doing extensive hacking, please let us know as we would be happy to consider adding new code to the project.
If you don't know why you are reading this documentation, you are probably looking in the wrong part of the manual. For information on installation and administration see the administrator section of the manual.
Work to create developer documentation including migration of old documentation (Ticket #122) is ongoing (as of 11th Feb 2009) but in the meantime please contact a member of the ARK Development Team if you can't find what you are looking for within these pages.
- 1 Background Reading
- 2 Standards and Guidance
- 3 API Documentation
An incomplete guide to the overall structure of ARK, its file structures etc.
An overview of the ARK data storage model
An overview of filters and how they work (theoretical)
Standards and Guidance
Coding standards are simple and follow the PEAR system rigidly without exception. See the page blow for further detail. Some further guidance is given below to try to help you build new code in a way that fits into the overall ARK style. This material is incomplete at this stage.
An overview of the coding standards with a link to PEAR.
How to add a new page to the system
How the data entry pages fit together. Possibly needs to be re-written as something more generic
example code for a page header block. Possibly needs to be made into a more generic code snippets page
A brief guide to developing new subforms
How to get access to the logged in user's information which is held in the SESSION
An overview of the log system with detailed notes (note that this system is currently not fully working)
An overview and guide
An overview and guide
An overview for developers of the config system
The code is documented in detail within the header blocks for each file and the documentation blocks for each function. This doucmentation is in the process of being categorised and grouped for easier reading, but can be consulted at:
Detailed reference material for every function and script in the system
Some info on the software used to create the documentation from the header blocks