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
(Added a table)
No edit summary
Line 21: Line 21:
| /admin/report
| /admin/report
| Provides useful views of data in a Moodle site, for admins only.
| Provides useful views of data in a Moodle site, for admins only.
| All until 2.1 (for 2.2+ see [[Reports]])
| Up to 2.1 (for 2.2+ see [[Reports]])
|-
|-
| [[Admin tools]]
| [[Admin tools]]
Line 45: Line 45:
| /blocks
| /blocks
| Small information-displays or tools that can be moved around pages
| Small information-displays or tools that can be moved around pages
| All
| 2.0+
|-
|-
| [[Course formats]]
| [[Course formats]]
Line 51: Line 51:
| /course/format
| /course/format
| Different ways of laying out the activities and blocks in a course
| Different ways of laying out the activities and blocks in a course
| All
| 1.3+
|-
|-
| [[Course reports]]
| [[Course reports]]
Line 57: Line 57:
| /course/report
| /course/report
| Reports of activity within the course
| Reports of activity within the course
| All until 2.1 (2.2+ see [[Reports]])
| Up to 2.1 (for 2.2+ see [[Reports]])
|-
|-
| [[Database fields]]
| [[Database fields]]
Line 63: Line 63:
| /mod/data/field
| /mod/data/field
| Different types of data that may be added to databases
| Different types of data that may be added to databases
| All
| 1.6+
|-
|-
| [[Database presets]]
| [[Database presets]]
Line 69: Line 69:
| /mod/data/preset
| /mod/data/preset
| Pre-defined templates for databases
| Pre-defined templates for databases
| All
| 1.6+
|-
|-
| [[Editors]]
| [[Editors]]
Line 87: Line 87:
| /filter
| /filter
| Automatically convert, highlight, and transmogrify text posted into Moodle.
| Automatically convert, highlight, and transmogrify text posted into Moodle.
| 1.6+
| 1.4+
|-
|-
| [[Gradebook export]]
| [[Gradebook export]]
Line 124: Line 124:
| Send messages to users via different methods (email, sms, jabber, etc)
| Send messages to users via different methods (email, sms, jabber, etc)
| 2.0+
| 2.0+
|-
| [[Mnet services]]
| mnetservice
| /mnet/service
|
|
|-
|-
| [[Plagiarism plugins]]
| [[Plagiarism plugins]]
Line 147: Line 141:
| /question/behaviour
| /question/behaviour
|  
|  
|  
| 2.1+
|-
|-
| [[Question formats]]
| [[Question formats]]
Line 153: Line 147:
| /question/format
| /question/format
|  
|  
|  
| 2.1+
|-
|-
| [[Question types]]
| [[Question types]]
Line 159: Line 153:
| /question/type
| /question/type
|  
|  
|  
| 2.1+
|-
|-
| [[Quiz reports]]
| [[Quiz reports]]
Line 165: Line 159:
| /mod/quiz/report
| /mod/quiz/report
| Perform analysis of quiz attempts
| Perform analysis of quiz attempts
|  
| 1.9+
|-
|-
| [[Reports]]
| [[Reports]]

Revision as of 09:14, 30 January 2012

The M in Moodle stands for modular, and the easiest, most maintainable way to add new functionality to Moodle is by writing a plugin using one of the many plugin APIs:

Plugin types

Plugin type Component name Moodle path Description Moodle versions
Activity modules mod /mod Activity modules are the most important type of plugins. They provide activities in courses. For example: Forum, Quiz and Assignment. All
Admin reports report /admin/report Provides useful views of data in a Moodle site, for admins only. Up to 2.1 (for 2.2+ see Reports)
Admin tools tool /admin/tool Provides utility scripts useful for admins to examine and modify a Moodle site 2.2+
Assignment types assignment /mod/assignment/type Different forms of assignments to be graded by teachers 1.x - 2.2
Authentication plugins auth /auth Allows connection to external sources of authentication 2.0
Blocks block /blocks Small information-displays or tools that can be moved around pages 2.0+
Course formats format /course/format Different ways of laying out the activities and blocks in a course 1.3+
Course reports coursereport /course/report Reports of activity within the course Up to 2.1 (for 2.2+ see Reports)
Database fields datafield /mod/data/field Different types of data that may be added to databases 1.6+
Database presets datapreset /mod/data/preset Pre-defined templates for databases 1.6+
Editors editor /lib/editor Alternative text editors for editing content 2.0+
Enrolment plugins enrol /enrol Ways to control who is enrolled in courses 2.0+
Filters filter /filter Automatically convert, highlight, and transmogrify text posted into Moodle. 1.4+
Gradebook export gradeexport /grade/export Export grades in various formats 1.9+
Gradebook import gradeimport /grade/import Import grades in various formats 1.9+
Gradebook reports gradereport /grade/report Display/edit grades in various layouts and reports 1.9+
Grading methods gradingform /grade/grading/form Interfaces for actually performing grading in activity modules (eg Rubrics). 2.2+
Local plugins local /local Generic plugins for local customisations 2.0+
Messaging consumers message /message/output Send messages to users via different methods (email, sms, jabber, etc) 2.0+
Plagiarism plugins plagiarism /plagiarism Define external services to process submitted files and content 2.0+
Portfolio plugins portfolio /portfolio Connect external portfolio services as destinations for users to store Moodle content 1.9+
Question behaviours qbehaviour /question/behaviour 2.1+
Question formats qformat /question/format 2.1+
Question types qtype /question/type 2.1+
Quiz reports quiz /mod/quiz/report Perform analysis of quiz attempts 1.9+
Reports report /report Provides useful views of data in a Moodle site for admins and teachers 2.2+
Repository plugins repository /repository Connect to external sources of files to use in Moodle 2.0+
SCORM reports scormreport /mod/scorm/report Analysis of SCORM attempts 2.2+
Themes theme /theme Change the look of Moodle by changing the the HTML and the CSS. See also Themes 1.9. 2.0+
User profile fields profilefield /user/profile/field Add new types of data to user profiles 1.9+
Webservice protocols webservice /webservice Define new protocols for web service communication (such as SOAP, XML-RPC, JSON, REST ...) 2.0+
Workshop allocation strategies workshopallocation /mod/workshop/allocation 2.0+
Workshop evaluation plugins workshopeval /mod/workshop/eval 2.0+
Workshop grading forms workshopform /mod/workshop/form 2.0+



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.

See also