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.