Ext: Usergroups Additive Groups

I recently discovered the userGroups extension.

I was surprised that a user can only belong to 1 group?!

I have a few datasets that tie together, so this would be really useful.

For example:

[list=1]

[*]Projects

[*]Purchasing

[*]Customers

[*]Suppliers

[*]Admin

[/list]

I was thinking I could have groups like:

  • Projects_Admin, Projects_Contributor (Projects)

  • Contacts_Admin, Contacts_Contributor (Customers & Suppliers)

  • Purchasing_Admin, Purchasing_Contributor (Purchasing)

  • Root, Admin_Maintenance (Admin)

  • So a basic user might belong to groups:

[list]

  • Projects_Admin + Contacts_Contributor

[*]and a Project_Manager might belong to groups:

  • Projects_Admin + Contacts_Contributor + Purchasing_Admin

[*]and the administrator would belong to groups:

  • Root (which has admin on all controllers)

[/list]

[size="4"]I think I will need to extend the userGroups extension to allow for a user to belong to multiple groups.

Has anyone implemented something like this already?[/size]