After changes from #31472, the user service of a "leaf" XBlock gets overridden with the one created for its parent (SequenceBlock). Therefore, the `requires_per_student_anonymous_id` is ignored in these XBlocks. The subsequent renders of an XBlock (e.g., when requesting the solution) use the student-specific IDs. This removes choosing the proper ID (course-specific or student-specific) from the runtime initialization. Instead, both IDs are passed to the user service. There are only two XBlocks that relied on the `requires_per_student_anonymous_id` - `ProblemBlock` and `HtmlBlock`. They now request the "deprecated" (student-specific) user ID directly from the user service.
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>`_