Note: You are currently viewing documentation for Moodle 2.9. Up-to-date documentation for the latest stable version of Moodle may be available here: Course completion FAQ.

Course completion FAQ

From MoodleDocs

How do I enable course completion?

See Course completion settings.

Students have completed the criteria but the report does not show it

Check in Administration > Site administration > Server > Scheduled tasks that the task 'Calculate completion data' is running frequently enough, such as every minute.

I have set up course prerequisites but my students can still access the second course before they have finished the first

Sorry - the course prerequisites feature does NOT prevent students from accessing courses. It merely prevents the course from being marked as "complete" until they have completed another course.

How can I prevent my students accessing course 2 before they have completed course 1?

This is currently not possible using completion settings- see MDL-22648 .The usual workaround is to add a final activity at the end of course 1 - such as a quiz - inside which you give the enrolment key to the next course (in the quiz feedback for example) Thus, only those who have completed course 1 can get access to course 2. That doesn't stop them sharing the key however, but you could see any cheaters in the logs.

Another workaround is to install the Badge enrolment plugin which restricts access to a second course until the student has obtained a badge in the first course.

I made a mistake and had to erase my student data. Do my students have to redo the activities?

No. For example, if you set the course completion for All aggregation methods and wanted to reset it to "Any", Moodle will warn you that you are deleting compiled student data. It will delete the student data only for the course completion information. When cron.php runs it will recompile the course completion information.

My student got an error message when they click on more information in the course completion block

This may happen at the start of the course when the student has not completed an activity and/or you have selected an aggregation method of All and have not checked off that they have completed the activity.

Where do my students tell me they have finished the course?

Did you install the Self completion block? When they click on the link in that block, that will indicate they think they are done.

How can I set my course completion to be longer than 30 days after enrolment?

Currently the dropdown menu only allows you to choose from up to 30 days after enrolment. There is a tracker entry about this here MDL-34678. However, if you are happy editing the database then you can manually change the value as follows:

  1. Look in the mdl_course_completion_criteria table. The Duration After Enrolment criteria will have the "criteriatype" value of 5 and the number of days is recorded in the column "enrolperiod" in seconds (so #days x 86400).
  2. Adjust the enrolperiod value and after the next cron run everything will use the new value.

See also