Plugin types: Difference between revisions
From MoodleDocs
No edit summary |
No edit summary |
||
Line 3: | Line 3: | ||
There are many '''types''' of plugin you can write: | There are many '''types''' of plugin you can write: | ||
*[[Activity modules]] | *[[Activity modules]] | ||
**and [[Subplugins | **and [[Subplugins]] (2.0 Onwards) | ||
*[[Admin reports | *[[Admin reports]] | ||
*[[Admin tools]] | |||
*[[Assignment types|Assignment types]] | *[[Assignment types|Assignment types]] | ||
*[[ | *[[Authentication plugins]] | ||
*[[ | *[[Blocks]] | ||
*Content editors (2.0 onwards) | *Content editors (2.0 onwards) | ||
*[[Course | *[[Course formats]] | ||
*[[ | *[[Course reports]] | ||
*Course importers (2.0 onwards) | *Course importers (2.0 onwards) | ||
*[[ | *[[Database fields]] | ||
*[[ | *[[Database presets]] | ||
*[[ | *[[Editors]] | ||
*[[ | *[[Enrolment plugins]] | ||
*[[ | *[[Filters]] | ||
*[[Gradebook | *[[Gradebook export]] | ||
*[[ | *[[Gradebook import]] | ||
*[[ | *[[Gradebook reports]] | ||
*[[ | *[[Grading_methods]] | ||
*Mnet services | *[[Local plugins]] | ||
*Plagiarism | *[[Messaging consumers]] (2.0 onwards) | ||
*[[ | *[[Mnet services]] | ||
*[[ | *[[Plagiarism plugins]] (2.0 onwards) | ||
*[[Question | *[[Portfolio plugins]] (2.0 onwards) | ||
*[[ | *[[Question behaviours]] | ||
*[[ | *[[Question formats]] | ||
*[[ | *[[Question types]] (2.0 and 2.1 onwards) | ||
*[[Quiz reports]] | |||
*[[Repository plugins]] (2.0 onwards) | |||
*[[Resource types]] (1.9 and earlier only) | |||
*[[SCORM reports]] | *[[SCORM reports]] | ||
*[[ | *[[Themes]] (2.0 onwards) (see [[Theme 1.9]] for older plugins). | ||
*[[User profile fields]] | *[[User profile fields]] | ||
*[[Creating_a_web_service_and_a_web_service_function|Web services]] | *[[Creating_a_web_service_and_a_web_service_function|Web services]] | ||
*[[ | *[[Webservice protocols]] | ||
*Workshop allocators (2.0 onwards) | *Workshop allocators (2.0 onwards) | ||
*Workshop forms (2.0 onwards) | *Workshop forms (2.0 onwards) | ||
*Workshop evaluators (2.0 onwards) | *Workshop evaluators (2.0 onwards) | ||
Other information that applies to all types of plugins: | |||
*[[Places to search for lang strings|Where to put language strings for your plugin]] | *[[Places to search for lang strings|Where to put language strings for your plugin]] | ||
*[[Installing and upgrading plugin database tables|Defining the database tables for your plugin]] | *[[Installing and upgrading plugin database tables|Defining the database tables for your plugin]] |
Revision as of 06:11, 30 January 2012
The M in Moodle stands for modular, and the easiest, most maintainable way to add new functionality to Moodle is by using one of the many plugin APIs.
There are many types of plugin you can write:
- Activity modules
- and Subplugins (2.0 Onwards)
- Admin reports
- Admin tools
- Assignment types
- Authentication plugins
- Blocks
- Content editors (2.0 onwards)
- Course formats
- Course reports
- Course importers (2.0 onwards)
- Database fields
- Database presets
- Editors
- Enrolment plugins
- Filters
- Gradebook export
- Gradebook import
- Gradebook reports
- Grading_methods
- Local plugins
- Messaging consumers (2.0 onwards)
- Mnet services
- Plagiarism plugins (2.0 onwards)
- Portfolio plugins (2.0 onwards)
- Question behaviours
- Question formats
- Question types (2.0 and 2.1 onwards)
- Quiz reports
- Repository plugins (2.0 onwards)
- Resource types (1.9 and earlier only)
- SCORM reports
- Themes (2.0 onwards) (see Theme 1.9 for older plugins).
- User profile fields
- Web services
- Webservice protocols
- Workshop allocators (2.0 onwards)
- Workshop forms (2.0 onwards)
- Workshop evaluators (2.0 onwards)
Other information that applies to all types of plugins:
Please see the Guidelines for contributed code for an overview of how to contribute to the Moodle code.
Sometimes it is not possible to write a proper plugin for what you want to do, in which case you may have to resort to using the local customisations hook.