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
Line 224: Line 224:
*[[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]]


Please see the [[Guidelines for contributed code|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_customisation|local customisations]] hook.


==See also==
==See also==

Revision as of 09:16, 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 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:


See also