Announcements

Welcome to ACC Ideas! View the ACC Product Roadmap here. Top-voted ideas may be considered for future development. Learn more about the feedback process here.

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Make Roles Hierarchical

Make Roles Hierarchical

We keep our roles simple: owner, contractor, subcontractor, and vendor. I had a user request adding Project Engineer, Supt, Foreman, etc. The problem with this is that an individual can only be assigned a single role. Ideally, we would be able to have sub-roles within each of the four I listed above. This way they would not be excluded from notifications to their overall role and more detailed assignments could be made.

3 Comments
Chad-Smith
Advisor

100% agree that Roles should be hierarchical. It would make roles more powerful, while simultaneously simplifying the management process.

 

But I don't understand how you are not able to assign multiple Roles to an individual. I do this all the time.

Chris_Baze
Advocate

@Chad-Smith I should have said that in Account Admin you can only assign one default role.

I like the proposed idea although I would also like to point out an alternative to Hierarchical roles:
In the current set up roles are additive—assigning multiple roles to a user simply grants them the combined permissions of each role. However, this approach lacks the nuance needed to define more specific responsibilities or authority levels.

I propose that we support two types of roles:

1. Single Roles

These represent core disciplines or functions:

  • Lead
  • Developer
  • ....
  • Electrical
  • Mechanical
  • Architectural
  • ...

2. Composed Roles

These are combinations of single roles that define more specific responsibilities. For example:

  • Architectural | Lead
  • Architectural | Developer
  • Electrical | Lead
  • Mechanical | Developer

The key idea is that composed roles should not just inherit permissions from their components—they should be treated as distinct roles with their own semantics and potentially help to create unique permissions or workflows. This would allow us to model responsibilities more precisely and avoid ambiguity in role-based access or task ownership.

Can't find what you're looking for? Ask the community or share your knowledge.

Submit Idea