Activities ::: mod_checklist
Maintained by DavoDavo Smith
A checklist can be created by a teacher (or generated from the activities in a course) and then the students or teachers can check-off each item as they are completed.
Mike Churchward
Thursday, March 17, 2016, 2:52 AM
General comments

Version reviewed: 2.x (Build: 2015110800)


By using the checklist plugins, teachers can insert checklists into courses to assist students with keeping track of what activities have been completed at any given point.  

The checklist appears as a to-do list that can be formatted with colors for each item as well as indentations to reinforce structured learning.  Items can be marked as optional or required.  Checklists can be designed to allow either (or both) students and teachers to mark items as complete.  There is also the capability of providing comments for each item as it is marked complete by a teacher.  To assist students with keeping track of due dates for each item on the checklist, dates can be synced with the calendar.

The checklist can be designed with custom items or can automatically include any item(s) within the course.  The checklist will automatically mark items as complete when students meet completion criteria  if activity completion is active for the course.  In addition, the users progress on the checklist is automatically entered into the gradebook as a percentage.

The checklist block shows a progress bar for each enrolled user; providing a teacher with an overview of each users progress and students with an easy to read indication of their progress.

Overall, the checklist activity and checklist block are easy to configure and to use inside of a course.



The checklist activity type and block are installed via the standard MOODLE plugin installation procedure.

  1. Unzip the contents of the file you downloaded to a temporary folder.

  2. Upload the files to the your moodle server, placing the 'mod/checklist' files in the '[moodlefolder]/mod/checklist' folder, (optionally) the 'blocks/checklist' files in the '[moodlefolder]/blocks/checklist' folder.

  3. Log in as administrator and click on 'Notifications' in the admin area to update the Moodle database

Once the checklist module is installed, it can be added to any course as an activity.  

Once the checklist block is installed, it can be added to any course page as a block.

Usability Walkthrough:

For Teachers…

Using the Checklist activity involves (1) installing the plugin, (2) adding the activity to the course,  and (3) configuring the activity settings.  

Setup steps are reasonably simple although there are a number of key options that must be configured....

  1. Navigate to the course where the checklist will be used.

  2. Turn Editing ON.

  3. Click “Add and Activity or Resource” and choose “Checklist”

  4. Enter information for each of the settings as shown below…

    1. Checklist: Enter the name of the checklist

    2. Introduction: Enter a description for the checklist

    3. User can add their own items: Yes/No
      --If set to “YES” students will be able to enter their own items into the checklist.

    4. Updates by:  Student/Teacher/Student and Teacher
      --determines who is allowed to mark items as complete

    5. Add due dates to calendar: Yes/No
      --if set to “Yes” due dates will automatically synced to the calendar

    6. Teachers can add comments: Yes/No
      --this setting provides the teacher with a comments box for each item on the checklist.

    7. Maximum grade: 0-100

    8. Email when checklist is complete: No/Student/Teacher/Student and Teacher
      --When a checklist is complete, a notification email can be sent: to the student who completed it, to all the teachers on the course or to both.  An administrator can control who receives this email by adding or removing the capability 'mod:checklist/emailoncomplete' to the role (by default all teachers and non-editing teachers have this capability).

    9. Show Course Modules in Checklist: Yes/No
      --If set to “Yes” all course activities and resources will be inserted into the checklist.  Individual items can be hidden as necessary.

    10. Check-off when modules complete: Yes/No
      --If set to “Yes” then checklist items will be automatically marked as complete when activity completion settings are in use and criteria have been met for each activity.

    11. Lock teacher marks: Yes/No
      --if set to “Yes” teacher completion marks are locked and cannot be changed.

When logged in as Administrator or Teacher within the course, clicking the activity will allow viewing and editing of the checklist and completion marking for individual users.  A number of somewhat obvious icons are available to guide the teacher’s actions such as adding new items, naming and hiding items.  Items can also be rearranged and indented to provide a sense of structure to the checklist.  Due dates can also be easily entered for each item.

For Students…

When visiting a course with a checklist block enabled, students can view their progress via a progress bar.  If the checklist is set to allow students to check items for themselves, then clicking the progress bar will navigate the user to the checklist activity for marking individual items.  While viewing the checklist activity, the user can navigate directly to any course activity that is included within the checklist.  

For Administrators...

Site administrators can configure the checklist plugin to display checklist information on the user dashboard.  If so configured, the checklist block can be placed on the dashboard to display all checklists (with progress bars).

Course Maintenance:

Since it is an activity type and block, checklists are copied along with other course content during backup and restore.


The documentation on both the checklist block and activity type is sufficient and comprehensive.


Providing a course checklist assists students with their ability to become self directed learners.  The capability of adding their own items to the checklist extends this idea; helping students to take more responsibility for their own learning progress.  

Perhaps the most powerful feature of the checklist is that student grades are automatically added to the gradebook.  In addition, the fact that the checklist can be configured to work with MOODLE’s activity completion settings makes it a very powerful tool for tracking progress in a course.

The checklist activity and block have widespread use in the MOODLE community. The plugin is continually updated in a timely manner and can be trusted to work with all new versions over time.


No formal accessibility testing was done on this plugin. However, nothing has come up in our other tests to indicate a problem. In the future, we will be developing more formal accessibility testing suites and will redo them then.


Technical Code Review:

NOTE - "version.php" file had to have code removed in order to run through these tests.

Full code testing results

(Scores out of 2 - 2 = perfect; 1 = some concerns; 0 = problems.)
Tested for PHP 5.6 and 7 on both MySQL and Postgres. No version of technology problems were found. Score - 2.
Installation test (mpci install) - no problems. Score 2.
PHP syntax test (mpci phplint) - no problems. Score 2.
PHP copy/paste detector (mpci phpcpd) - minor duplication of code in one place. Score 1.
PHP code complexity (mpci phmd) - generally code is okay. Eight files out of ~30 flagged with simple and difficult violations. Score - 1.
Moodle code guidelines (mpci codechecker) - Several minor Moodle coding guideline violations (36% of files violate). Score - 1.
CSS syntax test (mpci csslint) -no problems. Score 2.
JS syntax test (mpci jshint) - minor errors identified. Score - 1.
Moodle plugin structure test - Passed. Score - 2.
PHPUnit tests - No tests provided. Score - 0.
Behat tests - Tests provided; all passed. Score - 2.
Total score 16 / 22 - 73%.

Maintenance Review:

(Scores out of 2 - 2 = confident; 1 = nervous; 0 = concerned.)
Lifetime: Plugin has existed since 2010 on version 1.9 - initial github commit on Feb. 8, 2010. Score - 2
Releases: Frequent releases to Moodle plugins DB, with the latest in November 2015. Score - 2
Maintainers: Davo Smith of Synergy (Moodle Partner). Score - 20
Support Response: Has a component in Moodle Tracker. Uses Github tracker. Responds in plugins DB. Score - 2
Release timing: How quickly is a release made available to a major Moodle release? 3.0, 2.9, 2.7 met criteria. 2.8 was two months late. Score - 1

 Total score 9 / 10 - 90%.