Moodle can be extended by using a variety of plugins. Each of these plugin subsystems can be developed by using a variety of standard techniques and unique APIs.
In this chapter, we will look at several of these plugin systems, including:
Assignment types
Resource types
Question types
We will also build our own assignment type.
An assignment is a Moodle activity module that allows specific tasks, which can be completed and tracked, to be assigned to students. The actual task is dependent upon the type of assignment that was selected when the activity is added to the course.
Assignments can be gradable, can be scheduled, and can be assigned due dates. Students complete an assignment through a specific submission action.
Types of tasks can include offline activities, uploading files, or composing content online by using a web-based editor. Assignment tasks are defined by a variety of assignment types.