Content
Updated by Jens Ulferts over 1 year ago
# User story
**As a** project portfolio manager
**I want to** easily create lists of my projects with filters
**So that** I can structure the large number of projects in portfolios which are easier to manage.
# Acceptance criteria and implementation steps
## Step 1: Project lists
* Create project lists
* Open project lists from the sidebar
* New global roles to create project lists
* View
* Manage (create, edit, update, delete)
* Rename project lists
* Delete project lists
* There are two new global permissions
* Create public project lists
* tbd: Create private project lists
* Quick table settings from the column header
* Remove column
* Change sort order (ascending, descending)
* Add column
* Change order of columns
## Step 2: Additional project filter
* Extend the project filter to select individual projects.
* _Example 1: Manual selection of Project A, C and F._
* _Example 2: Filter of all projects in status red but remove Project B from the list even though Project B meets the filter criteria._
## Step 3: Always visible text filter
* There is a filter text field that is always visible.
* The search button opens the current filter box.
* Primer filter search field "Filter by text" above the project list
* _Example: Enter text "Köln" into the field. This searches for all projects in that list that have this search string in their "Project name"._
## Step 4: Favourite project lists
* Project lists can be "favoured"
* This is a personal setting. It is not visible to other users.
* Indicate favoured project lists in the sidebar with a star icon.
## Step 5: Shared project lists
* A user with the global permission "Share project lists" can share a project list with other users and groups.
* There is form that allows to select users and groups the project list is shared with (similar to sharing work packages).
* Users can access the project lists that are shared with them in the sidebar.
* **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.
## Figma and Visuals
[https://www.figma.com/file/YCCMdJWkrtP9YSmf49Od0i/Project-lists?type=design&node-id=470-13037&mode=design](https://www.figma.com/file/YCCMdJWkrtP9YSmf49Od0i/Project-lists?type=design&node-id=470-13037&mode=design)
<figure class="image op-uc-figure"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/82226/content"></div><figcaption class="op-uc-figure--description">Saved project list with access from sidebar</figcaption></figure>
<figure class="image op-uc-figure"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/82227/content"></div><figcaption class="op-uc-figure--description">Actions in columns menu</figcaption></figure>
<figure class="image op-uc-figure"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/82229/content"></div><figcaption class="op-uc-figure--description">Actions in project list more menu</figcaption></figure>
## Open questions:
* What to do about the SETTINGS FOR PROJECT OVERVIEW LIST: admin/settings/projects
* Answer based on talk with Marc: The place the functionality can be found will move in the scope of #49668 but the rest is left unchanged. This will also mean that this will still serve to select the default values. It would also mean that new project attributes would have to be added there in order for them to be active by default.
* Is the View permission and Create private lists permission actually needed?
Allowing everyone (logged in users) to create private lists would allow everyone to self organize. And the viewing should be governed by whether the list is made available to the user (on a specific user, specific group or everyone level)
* Would an additional permission be necessary to share the list with another user/group or would it only be necessary for sharing it with everybody?
* When will changes to the table (filters and columns) be applied. Explicitly by button or after changing the selection just like it is currently done for work packages?
* Do we want some confirm action on when selecting to delete the list?
* How is the sharing handled (for all, for specific user/group)?
Using the visibility settings menu item, a modal could be triggered similar to the work package share modal in which the user can select to allow the list to become visible to the selection made therein. By default, a list would only be available to the user having created the list. This would require some permission checks to limit the selection possible to the user.
* Who will be allowed to delete a list? Only the creating user or also users with whom the list is shared and who have the mange permission?
* When deleting a user who created a list shared with other people/everyone, will that list be removed or would somebody else inherit the list?
* The wireframes show default project lists per project status (On track, Off track, At risk). There are more statuses: Not started, Finished and when the status is not set. Should there be more items in the submenu? Would the items always show up or only if there is something to see for each item (expensive to check)?
* The wireframes have the '+ Project' button removed from the sidebar. Is that intended? It would be an outlier for now.
* The wireframes do not show the currently existing buttons for "Open gantt view" and "Overall activity". They could be moved to the more-menu.
* We have menu items that require the user to have a permission to actually use. Some options would also only be displayed if it is a persisted list and not a default one (e.g. "Rename" and "Delete"). Disable or hide the options not usable?
* Does and if so how does the system signal that an existing list has been altered (e.g. filter added/removed or columns changed)? We have the "Save"-Icon for this on the Workpackage page.
* The wireframe shows an "Add columns"-button between the filter section and the "+ Project" -button. Besides the columns, there is also the sort order that the user want to change in a single place. In the more menu, there is the "Configure view" item. Is there a single place for the user to alter all the aspects (filter, columns, sort order) or will there be separate places? How are those places triggered from:
* The more menu
* Buttons
* The column context menu
* How will the aforementioned configuration for "Add columns" and potentially order look like?
* There is already a filter for excluding a project or a number of projects by "Name or identifier". It does not allow selecting specific ids and doesn't have an autocompleter. Will another filter be added? What name will it have? Will it have an autocompleter?
* Who is going to receive the added permissions on:
* Existing instances
* New instances
* The wireframe have a "Group by" item in the column dropdown. This is not specified and currently expected to be out of scope.
* The wireframe shows an icon between the "Star"-button and the "more" button. What does it do?
* The wireframe show a button group for the "Filters"-button and the quickfilter input (same as GitHub). Primer does not seem to support that.
* When using "Save as" will the visibility/sharing settings be copied along?
* How will the renaming ?modal? look like?
* How will the save ?modal? look like?
* How will the save as ?modal? look like?
* There is no mentioning of long text fields being displayed in the table within the description of this epic, yet the wireframe suggest they should be displayed abbreviated.
**As a** project portfolio manager
**I want to** easily create lists of my projects with filters
**So that** I can structure the large number of projects in portfolios which are easier to manage.
# Acceptance criteria and implementation steps
## Step 1: Project lists
* Create project lists
* Open project lists from the sidebar
* New global roles to create project lists
* View
* Manage (create, edit, update, delete)
* Rename project lists
* Delete project lists
* There are two new global permissions
* Create public project lists
* tbd: Create private project lists
* Quick table settings from the column header
* Remove column
* Change sort order (ascending, descending)
* Add column
* Change order of columns
## Step 2: Additional project filter
* Extend the project filter to select individual projects.
* _Example 1: Manual selection of Project A, C and F._
* _Example 2: Filter of all projects in status red but remove Project B from the list even though Project B meets the filter criteria._
## Step 3: Always visible text filter
* There is a filter text field that is always visible.
* The search button opens the current filter box.
* Primer filter search field "Filter by text" above the project list
* _Example: Enter text "Köln" into the field. This searches for all projects in that list that have this search string in their "Project name"._
## Step 4: Favourite project lists
* Project lists can be "favoured"
* This is a personal setting. It is not visible to other users.
* Indicate favoured project lists in the sidebar with a star icon.
## Step 5: Shared project lists
* A user with the global permission "Share project lists" can share a project list with other users and groups.
* There is form that allows to select users and groups the project list is shared with (similar to sharing work packages).
* Users can access the project lists that are shared with them in the sidebar.
* **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.
## Figma and Visuals
[https://www.figma.com/file/YCCMdJWkrtP9YSmf49Od0i/Project-lists?type=design&node-id=470-13037&mode=design](https://www.figma.com/file/YCCMdJWkrtP9YSmf49Od0i/Project-lists?type=design&node-id=470-13037&mode=design)
<figure class="image op-uc-figure"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/82226/content"></div><figcaption class="op-uc-figure--description">Saved project list with access from sidebar</figcaption></figure>
## Open questions:
* What to do about the SETTINGS FOR PROJECT OVERVIEW LIST: admin/settings/projects
* Answer based on talk with Marc: The place the functionality can be found will move in the scope of #49668 but the rest is left unchanged. This will also mean that this will still serve to select the default values. It would also mean that new project attributes would have to be added there in order for them to be active by default.
* Is the View permission and Create private lists permission actually needed?
Allowing everyone (logged in users) to create private lists would allow everyone to self organize. And the viewing should be governed by whether the list is made available to the user (on a specific user, specific group or everyone level)
* Would an additional permission be necessary to share the list with another user/group or would it only be necessary for sharing it with everybody?
* When will changes to the table (filters and columns) be applied. Explicitly by button or after changing the selection just like it is currently done for work packages?
* Do we want some confirm action on when selecting to delete the list?
* How is the sharing handled (for all, for specific user/group)?
Using the visibility settings menu item, a modal could be triggered similar to the work package share modal in which the user can select to allow the list to become visible to the selection made therein. By default, a list would only be available to the user having created the list. This would require some permission checks to limit the selection possible to the user.
* Who will be allowed to delete a list? Only the creating user or also users with whom the list is shared and who have the mange permission?
* When deleting a user who created a list shared with other people/everyone, will that list be removed or would somebody else inherit the list?
* The wireframes show default project lists per project status (On track, Off track, At risk). There are more statuses: Not started, Finished and when the status is not set. Should there be more items in the submenu? Would the items always show up or only if there is something to see for each item (expensive to check)?
* The wireframes have the '+ Project' button removed from the sidebar. Is that intended? It would be an outlier for now.
* The wireframes do not show the currently existing buttons for "Open gantt view" and "Overall activity". They could be moved to the more-menu.
* We have menu items that require the user to have a permission to actually use. Some options would also only be displayed if it is a persisted list and not a default one (e.g. "Rename" and "Delete"). Disable or hide the options not usable?
* Does and if so how does the system signal that an existing list has been altered (e.g. filter added/removed or columns changed)? We have the "Save"-Icon for this on the Workpackage page.
* The wireframe shows an "Add columns"-button between the filter section and the "+ Project" -button. Besides the columns, there is also the sort order that the user want to change in a single place. In the more menu, there is the "Configure view" item. Is there a single place for the user to alter all the aspects (filter, columns, sort order) or will there be separate places? How are those places triggered from:
* The more menu
* Buttons
* The column context menu
* How will the aforementioned configuration for "Add columns" and potentially order look like?
* There is already a filter for excluding a project or a number of projects by "Name or identifier". It does not allow selecting specific ids and doesn't have an autocompleter. Will another filter be added? What name will it have? Will it have an autocompleter?
* Who is going to receive the added permissions on:
* Existing instances
* New instances
* The wireframe have a "Group by" item in the column dropdown. This is not specified and currently expected to be out of scope.
* The wireframe shows an icon between the "Star"-button and the "more" button. What does it do?
* The wireframe show a button group for the "Filters"-button and the quickfilter input (same as GitHub). Primer does not seem to support that.
* When using "Save as" will the visibility/sharing settings be copied along?
* How will the renaming ?modal? look like?
* How will the save ?modal? look like?
* How will the save as ?modal? look like?
* There is no mentioning of long text fields being displayed in the table within the description of this epic, yet the wireframe suggest they should be displayed abbreviated.