Plugin types
From MoodleDocs
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
- Core APIs
- Frankenstyle
- Moodle Plugins database - lists all the modules that people have contributed