-
Notifications
You must be signed in to change notification settings - Fork 5
Description
User story
As a Library Admin, I want to enable or disable public reuse of a library's published content directly from the library sidebar, so the rest of my team can use it in their courses without needing an explicit role assignment.
Acceptance criteria
- The toggle is located in the library sidebar, below the "Manage Library Team" entry point.
- The toggle label is "Allow public reuse"
- The toggle is visible to all users who can see the sidebar, but only interactive for users with
manage_library_teamon that library. - Users without
manage_library_teamsee the toggle in its current state but cannot interact with it. - The default state is Off.
- When turned On, all authenticated Studio users can view and reuse published items from that library via course authoring. Draft content remains hidden.
- This does not create a role assignment or explicit permission grant.
- If a user already has a role on the library, their existing permissions are unchanged.
- When turned Off, reuse access for unaffiliated Studio users is removed going forward.
- While saving, the control is disabled and shows a saving state.
- On success, a success toast appears.
- On error, an error message appears with a Retry action.
Test cases
Setup
- Admin A has
manage_library_teamfor Library 1. - Member M is a library team member without
manage_library_team. - User U has a Studio account and no roles in Library 1.
- Library 1 has published and draft items.
Scenarios
-
Admin sees the toggle and it is Off by default
Given: I am logged in as Admin A
When: I open Library 1
Then: I see the toggle in the sidebar below "Manage Library Team"
And: the toggle is Off by default -
Admin can turn the toggle On
Given: I am Admin A and the toggle is Off
When: I turn it On
Then: the control disables while saving
And: on success a success toast appears
And: all authenticated Studio users can view and reuse published items from Library 1
And: draft content remains hidden
And: no role assignment is created -
Admin can turn the toggle Off
Given: I am Admin A and the toggle is On
When: I turn it Off
Then: the control disables while saving
And: on success a success toast appears
And: reuse access for unaffiliated Studio users is removed going forward -
Member without manage_library_team sees the toggle but cannot interact with it
Given: I am logged in as Member M and the toggle is On
When: I open Library 1
Then: I see the toggle in the On state
And: the toggle is not interactive -
Error shows a retry action
Given: I am Admin A and I toggle the state
When: the save fails
Then: an error message appears with a Retry action
And: the toggle returns to its previous state -
Unaffiliated user cannot reuse content when toggle is Off
Given: I am User U and the toggle is Off for Library 1
When: I go to course authoring and open the reuse content picker
Then: I do not see Library 1 or its items -
Unaffiliated user can reuse published content when toggle is On
Given: I am User U and the toggle is On for Library 1
When: I go to course authoring and open the reuse content picker
Then: I can see Library 1's published items
And: I do not see draft items
Design
Out of scope
- 401 and 403 use the existing auth error view. 404 and server errors use the existing not found or generic error view.
Notes
- This toggle replaces
allow_public_readand is translated toallow_public_reuse. Current behavior is preserved. - Granting reuse also implies view access for the library. This is not a permission or role assignment, it is an attribute of the library.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status