Skip to content

Commit 874c734

Browse files
authored
docs: add course roles doc (#293)
* docs: add course roles doc * docs: update the table * docs: apply feedback * docs: remove global staff and superuser permission because it is not implemented
1 parent b9a13bd commit 874c734

2 files changed

Lines changed: 178 additions & 0 deletions

File tree

Lines changed: 177 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,177 @@
1+
.. _Roles Permissions Course:
2+
3+
Core Roles and Permissions: Course
4+
##################################
5+
6+
This document outlines the built-in roles and permissions associated with the Course feature in the Open edX platform.
7+
8+
.. contents::
9+
:depth: 2
10+
:local:
11+
12+
.. _Course Roles:
13+
14+
Roles
15+
-----
16+
17+
A **role** is a set of permissions that defines what actions a user can perform. When you **grant a role to a user**, you assign it within a specific scope, which determines where those permissions apply. Here is the list of default roles for Courses.
18+
19+
- The **Course Admin** has full control over the course, including managing users, modifying content, and handling publishing workflows. They ensure content is properly maintained and accessible as needed.
20+
21+
- The **Course Staff** is responsible for creating, editing, and publishing content within a course. They can manage tags and advanced settings but cannot delete courses or manage users.
22+
23+
- The **Course Editor** can create and edit content within a course but cannot publish it. They support the authoring process while leaving final publishing to Staff or Admins.
24+
25+
- The **Course Auditor** provides view-only access for general oversight, compliance review, and QA. This role cannot edit, delete, or modify any content in Studio.
26+
27+
.. note::
28+
29+
Global staff and superusers are like Course Admins on all courses (they have full permissions across all courses by default).
30+
31+
Permissions
32+
-----------
33+
34+
The following permissions are associated with the course roles:
35+
36+
Course Access & Content
37+
=========================
38+
- **View course** (``courses.view_course``): Allows users to view the course and access the course outline in read-only mode.
39+
- **Create course** (``courses.create_course``): Allows users to create a new course in Studio.
40+
- **Edit course content** (``courses.edit_course_content``): Allows users to edit course content, outline, units, and components.
41+
- **Publish course content** (``courses.publish_course_content``): Allows users to publish course content.
42+
43+
Library Updates
44+
========================
45+
- **Manage library updates** (``courses.manage_library_updates``): Allows users to accept or reject library updates in Studio.
46+
47+
Course Updates & Handouts
48+
===========================
49+
- **View course updates** (``courses.view_course_updates``): Allows users to view course updates and handouts.
50+
- **Manage course updates** (``courses.manage_course_updates``): Allows users to manage course updates and handouts, including creating, editing, and deleting.
51+
52+
Pages & Resources
53+
====================
54+
- **View pages & resources** (``courses.view_pages_and_resources``): Allows users to view pages and resources.
55+
- **Manage pages & resources** (``courses.manage_pages_and_resources``): Allows users to edit pages and resources, including toggles and content managed from that section.
56+
57+
Files
58+
=======
59+
- **View files** (``courses.view_files``): Allows users to view the Files page.
60+
- **Create files** (``courses.create_files``): Allows users to upload files.
61+
- **Edit files** (``courses.edit_files``): Allows users to perform non-destructive file actions, such as lock or unlock.
62+
- **Delete files** (``courses.delete_files``): Allows users to delete files.
63+
64+
Schedule & Details
65+
===================
66+
- **View schedule and details** (``courses.view_schedule_and_details``): Allows users to view the course schedule and details.
67+
- **Edit schedule** (``courses.edit_schedule``): Allows users to edit the course schedule.
68+
- **Edit course details** (``courses.edit_details``): Allows users to edit course details, including summary, pacing, and prerequisites.
69+
70+
Grading
71+
=========
72+
- **View grading settings** (``courses.view_grading_settings``): Allows users to view grading settings.
73+
- **Edit grading settings** (``courses.edit_grading_settings``): Allows users to edit grading settings.
74+
75+
Course Team & Groups
76+
====================
77+
- **View course team** (``courses.view_course_team``): Allows users to view the course team roster.
78+
- **Manage course team** (``courses.manage_course_team``): Allows users to edit course team membership and roles.
79+
- **Manage group configuration** (``courses.manage_group_configurations``): Allows users to manage content groups.
80+
81+
Tags & Taxonomies
82+
=================
83+
- **Manage tags** (``courses.manage_tags``): Allows users to create, edit, and delete tags.
84+
- **Manage taxonomies** (``courses.manage_taxonomies``): Allows users to create, edit, and delete taxonomies.
85+
86+
Advanced & Certificates
87+
=======================
88+
- **Manage advanced settings** (``courses.manage_advanced_settings``): Allows users to access and edit advanced settings.
89+
- **Manage certificates** (``courses.manage_certificates``): Allows users to access and edit certificates.
90+
91+
Import / Export
92+
================
93+
- **Import course** (``courses.import_course``): Allows users to import course content.
94+
- **Export course** (``courses.export_course``): Allows users to export course content.
95+
- **Export tags** (``courses.export_tags``): Allows users to export tags.
96+
97+
Other
98+
=====
99+
- **View checklists** (``courses.view_checklists``): Allows users to view checklists.
100+
101+
.. _Course RP Summary Table:
102+
103+
Roles and Permissions Summary Table
104+
-----------------------------------
105+
106+
.. START COURSE RP TABLE:
107+
108+
.. table:: Matrix of Course Roles and Permissions
109+
:widths: auto
110+
111+
============================================= ============== ============== ===================== ==============
112+
Permissions Course Admin Course Staff Course Editor Course Auditor
113+
============================================= ============== ============== ===================== ==============
114+
**Tags & Taxonomies**
115+
--------------------------------------------- -------------- -------------- --------------------- --------------
116+
courses.manage_tags ✅ ✅ ✅ ❌
117+
courses.manage_taxonomies ✅ ❌ ❌ ❌
118+
**Updates & Handouts**
119+
--------------------------------------------- -------------- -------------- --------------------- --------------
120+
courses.view_course_updates ✅ ✅ ✅ ✅
121+
courses.manage_course_updates ✅ ✅ ✅ ❌
122+
**Advanced & Certificates**
123+
--------------------------------------------- -------------- -------------- --------------------- --------------
124+
courses.manage_advanced_settings ✅ ✅ ❌ ❌
125+
courses.manage_certificates ✅ ✅ ❌ ❌
126+
**Access & Content**
127+
--------------------------------------------- -------------- -------------- --------------------- --------------
128+
courses.view_course ✅ ✅ ✅ ✅
129+
courses.create_course ❌ ❌ ❌ ❌
130+
courses.publish_course_content ✅ ✅ ❌ ❌
131+
courses.edit_course_content ✅ ✅ ✅ ❌
132+
**Files**
133+
--------------------------------------------- -------------- -------------- --------------------- --------------
134+
courses.view_files ✅ ✅ ✅ ✅
135+
courses.create_files ✅ ✅ ✅ ❌
136+
courses.edit_files ✅ ✅ ✅ ❌
137+
courses.delete_files ✅ ✅ ❌ ❌
138+
**Schedule & Details**
139+
--------------------------------------------- -------------- -------------- --------------------- --------------
140+
courses.view_schedule_and_details ✅ ✅ ✅ ✅
141+
courses.edit_schedule ✅ ✅ ❌ ❌
142+
courses.edit_details ✅ ✅ ✅ ❌
143+
**Library Updates**
144+
--------------------------------------------- -------------- -------------- --------------------- --------------
145+
courses.manage_library_updates ✅ ✅ ✅ ❌
146+
**Grading**
147+
--------------------------------------------- -------------- -------------- --------------------- --------------
148+
courses.view_grading_settings ✅ ✅ ✅ ✅
149+
courses.edit_grading_settings ✅ ✅ ✅ ❌
150+
**Pages & Resources**
151+
--------------------------------------------- -------------- -------------- --------------------- --------------
152+
courses.view_pages_and_resources ✅ ✅ ✅ ✅
153+
courses.manage_pages_and_resources ✅ ✅ ✅ ❌
154+
**Import / Export**
155+
--------------------------------------------- -------------- -------------- --------------------- --------------
156+
courses.import_course ✅ ✅ ❌ ❌
157+
courses.export_course ✅ ✅ ❌ ❌
158+
courses.export_tags ✅ ✅ ❌ ❌
159+
**Team & Groups**
160+
--------------------------------------------- -------------- -------------- --------------------- --------------
161+
courses.view_course_team ✅ ✅ ✅ ✅
162+
courses.manage_group_configurations ✅ ✅ ✅ ❌
163+
courses.manage_course_team ✅ ❌ ❌ ❌
164+
**Other**
165+
--------------------------------------------- -------------- -------------- --------------------- --------------
166+
courses.view_checklists ✅ ✅ ✅ ✅
167+
============================================= ============== ============== ===================== ==============
168+
169+
.. END COURSE RP TABLE
170+
171+
**Maintenance chart**
172+
173+
+--------------+-------------------------------+----------------+--------------------------------+
174+
| Review Date | Working Group Reviewer | Release | Test situation |
175+
+--------------+-------------------------------+----------------+--------------------------------+
176+
| 2026-05-19 | RBAC Project | Verawood | TO DO |
177+
+--------------+-------------------------------+----------------+--------------------------------+

docs/concepts/core_roles_and_permissions/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@ Core Roles and Permissions
55
:maxdepth: 1
66

77
content_library_roles
8+
course_roles

0 commit comments

Comments
 (0)