Thank you for the detail explanation, it almost more sesne now.
The only thing that doesn’t make much sense is that, for the /courses
will get the result from edx-search
if the discovery service is enabeld.
Hence:
So the lms will use edx-search for /courses if discovery service is enabled. And that exact part of code what made mix them togather (edx-search and discovery) do you have any context on that?
On the other hand, while I was going over testing for my changes, I find that edx-search has a setting for overriding filter class, and the LMS does override it and it use this filter instead edx-platform/lms_filter_generator.py at a27247d14d2b77234fd004988f96258e29d0d000 · openedx/edx-platform · GitHub . And filter shuold skip course visibility to none if SEARCH_SKIP_SHOW_IN_CATALOG_FILTERING = False
. I am not 100% sure about that, since I just found about it and didn’t test it yet.