Migration Requirements
This document outlines the requirements necessary to migrate the current user groups (Cohorts, Teams, and Enrollment Tracks) to the new unified user grouping system in Open edX.
⚠️ These requirements are not final and should be evaluated to determine whether they are essential for inclusion in the new unified system.
1. Requirements for Support Cohorts Functionality
A user group in the new unified system must support:
Functional Requirements
A user may only belong to one user group per course.
A user added to a user group must be removed from any other user group that is mutually exclusive at the course level.
Must support the manual assignment via CSV of users to the group.
All users in a course must belong to a user group.
Discussions must be segmentable depending on the user group.
It must be possible to disable the user group at the course level.
Must support the automatic assignment of users to the group. (TBD)
Must support the manual assignment via the UI for users in the group.
(Possibly not for the first iteration)
It must be possible to assign a user to the group even if they are not enrolled in the course. (No for the first iteration)
It must be possible to assign a user who does not have an account to the group. (No for the first iteration)
2. Requirements for Support Teams Functionality
A user group in the new unified system must support:
Functional Requirements
Must maintain ORA integration, allowing assignments to be restricted by user group membership.
It must be possible to set and edit a user limit (500 max.) in the user group.
It must be possible to disable the user group at the course level.
Support for multiple (sub) user groups related to a user group (simulating the behavior of Team Sets and Teams). Ensure users can only belong to one (sub) user group per user group. (TBD)
Must support different behaviors:
Users should be able to create a user group. (TBD)
Users should be able to leave a user group. (TBD)
Users should be able to join a user group. (TBD)
3. Requirements for Support Enrollment Track Groups Functionality
A user group in the new unified system must support:
Functional Requirements
A grouping criterion must exist based on enrollment track type (e.g.,
audit,verified, etc.).Users must be automatically assigned to the corresponding group based on their enrollment track.
General Requirements
Must support content restriction based on user group membership.
Must support mixed assignments (manual + criteria) and manual overrides.
The system must support large-scale instances (>100k users).
Performance must not degrade when evaluating multiple grouping criteria in parallel.