-
Notifications
You must be signed in to change notification settings - Fork 78
RBAC/Admin Console Ulmo docs #1351
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
sarina
wants to merge
3
commits into
main
Choose a base branch
from
sarina/ulmo-authz-console
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+161 KB
source/_images/educator_how_tos/library_team_roles_edit_user_screen.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+36.9 KB
source/_images/educator_how_tos/library_team_roles_remove_role_popup.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed
BIN
-11.6 KB
source/_images/educator_how_tos/library_user_permissions_info_button.png
Binary file not shown.
Binary file removed
BIN
-44.5 KB
source/_images/educator_how_tos/library_user_permissions_manage_access.png
Binary file not shown.
Binary file removed
BIN
-38.9 KB
source/_images/educator_how_tos/library_user_permissions_new_member.png
Binary file not shown.
Binary file removed
BIN
-31 KB
source/_images/educator_how_tos/library_user_permissions_new_member_email.png
Binary file not shown.
Binary file removed
BIN
-14.8 KB
source/_images/educator_how_tos/library_user_permissions_promote_delete_member.png
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,111 @@ | ||
| .. _Ulmo console: | ||
|
|
||
| Introducing the Administrative Console | ||
| ###################################### | ||
|
|
||
| The Ulmo release introduces the first version of the Administrative Console, a | ||
| central place where administrators can manage access for Open edX tools, | ||
| starting with :ref:`Ulmo Roles and Permissions`. The console is designed as an | ||
| extensible UI that will later support additional administrative workflows and | ||
| integrations. It is powered by the new roles and permissions model and is | ||
| intended to serve as a general purpose admin tool. | ||
|
|
||
| What is in Ulmo for the Administrative Console | ||
| ********************************************** | ||
|
|
||
| In Ulmo, the Administrative Console focuses on managing access to libraries that | ||
| use the new Roles and Permissions service: | ||
|
|
||
| * A library team management page that shows all users who have access to a | ||
| library, the roles they hold, and the available role definitions. | ||
|
|
||
| * A list of users who have access to libraries across the instance, including | ||
| which libraries they can access and at what scope. | ||
|
|
||
| * An overview of :ref:`Library Roles <Ulmo Available RP>` and what each role | ||
| allows a user to do in a library, for example view, edit, publish or manage | ||
| the team. | ||
|
|
||
| * Search and filters by user, email, role and library so administrators can | ||
| quickly see who has access where. | ||
|
|
||
| * The ability to grant, update or revoke access by assigning or removing roles | ||
| for a specific library. Users can hold more than one role and their effective | ||
| access is the combination of those roles. | ||
|
|
||
| How to Access the Administrative Console | ||
| **************************************** | ||
|
|
||
| #. From Studio, open a library where you already have a role. | ||
|
|
||
| .. image:: /_images/release_notes/ulmo/admin_console_1.png | ||
| :alt: Studio Homepage, with a Library highlighted | ||
|
|
||
| #. Use the :guilabel:`Manage Access` button in the right tray for that library | ||
| to open the Administrative Console in a new tab, already focused on that | ||
| library. | ||
|
|
||
| .. image:: /_images/release_notes/ulmo/admin_console_2.png | ||
| :alt: A Library in Studio, with the right tray open. The Manage Access button is highlighted | ||
|
|
||
| #. From this view, Library Admins and global admins can review the team, adjust | ||
| roles and confirm that access looks correct. See :ref:`Add users to | ||
| Libraries` for more detail. | ||
|
|
||
| .. image:: /_images/release_notes/ulmo/admin_console_3.png | ||
| :alt: The Administrative Console, showing the Library Team Management for the specified library. You can see all users names, emails, and Roles, and take Edit action if you have permissions to edit roles | ||
|
|
||
| Scope and Impact | ||
| **************** | ||
|
|
||
| The scope of the Administrative Console in Ulmo is limited to Content Libraries, not | ||
| :ref:`Legacy Libraries <Legacy Content Libraries Overview>`. | ||
|
|
||
| For deployments that already use the Content Libraries, the main impact is that team | ||
| management for libraries moves into the Administrative Console. | ||
|
|
||
| Out of Scope | ||
| ************************ | ||
|
|
||
| The following capabilities are not included in this first release of the | ||
| Administrative Console: | ||
|
|
||
| * Managing access for courses, forums or other areas beyond Libraries. | ||
|
|
||
| * Managing platform settings that are not related to access, such as general | ||
| configuration, integrations or content settings. | ||
|
|
||
| Future Improvements | ||
| ******************* | ||
|
|
||
| After Ulmo, the Administrative Console is expected to evolve in several | ||
| directions: | ||
|
|
||
| * Hosting additional Roles and Permissions scopes such as courses, forums or | ||
| other product areas. | ||
|
|
||
| * Introducing richer administration views that span multiple scopes, for | ||
| example, seeing a user's access across libraries and courses in one place. | ||
|
|
||
| * Adding other platform level configuration panels, for example user groups or | ||
| external integrations. | ||
|
|
||
| This release focuses on delivering value for library access management while | ||
| preparing the architecture for future extensions. | ||
|
|
||
| .. seealso:: | ||
|
|
||
| :ref:`Ulmo Roles and Permissions` | ||
|
|
||
| :ref:`Add users to Libraries` | ||
|
|
||
| :ref:`Migrating Legacy Libraries` | ||
|
|
||
|
|
||
| **Maintenance chart** | ||
|
|
||
| +--------------+-------------------------------+----------------+--------------------------------+ | ||
| | Review Date | Working Group Reviewer | Release |Test situation | | ||
| +--------------+-------------------------------+----------------+--------------------------------+ | ||
| | 2025-12-05 | Product WG | Ulmo | Pass | | ||
| +--------------+-------------------------------+----------------+--------------------------------+ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,6 +1,162 @@ | ||
| .. _Ulmo Roles and Permissions: | ||
|
|
||
| Roles and Permissions in Ulmo Libraries | ||
| Roles and Permissions in Libraries | ||
| ####################################### | ||
|
|
||
| Stub release note | ||
| The Ulmo release introduces the first phase of the new roles and permissions | ||
| system for the Open edX platform. This first phase focuses on establishing a | ||
| shared roles & permissions service and connecting it to Libraries, so the same | ||
| model can be extended to other parts of the platform over time. | ||
|
|
||
| .. image:: /_images/educator_how_tos/library_team_member_tab.png | ||
| :alt: The Team Members tab of the Admin Console, showing two team members in a table with the columns Name, Email, Role, and Actions | ||
| :width: 800 | ||
|
|
||
| Any user who has a role in a library can open the library team manager in the | ||
| new Administrative Console from Studio. This view shows all members of the | ||
| library, the role each person holds, and the permissions associated with each | ||
| role. Library Admins and global site admins can use this view to assign or revoke | ||
| roles for that library, so team membership and role information live in a single | ||
| place. | ||
|
|
||
| The goal of the Ulmo MVP is to introduce the new roles and permissions model to | ||
| Libraries with functional parity and a clearer model of roles, not to change how | ||
| authors create or reuse content. | ||
|
|
||
| .. admonition:: Migrate Legacy Libraries | ||
|
|
||
| :ref:`Legacy Libraries <Legacy Content Libraries Overview>` do not support the new Roles & Permissions functionality. | ||
| Upgrade Legacy Libraries in order to take advantage of this new feature! | ||
| To learn more view the :ref:`migration documentation <Migrating Legacy Libraries>`. | ||
|
|
||
| .. _Ulmo Available RP: | ||
|
|
||
| What's Available in Ulmo | ||
| ************************ | ||
|
|
||
| The Ulmo release includes: | ||
|
|
||
| * Library scoped roles (:ref:`authz:Library Roles`): Library Admin, Library Author, | ||
| Library Contributor, and Library User, each mapped to a defined set of | ||
| permissions that control who can view, edit, publish or reuse library content, | ||
| and who can manage the library team. | ||
|
|
||
| .. table:: Matrix of Content Library Roles and Permissions | ||
| :widths: auto | ||
|
|
||
| ============================================= ================= ================ ===================== ============== | ||
| Permissions Library Admin Library Author Library Contributor Library User | ||
| ============================================= ================= ================ ===================== ============== | ||
| **Library** | ||
| --------------------------------------------- ----------------- ---------------- --------------------- -------------- | ||
| content_libraries.view_library ✅ ✅ ✅ ✅ | ||
| content_libraries.manage_library_tags ✅ ✅ ✅ ❌ | ||
| content_libraries.delete_library ✅ ❌ ❌ ❌ | ||
| **Content** | ||
| --------------------------------------------- ----------------- ---------------- --------------------- -------------- | ||
| content_libraries.edit_library_content ✅ ✅ ✅ ❌ | ||
| content_libraries.publish_library_content ✅ ✅ ❌ ❌ | ||
| content_libraries.reuse_library_content ✅ ✅ ✅ ✅ | ||
| **Team** | ||
| --------------------------------------------- ----------------- ---------------- --------------------- -------------- | ||
| content_libraries.view_library_team ✅ ✅ ✅ ✅ | ||
| content_libraries.manage_library_team ✅ ❌ ❌ ❌ | ||
| **Collections** | ||
| --------------------------------------------- ----------------- ---------------- --------------------- -------------- | ||
| content_libraries.create_library_collection ✅ ✅ ✅ ❌ | ||
| content_libraries.edit_library_collection ✅ ✅ ✅ ❌ | ||
| content_libraries.delete_library_collection ✅ ✅ ✅ ❌ | ||
| ============================================= ================= ================ ===================== ============== | ||
|
|
||
| * A new "Library Contributor" role that matches most of the Library Author | ||
| capabilities for creating and editing content, managing tags and collections, | ||
| and reusing content, but cannot publish content. They support the authoring | ||
| process while leaving final publishing to Authors or Admins. | ||
|
|
||
| * A library team management page in the :ref:`Administrative Console <Ulmo console>`. | ||
| Any user who has a role in a library can open this view to see all members, | ||
| their roles and the available role definitions. Library Admins and global | ||
| site admins use the same view to assign or revoke roles for that library, so team | ||
| membership and role information are managed from a single place. | ||
|
|
||
| * An automatic migration that replicates existing library roles into the new system, | ||
| so current configurations are preserved without manual changes. | ||
|
|
||
| Scope and Impact | ||
| **************** | ||
|
|
||
| The new roles and permissions system applies only to Content Libraries, not | ||
| :ref:`Legacy Libraries <Legacy Content Libraries Overview>`. It replaces the | ||
| previous library specific permissions logic with library-scoped roles surfaced | ||
| through the :ref:`Administrative Console <Ulmo console>`. | ||
|
|
||
| The scope of this release is limited to: | ||
|
|
||
| * Libraries created and managed in Studio | ||
|
|
||
| * Library level roles and permissions managed through the Administrative Console | ||
|
|
||
| * Migration of existing library role assignments into the new roles & permissions system | ||
|
|
||
| The following areas are not affected in Ulmo: | ||
|
|
||
| * Courses, course roles and course level permissions | ||
|
|
||
| * Forums, cohorts and other runtime features | ||
|
|
||
| * Any legacy library implementations that have not yet been :ref:`migrated to Content Libraries <Migrating Legacy Libraries>` | ||
|
|
||
| Migration of Existing Library Access | ||
| ************************************ | ||
|
|
||
| Ulmo includes an automated migration path for existing library access | ||
| configurations. | ||
|
|
||
| During the upgrade to Ulmo, current library role assignments are mapped into the | ||
| new roles & permissions system automatically via the Ulmo upgrade. The intent is | ||
| to preserve who can access each library and what they can do, without requiring | ||
| manual configuration from platform operators. | ||
|
|
||
| After the upgrade, operators and Library owners can review library teams in the | ||
| Administrative Console to confirm that roles and access levels look correct. For | ||
| most deployments that already use Libraries, no additional action should be | ||
| required beyond this validation step. | ||
|
|
||
| Future improvements | ||
| ******************* | ||
|
|
||
| After Ulmo, the Roles and Permissions work is expected to evolve in several | ||
| directions: | ||
|
|
||
| * Extending the same Roles & Permissions model beyond Libraries. Course | ||
| authoring is the next candidate, and future phases will expand the roles and | ||
| permissions pattern to Studio, forums, and other product areas. | ||
|
|
||
| * Introducing more advanced administration features in the Administrative | ||
| Console, allowing for managing multiple scopes at once, listing users' roles | ||
| across scopes, and granting roles to multiple scopes in one action. | ||
|
|
||
| * Exploring support for custom roles, based on feedback from operators who | ||
| manage large instances. | ||
|
|
||
| These improvements will be scoped and tracked in future releases once the | ||
| Libraries integration is validated in production. Be sure to :ref:`Verawood planning`! | ||
|
|
||
| .. seealso:: | ||
|
|
||
| :ref:`Ulmo console` | ||
|
|
||
| :ref:`Add users to Libraries` | ||
|
|
||
| :ref:`authz:Roles Permissions Content Library` | ||
|
|
||
| :ref:`Migrating Legacy Libraries` | ||
|
|
||
|
|
||
| **Maintenance chart** | ||
|
|
||
| +--------------+-------------------------------+----------------+--------------------------------+ | ||
| | Review Date | Working Group Reviewer | Release |Test situation | | ||
| +--------------+-------------------------------+----------------+--------------------------------+ | ||
| | 2025-12-11 | Product WG | Ulmo | Pass | | ||
| +--------------+-------------------------------+----------------+--------------------------------+ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(no blocker)