Usually there is a contract between the student and an institution that tells the students all the classes the student will take in a certain period of time.
From the teacher point of view, on Moodle, she is the responsible to make available all courses to the students from hidden to visible, so that students can enter to the course and start learning and practicing.
Nowadays, Moodle lets teacher the following options, moderated by the administrator sitewise:
- Students can list and see the content of visible courses to students, or
- Students cannot list nor see the content of hidden courses to students.
all this, configuring the capacity `moodle/course:viewhiddencourses` to Allow or not.
There is an interesting third option that currently there is no option to that with Moodle as is:
- Students can list but cannot see the content of hidden courses to students.
Why is this third option important?
Since there is a contract between students and the institution, the student easily can verify and check that all subjects appears on the Moodle site. There is no possible confusion on that.
We could add a new capability like `moodle/course:listhiddencourses` that would allow to the user to list and see the subjects that the user is enrolled in. However, to see the content of hidden courses to students will still depend on the existing `moodle/course:viewhiddencourses` capability.
This would be a neat options to let students, the big amount of our customers, to see and check that they can list all the subjects they are enrolled in, independently of the condition to see the content of the hidden courses to students.