How to hide "Course B" to students who haven't completed "Course A"?

How to hide "Course B" to students who haven't completed "Course A"?

David McNab -
回帖数:2
Hi there,

From earlier discussions, I notice that support for prerequisites is a bit lacking.

I want some courses to be completely hidden from students unless they have completed prerequisites courses.

This means that if "Course B" has "Course A" as a prerequisite, then I don't want students to even see that Course B exists until they have completed Course A.

Is this possible? Or will I have to do this via the API?

Cheers
David

回复David McNab

Re: How to hide "Course B" to students who haven't completed "Course A"?

Ravi Murugesan -
Testers的头像

Hi David - If you don't mind keeping Course B visible on your site while restricting enrollment to students who have completed Course A, check out the Course Completed Enrolment plugin.

I don't think it's straightforward to keep Course B hidden from students because of the following reasons:

  • Even if you don't publicize all the available courses on your site**, the link your-Moodle-URL/course/index.php usually reveals the list of all courses on your site to anyone. It's unlikely that a typical student would know about this link, but whether this lack of awareness is sufficient is for you to decide.

  • There is an option to make a course hidden in the course settings, but this will make it invisible to anyone with the Student role.

** Check the Site Home setting and Site Home Items When Logged In setting in Site Administration -> General -> Site Home -> Site Home Settings

回复David McNab

Re: How to hide "Course B" to students who haven't completed "Course A"?

Jeff Shrek -
I would like to this feature as well, I just have not had time to see if there is a way to do it or if there is a plugin that can achieve this or not.

But I have done the following in the meantime as my workaround...

I use the "Restriction by other course completion"
https://moodle.org/plugins/availability_othercompleted

So I can use this plugin to prevent them from accessing the first activity in the next course until the have "completed" that previous course.
The plugin lets you define what "completed" means for that previous course. So for us, each course has several lessons with a quiz for each, and each lesson is restricted until the previous lesson quiz is passed. So I set my "course completion" when the final quiz of the last lesson has been passed, and then they can access the next course.

They can still see all the other courses, but when they access it, it tells them that they need to complete the previous course before they can access this one.

Oh by the way, our students are enrolled in ALL the courses, which is why they can see all them in their My Courses list. We just have a single track of courses, one after the other, with no variations. So this workaround may not work for everybody.