Closed (duplicate)
Project:
Group
Version:
8.x-1.x-dev
Component:
Group (group)
Priority:
Normal
Category:
Plan
Assigned:
Unassigned
Reporter:
Created:
13 Feb 2017 at 17:20 UTC
Updated:
6 Jun 2017 at 12:15 UTC
Jump to comment: Most recent
Comments
Comment #2
kristiaanvandeneyndeIntroducing multiple outsider roles (one for each global role).
We want one for every global role. So the current "Outsider" role would map to "Authenticated user". We would need to refactor methods such as
GroupTypeInterface::getOutsiderRole()to becomeGroupTypeInterface::getOutsiderRoles().When retrieving someone's roles, when checking for access, etc... we would no longer be able to rely on
GroupTypeInterface::getOutsiderRoleId()for that matter. We would need to implement aGroupRoleInterface::applies($account)that would check whether an outsider role applies.Given the above, we would be able to sync all global roles to an outsider group role. Cache contexts would still work in this scenario, given some adjustments. We can retrieve multiple outsider roles because we can query group roles by group type ID and audience.
The challenge would be UX. I was thinking of keeping the current UI as is and add an extra one for the individual outsider roles. Or to add a fieldset at the top with checkboxes asking you what you want to show:
There are several options here so I don't want to decide on a UI just yet.
Comment #3
kristiaanvandeneyndeOn the subject of synchronized member roles:
We could make sure that whenever a membership is saved, the roles get added to that membership. We would then need several hooks regarding user update, role update, etc. to make sure the memberships are adjusted accordingly.
Same challenge: To make this work and have a user friendly UI at the same time.
Comment #4
kristiaanvandeneynde