Note:

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

Plugin types

From MoodleDocs
Revision as of 01:06, 17 February 2012 by Michael de Raadt (talk | contribs) (Adding link to contrib guidelines)

The M in Moodle stands for modular. The easiest and most maintainable way to add new functionality to Moodle is by writing one of these types of plugin:


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 Control how student interact with questions during an attempt 2.1+
Question formats qformat /question/format Import and export question definitions to/from the question bank 1.6+
Question types qtype /question/type Different types of question (e.g. multiple-choice, drag-and-drop) that can be used in quizzes and other activities 1.6+
Quiz access rules quizaccess /mod/quiz/accessrule Add conditions to when or where quizzes can be attempted, for example only from some IP addresses, or student must enter a password first 2.2+
Quiz reports quiz /mod/quiz/report Display and analyse the results of quizzes, or just plug miscellaneous behaviour into the quiz module 1.1+
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+



See also