[Draft] Optimize discussion forum roles and permissions

[Draft] Optimize discussion forum roles and permissions

 

Background

There are 4 forum roles in Open edX and various course roles. Forum moderation privileges are distributed among these roles as shown in the table below.

image-20251103-071602.png
Forum moderation privileges vs forum and course roles

Opportunity

Forum roles and permissions in Open edX at present are somewhat redundant and likely misaligned with real course operations because:

  1. The roles most responsible for managing course discussions, namely Course Staff and Course Admin, lack moderation privileges. Their only exception is the ability to pin and bulk delete.

  2. There are 4 forum roles that share almost identical permissions, with the exception of cross-cohort visibility and bulk-delete access.

This may create confusion for course teams.

For example, an instructor reported being unable to pin posts and assumed this was a bug. Extending pin/unpin permissions to Course Staff and Course Admin temporarily addressed this but increased inconsistency in how forum permissions are distributed.

Goals

  1. Enable course owners (staff and admins) to moderate their own forums without needing extra roles.

  2. Simplify the discussion role structure to make it easier to understand, manage, and document.

Proposed way forward

  1. Grant ALL forum moderation privileges to Course Staff and Course Admin roles.

  2. Deprecate the Discussion Admin and Discussion Moderator roles, which duplicate permissions already available in other roles. Retain TA and Group TA roles for cases where moderation privileges must be granted to users who are not on the course team (e.g., learners).

Role

Proposal

Role

Proposal

Course Staff

Grant ALL forum moderation privileges

Course Admin

Grant ALL forum moderation privileges

Discussion Admin

Deprecate

Discussion Moderator

Deprecate

TA

Unchanged

Group TA

Unchanged (maybe deprecate, see below)

Potential optimization: Deprecate Group Community TA role

The Group Community TA role exists to support courses that divide their learners into cohorts, allowing a TA to moderate only within their assigned group.

Usage data from a large Open edX instance over the past 1 year shows that fewer than 1% of courses had this role enabled, with only 5 users assigned this role among hundreds of thousands of active users. Maintaining a separate role for such a limited use case increases documentation, configuration, and testing overhead without providing proportional value.

Deprecating this role and relying on the TA role instead would simplify permissions while maintaining essential moderation capabilities. The only trade-off is that TAs would gain visibility into discussions across all cohorts, rather than being restricted to one.