Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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.

  1. At the beginning of an empty course, the Teams feature is completely disabled.

  2. Using the “pages & resources” page an author can turn on Teams and configure the Groups (team sets)

    Image Added

    Teams can then be created in the teams section at the lms.

  3. [NEW] In studio, when an author opens the modal to select the access restriction in a unit

    Image Added

    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.

    Image Added


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.

...

The original panel for comparison:

...

Technical approach

[needs more detail] technical discovery at https://github.com/openedx/edx-platform/pull/33105