Permissions Manager Portlet
A working page for design and development of a new Permissions Manager portlet.
UP-2557: Permissions Administration Portlet
This Jira tracks the design and development tasks:
http://www.ja-sig.org/issues/browse/UP-2557
Design and development is modeled after the Fluid Design and Development Process
Background
- uPortal has an existing Permissions Manager channel.
Scope
Pain Points
While not exhaustive, this Permissions Manager usability heuristic evaluation identifies some of the pain points.
Problem Statement
The current Permissions Manager channel functionality has significant usability problems that make managing permissions difficult and cumbersome. The user experience is a setback for the entire portal.
The existing channel, furthermore, is developed with the legacy IChannel-based API using XSLT. Support for IChannels is deprecated and will be dropped for uP 3.3 in favor of JSR-286 (Portlet v2) Support. In addition to the Portlet API, contemporary Jasig portlets use the following technology stack: Spring DI, Spring Webflow, JSP/JSTL/EL, and jQuery.
Goals
Design a new user experience for managing permissions and build it as a modern portlet.
- Allow users to find, change, and create permissions easily and efficiently
- Provide useful interaction of permissions workflow with groups and portlet management workflow.
Users
Portal Administrators
Primary
A person responsible for the overall administration of the portal including roles, groups, and permissions. Not necessarily a technical person, but someone who understands the institution needs and is familiar with institutional divisions, audiences, and processes.
User Needs
Scenarios
Functional Needs
- Browse permissions by category
- Browse permissions by label
- Search for a specific permission
- View permissions on a group or user
- Distinguish between set permissions and inherited permissions
- View permissions on a portlet
- View permission relationships ("required by" and "depends on")
- Set/change permissions for a group or user
- Set/change permissions for a portlet
- Create/edit a permission
- Assign permission name
- Assign permission category (currently called "owner"; the main bucket the permission belongs to)
- Assign permission labels/taxonomy (system- and user-defined meta tags)
- Assign permission target (the entity the permission affects)
- Assign permission to groups and users (inherit or grant/deny)
- Enable/disable permission
- Delete permission
Design
Benchmarking
Storycards
Wireframes & Mockups
Evaluation
User Testing Protocol
A planned future activity. For now, reference the Fluid Design Handbook: User Testing.
User Testing Results
A planned future activity.
Implementation
Lightweight Functional Specification
A planned future activity. For now, reference User Interface.