
Background
ITSM is a complex platform with numerous restrictions and legacy pages, and it was developed many years ago using HAML. While the most frequently used user-facing pages have been modernized in React, other pages deemed lower priority have remained outdated.
One such page is Roles & Permissions, a critical interface where Administrators can create new roles, assign permissions, set restrictions, and assign roles to users or groups. Despite its importance, this page has been neglected for years, as the VP of Product assumed users rarely visited it. As a result, no updates or improvements were prioritized.

Problem
Outdated UI
The interface looks outdated and does not meet modern usability standards, making it less intuitive for users.
Excessive Scrolling
Users must scroll excessively to access key functionalities, leading to inefficiency and frustration.
Poor Performance
The page loads slowly or responds sluggishly, negatively impacting the user experience.
Requirements
Functionality
Roles Index/Table View
Add index/table view for the Roles in the system (existing table components).
Filters Management
Implement role view filters and enable filtering, sorting, and setting column appearance in the view. The default view will be "All Roles".
Index Columns
Include the fields in the view columns to display the following information: Name, Description, User License Type, Type, Action, Subject, Scope.
Role Actions
Add actions to implement all the existing buttons associated with each Role: View users, Clone Role, Restore to default, Add permissions, and Delete action for out-of-the-box roles. Implement the "New Role" button in the index.
Permission Management
Implement the Add restriction, Edit permission, and Delete permission buttons for each permission associated with the Role.
Navigation Enhancements
Maintain drag & drop functionality to manage the permissions order associated with each Role.
Search Enhancements
Add a search box in the roles index.
UI and Consistency Improvements
Consider showing a question mark "?" instead of the "Show Help" link for consistency.
Keep the current functionality
Benefits
Better User Experience
The roles and permissions user interface will be more convenient user friendly and provide a better user experience.
Role Search and Easy Updates
Administrators will be able to search for the Roles and apply updates and changes easily.
Research
Upon reviewing the requirements, I quickly realized that adding an index to the Roles & Permissions page would not be an effective solution for several reasons:
Existing Single-Page Efficiency
Our users can already view all permissions and restrictions on a single page and manage them without navigating to another page, which streamlines their workflow.
Index Limitations
Our existing index components cannot display all the necessary data at once and provide an existing view, making it less user-friendly.
Development Complexity and Prioritization
Creating a new index component is not a current priority and would require significant development time, delaying progress on more critical tasks.

Shaping
Solution
Collapsible Card Component for Roles
Each Role appears as a collapsible card containing all relevant data.
Side Panel for Editing Roles
Clicking "Edit" opens a side panel where users can:
Add permissions or restrictions to the Role.
Add or modify scope as needed.
Permissions and restrictions have drag-and-drop functionality for an intuitive user experience.
Panel for Creating Roles
Creating a new Role also opens a side panel with a form that includes:
Default permissions are pre-populated based on the License Type.
Flexible Views
The default view displays all Roles, with an option to filter and view Roles by License Type.
Filters Integration
A filter feature has been added to ensure users can quickly locate Roles or permissions within any solution.
Solution Demonstration
Customer Needs
He believed an index was what our customers needed.
Page Traffic
He maintained that customers rarely visited this page, making it unworthy of investment.
Design Consistency
He was concerned that the updated page would not align with the design of other pages in the system.
User Experience Impact
Hiding essential information within an inner page would compromise the user experience. Currently, users can see and manage all relevant data on one page, which is more convenient and aligned with their needs. Moving this functionality elsewhere would only add friction.
Quality of Changes
If we decide to make changes, it's crucial to implement them as effectively and thoughtfully as possible. Delivering a solution that doesn't fully address user needs diminishes the update's value.
Consistency vs. Usability
The Roles & Permissions page does not need to look identical to other pages, such as ticket or asset lists. It is enough for the behavior and components to feel familiar to users without making them feel out of place within the system.
Index Version
Index on the Roles & Permissions Page
The index displays only the Role's name, description, license type, assigned users, and available actions.
Actions Within the Role Page
The actions, creating, editing, and managing Roles, are performed inside the dedicated Role page.
Permissions Management
Permissions and restrictions are managed directly from the Role page.
A popup on the page allows users to set scopes for permissions and restrictions.
Drag-and-Drop Functionality
This feature remains unchanged to ensure familiarity and ease of use.
Workflow for Changes
Whenever users want to update any details, they must navigate to the specific Role page, make the necessary changes, and then return to the main index page.