This commit addresses to the need to add an API for Sidebar Navigation that returns the course structure with sections, subsections, and **units**, according to user access rules. (Previous outline requests only went down to subsections.) To improve the performance of the API, we cache the course structure for a user, which makes it much easier to calculate the block structure for the user at each request. However, there may be cases when this caching can lead to an overflow of the cache storage in high-loaded LMS with large courses, so the corresponding flag "courseware.disable_navigation_sidebar_blocks_caching" was added so that this caching can be disabled.
Status: Active Development Responsibilities ================ The courseware djangoapp is responsible for presenting course content to learners. Glossary ======== More Documentation ================== `Architectural Decision Records <https://github.com/openedx/edx-platform/tree/master/lms/djangoapps/courseware/docs/decisions>`_