openedx / openedx/frontend-app-authoring
Task - RBAC Authz - Content Tags Drawer - Support authz-based permissions
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 17
- Forks
- 218
- Avg merge
- 9d 20h
- Merged PRs (30d)
- 20
Description
Task - RBAC Authz - Content Tags Drawer - Support authz-based permissions
Context
With the introduction of openedx-authz for course authoring (openedx-platform#38436), users can now have course-level roles (e.g. course_editor, course_auditor) granted exclusively through authz. The content tags drawer needs updates to properly reflect these permissions in the UI.
The drawer should be tested with each course-level role to verify the UI matches their capabilities:
| Role | view_course |
manage_tags |
Expected UI behavior |
|---|---|---|---|
course_admin |
✓ | ✓ | View tags, add/remove tags |
course_staff |
✓ | ✓ | View tags, add/remove tags |
course_editor |
✓ | ✓ | View tags, add/remove tags |
course_auditor |
✓ | ✗ | View tags only, no add/edit/delete controls |
Known issues
UI controls don't respect can_tag_object / can_delete_objecttag response fields
The API correctly returns can_tag_object: false and can_delete_objecttag: false for users without courses.manage_tags (e.g. course_auditor), but the drawer still shows the "Add a tag" button and tag management controls. The drawer should check these fields and hide add/edit/delete controls when they are false.
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
Start at the content tags drawer and trace how it renders controls from the API response. Test the drawer for each listed course-level role, especially the can_tag_object and can_delete_objecttag fields. Done means auditors can view tags without add, edit, or delete controls, while authorized roles retain those controls.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- react, typescript
- Domain
- authorization, frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100