Studio has a feature that allows course authors to restrict the access for a certain subset of students.
This feature is part of what creates the Cohorts feature. This feature also allows different content to be shown to students that belong to a different enrollment track (audit, honor, verified, …).
The proposed modification to the platform to achieve “Connecting Teams to Content Groups“ would add a similar capability to the Teams. Steps 1 and 2 are already how the lms and studio work.
At the beginning of an empty course, the Teams feature is completely disabled.
Using the “pages & resources” page an author can turn on Teams and configure the Groups (team sets)
Teams can then be created in the teams section at the lms.
[NEW] In studio, when an author opens the modal to select the access restriction in a unit
the author will be presented with a drop-down that lists the available Groups. When selected the list of Teams from this group will be shown for authors to select one or multiple teams.
Technical approach
The proposed modification would build a new Dynamic Partition Generator, that is added to the `openedx.user_partition_scheme` stevedore entry point .
This Generator function would create a TeamUserPartition
object in memory for each course's team-set.
Each group associated with each partition is dynamically generated based on the teams within the team-set. When the course blocks are loaded, the course UserPartitionTransformer
transformer will collect the blocks the current user can access. This in turn will call the registered course outline processors.
We would include a TeamPartitionGroupsOutlineProcessor
, which gets the information in the blocks group_access
field and then matches it with the student's group filtering the course tree for the current user.
A test version of this approach has been implemented in the form of a PR here: https://github.com/openedx/edx-platform/pull/33788
Below is the first version of this proposal that built on top of Manual Content Groups - Now rejected in favor of the simple dynamic content groups
Studio has a feature called content groups. This can be reached via the settings dropdown in the header. First, authors can create different groups in this page. Creating a group here does not change anything yet.
Second, in the Course Outline, units can be configured to be visible only by certain cohorts by clicking the Gear Icon to reach the modal:
Third, at the instructor panel in the LMS, in the cohorts tab, an instructor can select each cohort and assign a content group to them. Doing so, makes the content that is restricted to this content group available for users in that cohort.
The proposed modification to the platform to achieve “Connecting Teams to Content Groups“ would add a similar capability to the Teams. For this, in the Team edition page below Optional Characteristics there would be a select to associate a content group.
The original panel for comparison: