Content
View differences
Updated by Marc Alcobé about 2 years ago
**As** a user
**I want to** turn a project list public (accessible to everybody) or share it with a specific user or group
**so that** I can have others reuse a list to form a shared view on projects
**Acceptance criteria**
* Sharing: Sharing/Public:
* With A user with the necessary permissions the user can:
* Create global permission "Share project lists" can share a private project list and share it with a limited amount of other users and groups.
* Users can access the project lists that are shared with them.
* For public lists, everyone can access them (does not even require to be logged in)
* Create a private list and share it For shared lists, only users with everyone (all members of whom the instance). list are shared can access them.
* The Sharing a list with users/groups or turning them public requires additional permissions required to share a list are:
* Share Create public project lists with everyone (all instance) -> Permission to share lists with everyone. turn a list public.
* Share private project lists -> Permission to share lists with other users.
* **\[open\] Upon seeding a new instance, what roles are to receive the new permissions?**
* **\[open\] For existing installations, are there any roles that should automatically receive the new permissions?**
* A new global role is added to create public project lists.
* Users accessing shared lists:
* Users can access **\[open\] What permission set will the project lists role receive? What name does that are shared with them.
role have?**
* For lists shard with everyone: all instance members can access this lists (with their correspondent permissions There is form that allows to view or edit project lists)
* For private shared lists: only select users or and groups with whom the project list are is shared can access them.
with (similar to sharing work packages).
* The same form also allows to turn a list public if the user has the necessary permission.
* List deletion:
* Lists shared with everyone Public lists can be deleted by everyone having the edit permission.
* Shared private lists can only be deleted by the owner of the list.
* Shared private lists cannot be deleted by users the list is shared with but, if a user wants to remove themself from a list that has been shared with them he can open the share modal and use the action "Remove" next to their name.
* Making changes The option to lists: delete a list is only displayed in the "more" menu if the user has the permissions necessary to remove the list.
* Changing a public list:
* Shared with everyone Public lists can be changed (renamed, column selection, filter selection, sort order selection) just like own lists by for users having the edit permission.
* If the user lacks the edit permission, they have the same options as when changing a shared or static list. They can always save as and create a private copy.
* Changing a private shared A message and button appears similar to own lists can be done (see #52152)
* When saving the new list (owned by the owner and all current user then), the sharing configured from the template list is not copied over.
* Changing a shared users with permissions list:
* A message and button appears similar to edit. own lists (see #52152)
* If When saving the new list (owned by the current user lacks then), the edit permission, they have sharing configured from the same options as when changing a shared or static list. They can always save as and create a private copy.
template list is not copied over.
* User deletion:
* In case the deleted user is the "owner" of lists that has been shared with other users the ownership will be transferred to the first user with sharing permissions in the shared list. If there is no such user left, the list would be removed.
* In case the deleted user is the "owner" of a shared with all public list, the ownership of that list will be transferred to an instance administrator.
* Sidebar:
* A section is added to the sidebar to list listing all the project lists shared project lists. with me (public or shared)
**Info**: The sharing of project lists only apply to the project lists. It does not give the users access to the projects itself. So different users can see different results when clicking on shared project lists based on their individual project roles.
**Technical notes**
* Add an extra table for list visibility (join table between user and query)
* the user to that table (have a column indicating that the initial user is the owner)
* Needs having a type/role column on the table
* Add joined with users/groups to that table (use the type/role column to indicate that it is shared)
**Open questions**
* **\[open\]** Do we need two different permissions between sharing with users or groups and sharing with everyone?
* **\[open\]** Upon seeding a new instance, what roles are to receive the new permissions?
* **\[open\]** For existing installations, are there any roles that should automatically receive the new permissions? _I would argue that project managers and admins should have this permisisons activated by default._
* **\[open\]** What permission set and name will the new global role for sharing project lists will receive?
**Relevant translations**
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><thead class="op-uc-table--head"><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">EN (<a class="op-uc-link" href="https://www.figma.com/file/YCCMdJWkrtP9YSmf49Od0i/Project-lists?type=design&node-id=1830-41294&mode=design&t=JWw5I0eRsONBc6xj-4">Figma link</a>)</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">DE (Figma link)</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">ES (<a class="op-uc-link" href="https://www.figma.com/file/YCCMdJWkrtP9YSmf49Od0i/Project-lists?type=design&node-id=1912-23079&mode=design&t=JWw5I0eRsONBc6xj-4">Figma link</a>)</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">FR (<a class="op-uc-link" href="https://www.figma.com/file/YCCMdJWkrtP9YSmf49Od0i/Project-lists?type=design&node-id=1916-15593&mode=design&t=JWw5I0eRsONBc6xj-4">Figma link</a>)</p></th></tr></thead><tbody><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Share project list</p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Compartir lista de proyectos</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Partager la liste des projets</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Please note that the projects in the list might differ from one user to another depending on which projects the user has access to.</p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Por favor, tenga en cuenta que la lista de proyectos puede variar para otros usuarios dependiendo a qué proyectos tienen acceso.</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Veuillez noter que les projets figurant dans la liste peuvent différer d'une personne à l’autre en fonction des projets auxquels l'utilisateur a accès.</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Project list visibility in this instance:</p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Visibilidad de la lista de proyectos en la instancia:</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Visibilité de la liste des projets dans cette instance:</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Private</p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Privada</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Privé</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Only you and users with whom this project list is shared can see or edit it.</p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Solo usted y los usuarios con quien se ha compartido esta lista de proyectos podrán verla o editarla.</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Seuls vous et les utilisateurs avec lesquels cette liste de projets est partagée pouvez la voir ou la modifier.</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Shared with everyone</p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Compartida con todos</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Partagée avec tout le monde</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">All instance members can view this project list. Those with edit permissions can modify it.</p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Todos los miembros de la instancia pueden ver esta lista de proyectos. Aquellos que tengan derechos de edición podrán modificarla.</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Tous les membres de l'instance peuvent consulter cette liste de projets. Ceux qui ont des droits de modification peuvent la modifier.</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Search by user or group</p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Buscar por usuario o grupo</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Recherche par utilisateur ou par groupe</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Not shared with anyone</p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p">No compartida</p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">This project list has not been shared with anyone yet.</p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Esta lista de proyecto no se ha compartido aún con nadie.</p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr></tbody></table></figure>
**Figma and visuals**
https://www.figma.com/file/YCCMdJWkrtP9YSmf49Od0i/Project-lists?type=design&node-id=1830-41294&mode=design&t=JWw5I0eRsONBc6xj-4
**I want to** turn a project list public (accessible to everybody) or share it with a specific user or group
**so that** I can have others reuse a list to form a shared view on projects
**Acceptance criteria**
* Sharing:
* With
* Create
* Users can access the project lists that are shared with them.
* For public lists, everyone can access them (does not even require to be logged in)
* Create a private list and share it
* The
* Share
* Share private project lists -> Permission to share lists with other users.
* **\[open\] For existing installations, are there any roles that should automatically receive the new permissions?**
*
* Users can access
* For private shared lists: only
*
* Lists shared with everyone
* Shared private lists can only be deleted by the owner of the list.
* Shared private lists cannot be deleted by users the list is shared with but, if a user wants to remove themself from a list that has been shared with them he can open the share modal and use the action "Remove" next to their name.
* Changing a public list:
* Shared with everyone
* If the user lacks the edit permission, they have the same options as when changing a shared or static list. They can always save as and create a private copy.
* Changing a private shared
* When saving the new list (owned
* Changing a
* A message and button appears similar
* If
* In case the deleted user is the "owner" of lists that has been shared with other users the ownership will be transferred to the first user with sharing permissions in the shared list. If there is no such user left, the list would be removed.
* In case the deleted user is the "owner" of a shared with all
* A section is added to the sidebar to list
**Info**: The sharing of project lists only apply to the
**Technical notes**
* Add an extra table for list visibility (join table between user and query)
* the user to that table (have a column indicating that the initial user is the owner)
* Needs having a type/role column on the table
* Add joined with users/groups to that table (use the type/role column to indicate that it is shared)
**Open questions**
* **\[open\]** Do we need two different permissions between sharing with users or groups and sharing with everyone?
* **\[open\]** Upon seeding a new instance, what roles are to receive the new permissions?
* **\[open\]** For existing installations, are there any roles that should automatically receive the new permissions? _I would argue that project managers and admins should have this permisisons activated by default._
* **\[open\]** What permission set and name will the new global role for sharing project lists will receive?
**Relevant translations**
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><thead class="op-uc-table--head"><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">EN (<a class="op-uc-link" href="https://www.figma.com/file/YCCMdJWkrtP9YSmf49Od0i/Project-lists?type=design&node-id=1830-41294&mode=design&t=JWw5I0eRsONBc6xj-4">Figma link</a>)</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">DE (Figma link)</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">ES (<a class="op-uc-link" href="https://www.figma.com/file/YCCMdJWkrtP9YSmf49Od0i/Project-lists?type=design&node-id=1912-23079&mode=design&t=JWw5I0eRsONBc6xj-4">Figma link</a>)</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">FR (<a class="op-uc-link" href="https://www.figma.com/file/YCCMdJWkrtP9YSmf49Od0i/Project-lists?type=design&node-id=1916-15593&mode=design&t=JWw5I0eRsONBc6xj-4">Figma link</a>)</p></th></tr></thead><tbody><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Share project list</p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Compartir lista de proyectos</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Partager la liste des projets</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Please note that the projects in the list might differ from one user to another depending on which projects the user has access to.</p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Por favor, tenga en cuenta que la lista de proyectos puede variar para otros usuarios dependiendo a qué proyectos tienen acceso.</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Veuillez noter que les projets figurant dans la liste peuvent différer d'une personne à l’autre en fonction des projets auxquels l'utilisateur a accès.</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Project list visibility in this instance:</p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Visibilidad de la lista de proyectos en la instancia:</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Visibilité de la liste des projets dans cette instance:</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Private</p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Privada</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Privé</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Only you and users with whom this project list is shared can see or edit it.</p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Solo usted y los usuarios con quien se ha compartido esta lista de proyectos podrán verla o editarla.</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Seuls vous et les utilisateurs avec lesquels cette liste de projets est partagée pouvez la voir ou la modifier.</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Shared with everyone</p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Compartida con todos</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Partagée avec tout le monde</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">All instance members can view this project list. Those with edit permissions can modify it.</p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Todos los miembros de la instancia pueden ver esta lista de proyectos. Aquellos que tengan derechos de edición podrán modificarla.</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Tous les membres de l'instance peuvent consulter cette liste de projets. Ceux qui ont des droits de modification peuvent la modifier.</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Search by user or group</p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Buscar por usuario o grupo</p></td><td class="op-uc-table--cell"><p class="op-uc-p">Recherche par utilisateur ou par groupe</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Not shared with anyone</p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p">No compartida</p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">This project list has not been shared with anyone yet.</p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Esta lista de proyecto no se ha compartido aún con nadie.</p></td><td class="op-uc-table--cell"><p class="op-uc-p"></p></td></tr></tbody></table></figure>
**Figma and visuals**
https://www.figma.com/file/YCCMdJWkrtP9YSmf49Od0i/Project-lists?type=design&node-id=1830-41294&mode=design&t=JWw5I0eRsONBc6xj-4