# Request for feedbak: breaking changes for course visibility

**URL:** <https://discuss.openedx.org/t/request-for-feedbak-breaking-changes-for-course-visibility/7341>\
**Category:** Build-Test-Release\
**Created:** [May 26, 2022, 1:00pm UTC](https://discuss.openedx.org/t/request-for-feedbak-breaking-changes-for-course-visibility/7341 "2022-05-26T13:00:49Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![kmccormick](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.openedx.org/kmccormick/32/8982_2.png) [@kmccormick](https://discuss.openedx.org/u/kmccormick)\
**Post date:** [May 27, 2022, 1:55pm UTC](https://discuss.openedx.org/t/request-for-feedbak-breaking-changes-for-course-visibility/7341/3 "2022-05-27T13:55:11Z")

</div>

Hey @ghassan, I did some searching and found some information about how this field is handled in Discovery. I am completely unfamiliar with edx-search and how it is connected to LMS, CMS and Discovery, so I do not know whether or not this information will be helpful to you.

Anyway, I found the `CourseRun.hidden` field in Discovery:

> <https://github.com/openedx/course-discovery/blob/abf12b216143b3e25bbc68f29b75ed7f2204f07c/course_discovery/apps/course_metadata/models.py#L1410-L1414>

This field seems to control whether the course should be returned from the Discovery APIs, and it’s apparently controlled by the Studio `catalog_visibility` setting.

To confirm this, I looked at the [`refresh_course_metadata` management command](https://github.com/openedx/course-discovery/blob/master/course_discovery/apps/course_metadata/management/commands/refresh_course_metadata.py), which uses the `CoursesApiDataLoader` to update Discovery’s `hidden` field from the edx-platform Course API’s `hidden` field: [course-discovery/api.py at 31afc6df508dd8b177fdb3dcb345893df9cedc6a · openedx/course-discovery · GitHub](https://github.com/openedx/course-discovery/blob/31afc6df508dd8b177fdb3dcb345893df9cedc6a/course_discovery/apps/course_metadata/data_loaders/api.py#L246).

Indeed, the edx-platform Course API’s `hidden` field is based on `catalog_visibility`: [edx-platform/serializers.py at 203e2e9c041c8dd41bd49e75625687fbf47423a3 · openedx/edx-platform · GitHub](https://github.com/openedx/edx-platform/blob/203e2e9c041c8dd41bd49e75625687fbf47423a3/lms/djangoapps/course_api/serializers.py#L120-L126).

So, it sounds like that if one invokes Disovery’s `refresh_course_metadata` command, the `hidden` field in Discovery will be updated from edx-platform’s `catalog_visibility` setting. Again, not sure how this relates to edx-search.

---

_[View the full topic](https://discuss.openedx.org/t/request-for-feedbak-breaking-changes-for-course-visibility/7341)._
