Course completion criteria stays active when “required” activity tracking is disabled

Course completion criteria stays active when “required” activity tracking is disabled

by Tomasz Przybysz -
Number of replies: 0

Hello,

I’m using Moodle Moodle 3.1.4 (Build: 20170109), additionaly tested issue on Moodle 3.4+ (Build: 20171228).

I’ve searched forum and docs, but haven’t found similar issue.

Completion tracking for Moodle is enabled and works.

Scenario is:

1.       create course, enable completion tracking and add some activities eg. two pages: Page1 and Page2

2.       define both activities completion rules as:  Show activity as complete when conditions are met: Student must view this activity to complete it

3.       define course completions criteria as: Course is complete when ALL conditions are met and check both activities as required

4.       enroll some user(s)

5.       log in to user, visit course, view pages – activities status will change to completed

6.       run cron to process course completion status for user – everything works as expected. Users completion status is visible in

 

Now, create new course – steps 1-3:

4.       Go to one of activities that are required to complete course eg. Page2 and set completion rules to:
Do not indicate activity completion.

What happened:

·         Activity will not be visible in Edit course completion settings > Course completion  - when you visit this page you will see list of activities required to complete before completing course. But activities without completion tracking disabled will not be visible on this list – including updated page

·         Completion indicator for this will not be visible to students on course page


Now, login to user, visit both pages – for Page1 status will be updated, for Page2 status indicator is not visible (tracking for activity is disabled).
After running cron, course is not completed, because criteria defined earlier for Page2 is still active (record exists in database table mdl_course_completion_criteria for this activity), despite fact, it’s not visible as required on Edit course completion settings page.
“Intuitive” way of interpreting it, is the criteria is not active, since it’s not visible.

As result no user can complete this course.
Only indicator, that you have completion criteria for Page2 is that this activity is visible in Course completion report.


Is that behavior by design? If so, is there any warning/info in documentation (I haven’t found it, can you point me to it) – it seems important, since (like in my case) you can have eg. Teachers  with permissions to edit content (can edit activity) but without permissions to edit course settings – which is required to define course completion criteria.

I there any way of preventing this scenario (preferably without coding) eg. preventing teachers from disabling tracking on “required” activities or at least showing some warning?


Is there any clever trick to ”correct” settings for courses – I have many courses, with many activities with this issue – and correcting it manually will be a pain. On the other side, I really don’t want to temper with production db.

Thanks for all help.
Average of ratings: -