/moodle-block_course_checker

A Moodle course checker plugin that improves the quality and eliminate human routine tasks in online courses

Primary LanguagePHP

Moodle Course Checker Build Status

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.

Requirements

This plugin should be compatible with Moodle 3.7+

  • You have to set up a cron to run the checkers
  • php-ext-curl should be on (for the link checker)

Installation

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
echo '/blocks/course_checker/' >> .git/info/exclude

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

Documentation

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 and userdata make only sense to be run in template courses. Therefore, they have an advanced setting where you can define a regexp 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)

Available checkers

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

Copyright (C) 2019 Liip AG the Swiss Moodle Partner.

Further developments and open-sourced by Swiss Distance University of Applied Sciences (FFHS).