Making course visibility private

I am working on making some private courses but I am having trouble with hiding the visibility of the course.

In the advance settings of the course I see a setting called

Course Visibility in Catalog

and I have tried changing the variable to “none” from the default but it is still displayed for all users.


In the back-end code I have found these variables:

COURSE_CATALOG_VISIBILITY_PERMISSION
COURSE_ABOUT_VISIBILITY_PERMISSION
DEFAULT_COURSE_VISIBILITY_IN_CATALOG

But I haven’t had luck hiding the visibility. What would be the best way to do this? Any help would be much appreciated!

hi,

you need edit lms.env.json

lms/envs/commons.py

which access.py permission name to check in order to determine if a course is visible in

the course catalog. We default this to the legacy permission ‘see_exists’.

COURSE_CATALOG_VISIBILITY_PERMISSION = ‘see_in_catalog’

which access.py permission name to check in order to determine if a course about page is

visible. We default this to the legacy permission ‘see_exists’.

COURSE_ABOUT_VISIBILITY_PERMISSION = ‘see_about_page’

Thank you for the response. I had issues initially with those variables. Until those were set to ‘none’ and invitation only was set to ‘true’. I don’t know if that’s the best method to approach it but it was able to hide the course from the catalog. If I didn’t have invitation only it was still visible.

I don’t think this is really the solution. As JavaMatt said later, he had to set a course to Invitation Only before it was truly hidden. Those settings don’t seem to really hide courses if e.g. you want to allow the About page to be linked to so people can sign up when you ask them to. And invitation only isn’t an option in my case since people need to be able to self-subscribe to this courses which I don’t want to show up in the catalog.

1 Like

Hi team, any update on this?

What is the real purpose of course visibility? When set to none, which I thought meant, it would not be displayed in the catalog, and the about page couldn’t be accessed, but still accessible to users who had the link, which it isn’t - you get a 404 instead, even though the course in invite only, and the student has been enrolled on the course.