openedx / openedx/openedx-authz
AuthZ Extensibility in Willow: Enable Roles and Permissions Contributed by Modules
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 0
- Forks
- 9
- Avg merge
- 13d 9h
- Merged PRs (30d)
- 9
Description
Description
Allow an installed module to contribute new roles and permissions (including the metadata needed by the Administrative Console) without changing openedx-authz critical code paths or adding role-specific frontend code.
-
Spike: Extensibility Proposal for Willow Instructor Dashboard Use Case
-
Guiding use case: Instructor Dashboard.
-
Context: The PoC already showed that Casbin can load, assign, and enforce new role and permission strings. This epic covers the missing definition layer around that behavior: contribution/discovery, metadata, validation, and role-agnostic APIs.
-
Scope covered: Use cases A1, A2, A5, and A6 (add a role with existing permissions; add a role with new permissions; add new/existing permissions to a built-in role). Uses the current scope and subject.
-
Out of scope: new scope types, new subject types, scope REST discovery, and plugin removal.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files or tests are named. Start with the linked Extensibility Proposal and the existing Casbin proof of concept, focusing on contribution/discovery, metadata, validation, and role-agnostic APIs for use cases A1, A2, A5, and A6. Done means modules can contribute roles and permissions, including Administrative Console metadata, without changing critical authorization paths or adding role-specific frontend code.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- authorization, backend-api-design, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100