Skip to content

Commit 9a1ef17

Browse files
authored
[FC-0099] docs: add the default roles and permissions documentation (openedx#94)
* docs: add the default roles and permissions documentation * fix: apply feedback * fix: improve the contents section
1 parent e3d5c28 commit 9a1ef17

3 files changed

Lines changed: 118 additions & 0 deletions

File tree

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
Core Roles and Permissions: Content Library
2+
#############################################
3+
4+
This document outlines the built-in roles and permissions associated with the Content Library feature in the Open edX platform.
5+
6+
.. contents::
7+
:depth: 2
8+
:local:
9+
10+
Roles
11+
-----
12+
13+
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 Libraries.
14+
15+
- The **Library Admin** has full control over the library, including managing users, modifying content, and handling publishing workflows. They ensure content is properly maintained and accessible as needed.
16+
17+
- The **Library Author** is responsible for creating, editing, and publishing content within a library. They can manage tags and collections but cannot delete libraries or manage users.
18+
19+
- The **Library Contributor** can create and edit content within a library but cannot publish it. They support the authoring process while leaving final publishing to Authors or Admins.
20+
21+
- The **Library User** can view and reuse content but cannot edit or delete anything.
22+
23+
Permissions
24+
-----------
25+
26+
The following permissions are associated with the content library roles:
27+
28+
Library Permissions
29+
=======================
30+
31+
- **View the library** (``view_library``): Allows users to view the content library.
32+
- **Manage library tags** (``manage_library_tags``): Allows users to manage the tags associated with library items.
33+
- **Delete the library** (``delete_library``): Allows users to delete the entire content library.
34+
35+
36+
Library Content Permissions
37+
===============================
38+
39+
- **Edit library content** (``edit_library_content``): Allows users to edit existing content within the library.
40+
- **Publish library content** (``publish_library_content``): Allows users to publish content to or from the library.
41+
- **Reuse library content** (``reuse_library_content``): Allows users to reuse content from the library in other contexts.
42+
43+
44+
Library Team Permissions
45+
=============================
46+
47+
- **View the library team** (``view_library_team``): Allows users to view the list of users or roles associated with the library.
48+
- **Manage the library team** (``manage_library_team``): Allows users to add, remove, or change the roles of users in the library team.
49+
50+
51+
Library Collections Permissions
52+
===================================
53+
54+
- **Create library collections** (``create_library_collection``): Allows users to create new collections within the library.
55+
- **Edit library collections** (``edit_library_collection``): Allows users to modify existing collections within the library.
56+
- **Delete library collections** (``delete_library_collection``): Allows users to delete collections within the library.
57+
58+
Permissions Inheritance
59+
========================
60+
61+
* **Managing library tags** (``manage_library_tags``) implies **editing library content** (``edit_library_content``).
62+
* **Deleting the library** (``delete_library``) implies **editing library content** (``edit_library_content``).
63+
* **Publishing library content** (``publish_library_content``) implies **editing library content** (``edit_library_content``).
64+
* **Editing library content** (``edit_library_content``) implies **viewing the library** (``view_library``).
65+
* **Reusing library content** (``reuse_library_content``) implies **viewing the library** (``view_library``).
66+
* **Publishing library content** (``publish_library_content``) implies **viewing the library** (``view_library``).
67+
* **Managing the library team** (``manage_library_team``) implies **viewing the library team** (``view_library_team``).
68+
* **Deleting a library collection** (``delete_library_collection``) implies **editing a library collection** (``edit_library_collection``).
69+
* **Creating a library collection** (``create_library_collection``) implies **editing a library collection** (``edit_library_collection``).
70+
* **Editing a library collection** (``edit_library_collection``) implies **viewing the library** (``view_library``).
71+
72+
73+
Roles and Permissions Summary Table
74+
------------------------------------
75+
76+
.. table:: Matrix of Content Library Roles and Permissions
77+
:widths: auto
78+
79+
============================= ================= ================ ===================== ==============
80+
Permissions Library Admin Library Author Library Contributor Library User
81+
============================= ================= ================ ===================== ==============
82+
**Library**
83+
view_library ✅ ✅ ✅ ✅
84+
manage_library_tags ✅ ✅ ✅ ❌
85+
delete_library ✅ ❌ ❌ ❌
86+
**Content**
87+
edit_library_content ✅ ✅ ✅ ❌
88+
publish_library_content ✅ ✅ ❌ ❌
89+
reuse_library_content ✅ ✅ ✅ ✅
90+
**Team**
91+
view_library_team ✅ ✅ ✅ ✅
92+
manage_library_team ✅ ❌ ❌ ❌
93+
**Collections**
94+
create_library_collection ✅ ✅ ✅ ❌
95+
edit_library_collection ✅ ✅ ✅ ❌
96+
delete_library_collection ✅ ✅ ✅ ❌
97+
============================= ================= ================ ===================== ==============
98+
99+
100+
**Maintenance chart**
101+
102+
+--------------+-------------------------------+----------------+--------------------------------+
103+
| Review Date | Working Group Reviewer | Release | Test situation |
104+
+--------------+-------------------------------+----------------+--------------------------------+
105+
| 2025-10-13 | RBAC Project | Ulmo | TO DO |
106+
+--------------+-------------------------------+----------------+--------------------------------+
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
Core Roles and Permissions
2+
############################
3+
4+
.. toctree::
5+
:maxdepth: 1
6+
7+
content_library_roles

docs/concepts/index.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,7 @@
11
Concepts
22
########
3+
4+
.. toctree::
5+
:maxdepth: 2
6+
7+
core_roles_and_permissions/index

0 commit comments

Comments
 (0)