openedx / openedx/frontend-app-authoring

Task - RBAC Authz - Content Tags Drawer - Support authz-based permissions

Open
#3,036 2 comments 0 reactions 0 assignees View on GitHub

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

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 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.