A common usage pattern is to make an exam that is restricted to a particular enrollment track. Since there is no UI in Studio to do this at the sequence/subsection level, course authors instead restrict every unit in the sequence to that track (e.g. "verified"). The legacy courseware experience could handle this, but the Course Blocks API does not. It is likely that we'll want to permit toggling this at the sequence level, but regardless of whether we do that going forward, we still have to deal with this kind of content data in existing courses. An entirely empty sequence is useless, and currently breaks the Courseware MFE browsing experience. This commit introduces the first part of that fix, invoking the new Learning Sequences API to remove sequences that the user shouldn't be allowed to know about. The plan is to switch over the entire course outline from the Course Blocks API to the Learning Sequences API, and this is the first small step in that direction. This also creates CourseWaffleFlag learning_sequences.use_for_outlines to control the gradual rollout of this feature. This will start as a very limited rollout to address courses that show this specific bug (TNL-8377). New learning_sequences public API call: public_api_available
Open edX -------- This is the root package for Open edX. The intent is that all importable code from Open edX will eventually live here, including the code in the lms, cms, and common directories. If you're adding a new Django app, place it in core/djangoapps. If you're adding utilities that require Django, place them in core/djangolib. If you're adding code that defines no Django models or views of its own but is widely useful, put it in core/lib. Note: All new code should be created in this package, and the legacy code will be moved here gradually. For now the code is not structured like this, and hence legacy code will continue to live in a number of different packages.