Global Admin Console - Design Sprints

Design Sprint Goals:

The goal of this design sprint is to ideate on what a design for a Global Administrative Console could look like. The need for a central, unified administrative space has long been a gap on the Open edX platform. Over the past few months, the teams at Axim, Aulasneo, edly and edunext have been working on a proposal for an overhaul to the Roles and Permissions system. Part of this project involves the need to design a central administrative space for configuring roles. 

RBAC Documentation: PRD Roles & Permissions

Assumptions:

There is a pre-determined, limited number of out-of-the-box roles, designed to meet 80%+ of library needs. These roles are built on sets of permissions. Roles are assigned to users for a particular resource type (for example, libraries) with a particular scope (for example, to a particular library, Library A or all libraries). 

Scope of problem that needs a design solution:

The process of viewing out-of-the-box roles, the process of seeing what users have those roles assigned, and the process of adding or removing those roles to users. Starting with Library roles first. Out of scope are roles associated with Courses and other parts of Studio and the LMS.

Problem statement:

About half of the user stories below occur locally, at the level of an individual/particular library. The other half occur globally, at the level of an organization or platform-wide. Currently, the platform design trends toward local-level experiences (adding users to individual courses, to individual libraries, etc). The current UX/UI for managing roles and permissions is also clunky, ad hoc, and spread across disparate areas of the platform.  

There has long been a need on the platform for a global administrative console or dashboard. How do we design a global console that will enable users, particularly administrators, to configure roles as described in the scope above at both local and global levels in a way that is seamless, not clunky, and unified? 

For the purposes of this design sprint, we will assume that this hypothetical new administrative console is a net-new platform feature/area, existing independently from Studio and the LMS.

 

User stories: (ordered by increasing complexity)

 

"As an Admin, I want to add a user to a library and assign them a Role so they can collaborate with the appropriate permissions."

 

"As an Admin, I want to adjust a user's role or its scope within a library, so I can update their access level without needing to remove and re-add them. This may include adding or removing roles, or adjusting the scope of a specific role"

 

"As an Admin, I want to remove all of a user's Library Roles to completely revoke their access to any library content."

 

“As a Library Author, I want to see a list of all the users who have access to the same Library that I do, so that I know who is editing content alongside me or so that I know who my Library administrator is.”

 

"As an Admin, I want to see a list of all users with access to the libraries I control, along with their assigned Roles, to have a general overview of permissions across those libraries."

 

"As an Admin, I want to apply a filter by Role in the user list to see who has a specific Role within the system or in a particular library."

 

"As an Admin, I want to apply a filter by Scope [to a specific library] in the user list to see only those who have permissions within that Scope."

 

“As an Admin, I want to add a list of multiple users to a Library and assign them a Role so they can collaborate with the appropriate permissions.”

 

“As an Admin, I want to add one user to multiple Libraries and assign them a Role in those Libraries so they can collaborate with the appropriate permissions, and I don’t want to have to do each add separately.

 

“As an Admin, I want to remove many users from a Library at once.”

 

“As an Admin, I want to remove a user from many libraries at once.”

—--------

Agenda:

10 minutes: Context and background

5 minutes: Brainstorm sketch (3 sketches) 

15 minutes: Upload sketches and show and tell

5 minutes: Brainstorm sketch 2 (3 sketches)

15 minutes:  Upload sketches and show and tell

5 minutes: voting

 

 

Session 1:

Focus on global level designs

Prompt: Brainstorm sketch what a global console for achieving these user stories could look like.

Show and tell: (as a full group or in small groups, depending on group size): Everyone gets 1 minute to describe their design and its key characteristics

Vote: Everyone gets 3 votes to attach to their favorite designs

Synthesize: Are there any common characteristics between the designs with the highest votes? Are there any significant divergences in approaches? Come up with a list of the general characteristics this design solution should include.

 

 

Session 2: (async or as the following Monday UX workshop session)

Focus on connecting global level designs with local needs

 

Prompt: Based on the outcomes of the first session, brainstorm sketch for 10 minutes how the global console could/should connect with UX flows at the local level

Show and tell: (as a full group or in small groups, depending on group size): Everyone gets 1 minute to describe their design and its key characteristics

Vote: Everyone gets 3 votes to attach to their favorite designs

Synthesize: Are there any common characteristics between the designs with the highest votes? Are there any significant divergences in approaches? Come up with a list of the general characteristics this design solution should include.

 

 

 

 

 

 

 

Related content