MVP - Administrative Console: AuthZ
A central space to gather user input, data and requirements for the Administrative Console MVP.
This document covers the console's immediate needs for the AuthZ MVP and includes references to authorization (AuthZ) constraints and requirements, since both projects are linked in this phase. The console will later expand to other cases. For the long-term vision, see: PRD long-term vision - Administrative Console
1 Overview
1.1 Purpose
This console aims to centralize platform-level settings and administrative tasks—including authorization (AuthZ) and, eventually, other key configurations—into a single, extensible UI. It reduces platform fragmentation and improves administrator efficiency.
1.2 Background & Context
Currently, Open edX administrators must rely on multiple disjointed tools (e.g., Django Admin, CLI, config files) for platform management. This situation results in overly broad permissions for simple tasks and inconsistent workflows. This MVP is the first step toward solving that by delivering a foundational admin console with a panel for AuthZ support for Libraries as the first iteration of the tool.
2 Problem Statement
There is no unified interface for day-to-day platform administration. Basic operations require high clearance or technical skills, and platform extensions lack a consistent configuration entry point. This increases operational risk and limits flexibility for institutions.
3 Goals & Objectives
3.1 Primary Goals
Unify platform‑level administration in a single management console.
Support AuthZ management in MVP by implementing a management panel; design architecture for future use cases (user groups, 3rd‑party integrations, etc.).
Provide an extensible foundation that supports future AuthZ use cases beyond Libraries.
3.2 Success Metrics / KPIs
Qualitative feedback from pilot users (admin efficiency, ease of use).
4 User Personas & Use Cases
4.1 Personas
For the MVP, these are the personas we’re targeting for:
Library administrator: Manage roles and users within library scope.
Platform administrators: Manage user access across the instance.
WIP
4.2 Key Jobs‑to‑Be‑Done (JTBD)
Assign and revoke roles or permissions for users, with visibility into current access levels and the scopes where those permissions apply, all from within the console panel.
View and audit recent privileged actions across the platform to ensure security and compliance.
Filter users by role or scope to simplify user and permission management at scale.
Prepare for future extensibility, such as configuring external services, general settings, waffle flags, or managing user groups from the same interface.
Navigate to the console to specific panels (in this case, AuthZ) from areas like Libraries, with context applied.
Support future extensibility for broader scopes like courses or forums (AuthZ).
WIP
5 Scope
5.1 In Scope (MVP)
Panel for AuthZ management (view, assign, revoke roles for Libraries).
User overview: list of users with current roles and scopes.
Role overview: view available roles and their permission sets.
Filter by role and scope.
Entry point from Library section to the management panel with scoped filtering.
5.2 Out of Scope (MVP)
Configuration of services outside of RBAC.
Role creation or customization.
Cross-service role propagation.
Cross-library views and filtering
6 Requirements
6.1 Functional Requirements
This MVP will introduce foundational capabilities that enable authorization management for Libraries and lay the groundwork for future extensibility in the console itself and for authorization. Features are grouped by area to support design and architectural planning.
User Management
View users and their assigned roles and scopes
Filter and search users by username, email, role, or scope
Access user detail to see full role and permission breakdown
Role Management
View available roles and their permission sets
Filter roles by permission
Role Assignment
Assign roles to one or more users within a defined scope
Modify the scope associated with a user's existing role
Remove a role from a user, with safeguards to prevent complete access loss
General Expectations
Some of these expectations must be considered during the discovery phase, but won’t be addressed as part of the MVP since they don’t solve an immediate need:
The same role must not be assignable more than once to the same user
Users may hold multiple roles with overlapping permissions
Roles are stackable (effective permissions are cumulative)
Existing flows in Studio may be deprecated to avoid duplication
Permission groups should support collapsibility and be truncated after N items or a scalable information architecture that allow navigation through long lists.
Role removal must require confirmation, if it would leave the user without access the interface should notify that.
Interface should anticipate future support for custom roles and advanced scope logic
Permission dependencies must be considered (e.g., can’t assign “edit” without “view”, so “edit” must imply “view”). Not enforced in MVP, but must be accounted for in the UI or logic.
Benchmark Figma: Canvas Roles & Permissions – UX Benchmark
AuthZ MVP Wireframes: RBAC / Console - Wireframes
6.2 Non‑Functional Requirements
Prioritize clarity and readability of the user-role views.
Indicate scope boundaries and action affordances through visual hierarchy.
Support responsive UI across different screen sizes.
Render UI elements conditionally based on current user's permissions.
Validate user permissions on the backend before executing AuthZ actions.
Follow modular design principles to enable smooth progression to future development phases.
7 Extensibility & Integration Needs
The console must provide a stable core for AuthZ workflows, while supporting long-term extensibility. This includes:
Entry points from other sections (e.g., Library detail opens the console panel for libraries authZ management in new tab with filters applied)
The system must be flexible enough to support the console's evolution according to the phased rollout strategy in Extensibility and Pluggability Framework
Beyond the MVP, the Console is expected to evolve into a fully extensible platform. This is covered here:PRD long-term vision - Administrative Console
8 Architecture & Technical Constraints
The console will be implemented as a module within the existing Authoring MFE, that communicates with the AuthZ service.
Entry point opens a new tab filtered to the relevant scope.
The MVP should deliver clear user value within a scoped, low-friction implementation, while setting the stage for potential expansion and decoupling in future phases.
Refer to:
Foundations and Technical Evolution | 1. New Authoring view + Administrative Django plugins
Technical Approach: Console MVP (AuthZ-Scoped, Ulmo Release)
for a more detailed description.
9 UX/UI Considerations
Focus on clarity, overview-first flows, and ease of navigation.
Prioritize readability of roles and scopes.
Allow collapsed views of long permission lists.
UI slots for future extensions.
Design starting after architecture spike.
Current wireframes and design WIP: RBAC / Console - Wireframes
10 Milestones & Timeline
Milestone | Description | Target Date |
M1 | Architecture Design Spike |
|
M2 | UX/UI Design Spike |
|
M3 | Hi‑Fi MVP Screens & Handoff |
|
11 Risks & Assumptions
Unclear location (Studio vs new UI) could delay frontend work.
Community plugin expectations exceed MVP scope.
Possible user confusion if two RBAC interfaces coexist (Library view vs Console).
12 Open Questions
Should RBAC editing be restricted to Console only?
How will we prepare UI for custom roles and complex scopes?
Should permission groups be tagged by theme to simplify filtering?
How should we handle permission dependencies in the future?
Should removing all roles from a user always require confirmation?
13 Dependencies
Backend RBAC system (Grants, Roles, Scopes, Permissions).
View Technical Approach: Console MVP (AuthZ-Scoped, Ulmo Release) for an implementation approach of this proposal.