Developer documentation organisation
Note: This page is a work-in-progress. Feedback and suggested improvements are welcome. Please join the discussion on moodle.org or use the page comments.
Levels of Documentation
The documentation relevant to Moodle development can be conceptualised at three levels forming a loose hierarchy of complexity.
The three levels are Moodle developer courses, Dev docs wiki and the Moodle codebase, which are each described below.
Ideally, to reduce redundancy and increase clarity, there should be little overlap between these levels, so the Dev docs should not include information that is easily identifiable from the code, nor should the dev docs contain instructional material would be better delivered in the Moodle Developer Courses.
Moodle Developer Courses
This Moodle site has been established to allow developers to learn how to develop and maintain Moodle code.
The content of the site should be instructional and should refer to other forms of documentation (in the Dev docs and the code), rather than repeating it.
The main focus of this site is the Introduction to Moodle Programming course which covers the fundamentals of Moodle development.
More focussed courses could target specific topics such as block development or theme development, replacing content Dev docs content that is instructional in nature.
The site can also be used for development related projects and activities, such as the Google Summer of Code.
Dev Docs wiki
factual reference not instructional
not repeating documentation embedded in code, but can show organisation and examples
Useful for documenting projects during development
Also used for collecting development related informational documents such as Releases, the Roadmap, Student projects and Meeting notes.
Code
Searchable using PHPdoc
Organisation within the Dev docs
From hit-wise analysis