-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Open
Labels
deprProposal for deprecation & removal per OEP-21Proposal for deprecation & removal per OEP-21
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
Verawood
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
- Libraries Roles and Permission System
- API methods regarding authorization in https://github.com/openedx/edx-platform/tree/a0b4f8168659795a5c356e83b4dfed16fb4282ae/openedx/core/djangoapps/content_libraries/api
- The Rest API methods regarding authorization in https://github.com/openedx/edx-platform/tree/a0b4f8168659795a5c356e83b4dfed16fb4282ae/openedx/core/djangoapps/content_libraries/rest_api
- The library's permissions: https://github.com/openedx/edx-platform/blob/a0b4f8168659795a5c356e83b4dfed16fb4282ae/openedx/core/djangoapps/content_libraries/permissions.py
- ContentLibraryPermission model: https://github.com/openedx/edx-platform/blob/a0b4f8168659795a5c356e83b4dfed16fb4282ae/openedx/core/djangoapps/content_libraries/models.py#L186
Replacement
- New AuthZ System: https://github.com/openedx/openedx-authz
- API: [FC-0099] feat: add public API to interact with roles and permissions openedx-authz#75
- Rest API: [FC-0099] feat: add rest api for roles and permissions openedx-authz#84
- Libraries permissions and roles: [FC-0099] docs: add the default roles and permissions documentation openedx-authz#94
- Policy: [FC-0099] feat: add default policy and fix tests openedx-authz#92
Deprecation
- We'll mark the rest api methods regarding authorization in content libraries as depr.
- We'll mark the ContentLibraryPermission model as depr.
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: openedx/openedx-authz#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.
Metadata
Metadata
Assignees
Labels
deprProposal for deprecation & removal per OEP-21Proposal for deprecation & removal per OEP-21
Type
Projects
Status
Breaking Changes Unblocked