Hi all,
As part of my app development I have been working on a base template that I always start with. I was finding myself having to make the same changes to a new app everytime. But what is really exciting about this template is the powerful Role Hierarchy system that I have built into it.
I noticed a few people requesting this sort of functionality beyond the simple “Role” that Glide gives you. Here are some more details and screenshots:
Roles are organized into a hierarchical system that is numerically coded to define levels of responsibility and reporting structure. Here’s an introductory overview of how your roles work:
Role Hierarchy
Each role within your organization is assigned a numeric value under the “Hierarchy” column. This number denotes the role’s level within the organizational structure, with a lower number indicating a higher rank. This is how the default roles are configured within the starter app:
- Manager: With a hierarchy number of 10, this is the highest level displayed. This role oversees the functions of the roles below it.
- Supervisor: Assigned a hierarchy number of 20, this role reports directly to the Manager and is responsible for the oversight of the Employee level.
- Employee: This role, with a hierarchy number of 30, is at the foundational level of the operational structure and reports to the Supervisor.
Inheritance of Responsibility
Roles inherit responsibilities and potentially permissions from roles lower in the hierarchy. This is documented in the “Inherits” column:
- The Manager inherits responsibilities from the Supervisor and Employee roles, indicating that the Manager has oversight or is indirectly responsible for the tasks and functions of these roles.
- The Supervisor inherits responsibilities from the Employee, which suggests that the Supervisor is tasked with the direct management of employees and their work.
Practical Application
- Operational Clarity: The structure provides clear lines of reporting and accountability. Employees know whom they report to, and managers know who reports to them.
- Access Control: The numerical hierarchy can be used to set up role-based access controls in your systems, where higher levels (lower numbers) have more access or permissions.
- Scalability: This system allows for adding new roles or levels with ease by assigning them a hierarchy number that fits into the existing structure.
- Simplicity in Management: The straightforward numerical system makes it easy to visualize the organizational chart and manage roles without complex relational data management.
I plan on releasing this on the marketplace very soon. Along with full documentation on how you can use it for your next app.
Thanks
Adam