XWiki Workspaces needs the ability to manage user groups. This means that there will be 2 kinds of user group management in XWS : one for access rights purposes / user roles (XWS user, XWS power user, XWS Admin) and one for user management / user groups (creating a marketing group, a sales group, a tech group and so on).
This task aims at defining how the user group management will work for user groups (user roles are already implemented).
I think we can re-use XWiki Enterprise's group management interface as it provides the flexibility required to create as many groups as needed. The interface would be located in Global Administration > Manage Users > Manage User Groups (we'll need to create Global Administration > Manage Users > Manage User Roles as well). An explanation of the difference between roles and groups will be available on the Manage Users page. If possible, user roles (XWiki.PowerUserGroup, XWiki.AdminGroup...) should not be displayed on the user groups page.
Groups have to be available from Space Administration > Space Members. The interface should be modified so that groups are displayed at the top of the list of users, separated from them by a line (see attached image). We could use different colors to visually separate groups from users on the page.
We will also need :
- For each group, one page that lists the members of that group (this page is similar to a "group profile" and can therefore be seen by all users, like a user profile page)
- In the member directory, a way to browse groups
- On profile pages, a list of the groups a user belongs to (optional, can be implemented later on)