Draft / WIP Results of discussions between Michel, Mathias and DLe on 26-27/11/19.

Group’s Root Items (Sharing Content with Members)

A group root item is an optional chapter item that can be used for gathering content which is shared with members of a group. It is managed by group managers which can use it to structure content shared with members and also to make sure that everybody has a path to this content.

From the group member’s point of view, this item is displayed as a root item in his navigation menu. It allows him to access group content directly.

Creation/Deletion of the group root item

Any manager with can_manage:memberships_and_group can request the creation/deletion of this item (maximum one per group) through a specific service. The group (so its members) gets view permission (can_view:content) to it. Each of the current managers (with can_manage:memberships_and_group) gets can_edit:children and can_view:content on it.

Refresh of the manager permissions

Each time a manager permission is changed to or from can_manage:memberships_and_group (so if added/removed), the permissions given to the managers needs to be refreshed.

Database implementation

This item is implemented as root_item_id in the groups table. Permissions granted to members and managers are stored in the granted_permissions table.

Yet to be solved

** are permission refreshes automatic or suggested to the user?

** remaining problem: if a user is both user and mananger, how do we know if a “can_edit:children” permission has been given by the managership and has to be removed is the user is not manager anymore, or if the permission has been given to the user directly.