A Moodle course checker plugin that improves the quality and eliminate human routine tasks in online courses
This plugin provides a framework that can check a course based on independent checkers. It will help you find misconfiguration in your courses and follow your internal guidelines. The checkers can be triggered manually an will be executed by the Moodle AdHoc task system.
This plugin should be compatible with Moodle 3.11+
- You have to set up a cron to run the checkers
php-ext-curl
should be on (for the link checker)
Install the plugin like any other plugin to folder blocks/course_checker
.
Use git to install this plugin:
cd /var/www/html/moodle
git clone https://github.com/ffhs/moodle-block_course_checker.git blocks/course_checker
Then complete upgrade over CLI:
sudo -u apache /usr/bin/php admin/cli/upgrade.php
or GUI (Site administration -> Notifications).
See MoodleDocs for details on installing Moodle plugins
This plugin provides interfaces and well defined result objects to extend this plugin. New useful checkers and issue notifications are highly appropriated
- Each checker can be executed separately (re-run or all at once)
- Individual checkers can be deactivated
- If checkers are deactivated you can show or hide the existing results
- Some checkers e.g
activedates
anduserdata
make only sense to be run in template courses. Therefore, they have an advanced setting where you can define aregexp
which checks the course fullname if the checker will be shown or not. - A static date and a note can be stored (human check)
- A list with edited and created activities since this date will be displayed
- This form can allowed only for given roles
- The user will be notified by Moodle when a check is done
- Individual settings are defined in each checker (
classes/checkers/checker_name/settings.php
), rather than in settings.php - Individual edit_forms are defined in each checker (
classes/checkers/checker_name/edit_form.php
), rather than in edit_form.php - Individual dependencies are defined in each checker (
classes/checkers/checker_name/dependency.php
)
Checker Name | User Story | Dependency |
---|---|---|
Attendance sessions | As editing teacher, - I would like to see if in my course the attendance activity is created. There must be no sessions added to the activity, to ensure teachers can take attendance during class and that no old sessions are copied. |
mod_attendance |
Group submission for assignments | As editing teacher, - I would like to see, if in my course in an assignment the option "students submit in groups" is set, whether the "group mode" is activated. A grouping is created and selected, and corresponding groups exist and are allocated. This allows me to ensure that the first submission of a student does not block the submission for all other students. |
|
Links in course summary and URL activities | As editing teacher, - I would like to see if all the external links that are in the course are reachable -I would like to be able to create my own domain whitelist per course Links that requires authentication are currently not supported (e.g internal Moodle links) |
|
Settings compared to reference course | As editing teacher, - I would like to be able to compare specific coursesetting fields between a course and the reference course - I would like to be able to compare the filter settings between a course and the reference course -I would like to be able to compare courseformat options between a course and the reference course |
|
Label subheadings check | As editing teacher, - I would like to see, if all labels starts with a h4 HTML tag and a FontAwesome icon |
|
Data activity with fieldsk | As editing teacher, - I would like to see, if databases have fields defined |
|
Active dates in activity configurations | As editing teacher, - I would like to see, if activities has timing configurations set |
|
Total mark in activity quiz | As editing teacher, - I see that for quizzes, the maximum points correspond to the total number questions points |
|
Stored user data in activities | As editing teacher, - I see that no user data is entered for activities that may contain user data (e.g. databases, forums, glossaries, wikis) They will not be copied to the individual courses |
|
Blocks exists | As editing teacher, - I would like to be able to compare the present blocks between a course and the reference course |
Copyright (C) 2019 Liip AG the Swiss Moodle Partner.
Further developments and open-sourced by Swiss Distance University of Applied Sciences (FFHS).