openedx / openedx/openedx-platform

[DEPR]: Libraries' Roles and Permission System

Open
#37,409 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

depr
Dominant language
Python
Stars
8.2k
Forks
4.4k
Avg merge
6d 18h
Merged PRs (30d)
42

Description

RFC Start Date

2025-10-16

Target Plan Accepted Date

2025-10-30

Target Transition Unblocked Date

December 2025 (With Ulmo cut)

Earliest Breaking Changes Unblocked Date

April 2026

Earliest Open edX Named Release with Breaking Changes

Willow

Rationale

The Roles and Permissions improvement project aims to enhance the management of permissions on the Open edX platform. To mitigate the possible risk associated with completely overhauling a core system like authorization, our primary strategy is to implement a staging or phased migration plan. We will start migrating the current library permissions and roles to the new authorization system.

Removal
Replacement
Deprecation
  • We'll mark the rest api methods regarding authorization in content libraries as depr.
  • We'll mark the ContentLibraryPermission model as depr.

https://github.com/openedx/openedx-platform/pull/38052

Additional Info

[!NOTE]
For the Ulmo release, we are going to add this new authorization system without removing the existing one, following the expand-contract deprecation model.

More information: https://github.com/openedx/openedx-authz/pull/66

Task List (Transition Unblocked)
  • Having a migration script to transform existing explicit role assignments into the new authorization model
Task List (DEPR)
  • Remove the code mentioned in the removal section. - planned for Willow.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the content_libraries API and rest_api directories, permissions.py, and the ContentLibraryPermission model in models.py. Compare the existing authorization paths with the replacement work in openedx-authz and check the deprecation changes in open edX pull request 38052. Done means removing the listed legacy code without breaking the new authorization flow or its migration path.

Written by the indexing model from the issue text.

Assessment

Tech stack
django, python
Domain
api, authorization, backend
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.