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.

  1. Allow users to find, change, and create permissions easily and efficiently
  2. 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.