RoleInheritance - IEEE-Team-3/map GitHub Wiki

Role Inheritance 🔁

In nested teams, roles can inherit permissions from their parent teams unless explicitly overridden. This allows for a scalable role model that adapts to complex team structures.


Inheritance Rules:

  • Default Behavior: Sub-teams inherit roles from their parent teams unless otherwise specified.
  • Custom Overrides: Owners/Admins can override inherited roles and assign new roles within sub-teams.
  • Permission Conflict: If a permission is allowed in a parent but denied in a child, the child’s permission prevails (local takes precedence).

Example:

  • Main Team:
    • John is an Admin.
  • Sub-Team A:
    • John’s role is overridden to Member.

Result: John cannot manage settings in Sub-Team A even though he can in the Main Team.


Benefits:

  • Consistency: Permissions naturally flow through the team hierarchy.
  • Flexibility: Roles can still be adapted per sub-team context.
  • Granular Control: Owners/Admins can fine-tune access down to each sub-unit.

Important Notes:

  • Only Admins and Owners can override inherited roles.
  • Consider documenting overrides for audit/logging purposes in future versions.
⚠️ **GitHub.com Fallback** ⚠️