Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Plugin types: Difference between revisions

From MoodleDocs
No edit summary
(Adding new plugin types)
Line 4: Line 4:


*[[Modules|Activity modules]], see also [[NEWMODULE Documentation]] (work in progress)
*[[Modules|Activity modules]], see also [[NEWMODULE Documentation]] (work in progress)
**and [[Subplugins|Sub-Plugins]] (2.0 Onwards)
*[[Admin reports|Admin reports]]
*[[Admin reports|Admin reports]]
*[[Assignment types|Assignment types]]
*[[Assignment types|Assignment types]]
*[[Authentication plugins|Authentication plugins]]
*[[Authentication plugins|Authentication plugins]]
*[[Blocks|Blocks]]
*[[Blocks|Blocks]]
*[[Course formats]]
*Content editors (2.0 onwards)
*[[Course Format|Course Formats]]
*[[Course Report Plugins|Course reports]]
*[[Course Report Plugins|Course reports]]
*Course importers (2.0 onwards)
*[[Database fields|Database fields]]
*[[Database fields|Database fields]]
*[[Database presets|Database presets]]
*[[:en:Database presets|Database presets]]
*[[Enrolment plugins|Enrolment plugins]]
*[[Enrolment plugins|Enrolment plugins]]
*[[Filters|Filters]]
*[[Filters|Filters]]
*[[Gradebook plugins|Gradebook plugins]]
*[[Gradebook_Report_Tutorial|Gradebook report]]
**[[Gradebook_Report_Tutorial|Gradebook report]]
*[[Gradebook export|Gradebook export]]
**[[Gradebook export|Gradebook export]]
*[[Gradebook import|Gradebook import]]
**[[Gradebook import|Gradebook import]]
*Message senders (2.0 onwards)
*[[Writing_a_Portfolio_Plugin|Portfolio Plugins]]
*Mnet services
*Plagiarism detection plugins (2.0 onwards)
*[[Writing_a_Portfolio_Plugin|Portfolio plugins]] (2.0 onwards)
*[[Question_type_plugin_how_to|Question types]]
*[[Question_type_plugin_how_to|Question types]]
*[[Question import/export formats|Question import/export formats]]
*[[Question import/export formats|Question import/export formats]]
*[[How to write a quiz report plugin|Quiz reports]]
*[[How to write a quiz report plugin|Quiz reports]]
*[[Repository plugins|Repository plugins]]
*[[Repository plugins|Repository plugins]] (2.0 onwards)
*[[Resource types|Resource types]]
*[[Resource types|Resource types]]
*[[Search engine adapters|Search engine adapters]]
*[[Search engine adapters|Search engine adapters]]
*Themes which are different in [[Themes_2.0|Moodle 2.0]], and [[Theme_basics|earlier versions]].
*User profile fields
*[[Web services (2.0 onwards)|Web services (2.0 onwards)]]
*Workshop allocators (2.0 onwards)
*Workshop forms (2.0 onwards)
*Workshop evaluators (2.0 onwards)


General information that applies to all types of plugins
General information that applies to all types of plugins
Line 35: Line 46:


[[Category:Coding guidelines|Plugins]]
[[Category:Coding guidelines|Plugins]]
[[Category:Plugins]]

Revision as of 08:34, 4 November 2011

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:

General 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.