# Feature SPPM-223 - Create a new global module: "Portfolios"

Project: Stream Project Portfolio Management
Status: closed
URL: https://community.openproject.org/work_packages/SPPM-223

## Planning

| Attribute | Value |
| --- | --- |
| Date |  |
| Priority | Medium |
| Target versions | 17.0.0 |
| Votes |  |
| List |  |
| Roadmap |  |
| Relevance |  |

## OPEN POINTS / FEEDBACK

_No work packages_

## Features and Chunks

| ID | Subject | Type | Status | Assignee | Target versions | Spent time |
| --- | --- | --- | --- | --- | --- | --- |
| SPPM-232 | Create basic portfolio view | Implementation | closed |  | 17.0.0 |  |
| SPPM-233 | Create menu items that link to the portfolio view | Implementation | closed |  | 17.0.0 |  |
| SPPM-234 | Query for 'my portfolios' | Implementation | closed |  | 17.0.0 |  |
| SPPM-235 | Query for 'favorite portfolios' | Implementation | closed |  | 17.0.0 |  |
| SPPM-236 | Query for 'archived portfolios' | Implementation | closed |  | 17.0.0 |  |
| SPPM-239 | Replace general project permissions with portfolio permissions | Implementation | closed |  | 17.0.0 |  |
| SPPM-240 | Render the portfolio status badge in the portfolio view | Implementation | closed |  | 17.0.0 |  |
| SPPM-241 | Render a progress bar with subitem statuses in the portfolio view | Implementation | closed |  | 17.0.0 |  |
| SPPM-243 | Add the "Export" option to the "More" menu | Implementation | rejected |  |  |  |
| SPPM-244 | Require Premium EE token to use the Portfolios module | Implementation | closed |  | 17.0.0 |  |
| SPPM-250 | Display archived portfolios as disabled | Implementation | closed |  | 17.0.0 |  |
| SPPM-251 | Find a solution for rendering portfolio descriptions | Implementation | closed |  | 17.0.0 |  |

## Bugs and other work packages

| ID | Type | Subject | Status | Assignee | Target versions | Spent time | Module |
| --- | --- | --- | --- | --- | --- | --- | --- |
| SPPM-271 | Bug | Status in portfolio index gets squashed by too long title | closed |  | 17.0.0 |  |  |
| SPPM-268 | Bug | Portfolio view should not display sub-portfolios | closed |  | 17.0.0 |  |  |
| SPPM-261 | Bug | The status bar should be visible, even witouth any sub-item status | closed |  | 17.0.0 |  |  |
| SPPM-257 | Bug | Sub-item status hover card misses animation | closed |  | 17.0.0 |  |  |
| SPPM-254 | Bug | Fix the portfolios index view on mobile | closed |  | 17.0.0 |  |  |

## Technical Details

| Attribute | Value |
| --- | --- |
| Module |  |
| Feature Flag |  |
| Requires doc change | No |
| Enterprise plan | Enterprise / Premium (PRE) |

## Details

| Attribute | Value |
| --- | --- |
| Pull preview |  |
| Mockups | https://www.figma.com/design/bDgY4i9P5Bp2wAjNV0yeU0/Portfolios-module?node-id=0-1 |
| Accessibility | No |

## People

| Attribute | Value |
| --- | --- |
| Assignee |  |
| Accountable |  |
| Product manager |  |
| Developers | Tobias Dillmann |
| Designer |  |
| Ordered by |  |
| Signed off by |  |
| Interest by |  |

## Estimates and progress

| Attribute | Value |
| --- | --- |
| PD (min) |  |
| PD (max) |  |
| Work |  |
| Labor costs |  |

## Description

**As** a portfolio manager  
**I want to** access portfolios easily in OpenProject  
**so that** I can have a quick overview on what portfolio I need to work next

**Acceptance criteria**

  - A new global module is created named `Portfolios`
    
      - It has entry points in both global sidebar and grid icon for global menu

  - Inside the portfolios' module, there are four views/queries that are not editable:
    
      - All portfolios
    
      - My portfolios
    
      - Favourite portfolios
    
      - Archived portfolios

  - The user cannot save personalised queries or views

  - The view can  
    
      - be filtered by the filter section on top
    
      - be searched by the input field next to the filters on top
    
      - ~~be sorted by the sort by tab in the configure view modal~~ (while the requirement is still valid it is excluded here and moved into <mention class="mention" data-id="68900" data-type="work_package" data-text="###68900">###68900</mention>)
    
      - not have columns selected (because there are not columns)

  - Users can create new portfolios by clicking on the green button on top of the content area
    
      - Creating a new portfolio opens the form for portfolio creation based on the project creation one.

  - In each view, in the content, an index page to access portfolios will be created with a new border box component based in Primer. Each border box element will contain the following information:
    
      - Portfolio name
    
      - Portfolio status
        
          - The status is editable
    
      - Portfolio description
    
      - Progress bar with sub-items status
        
          - The sum of the subitems (programs & projects), grouped by status is displayed in the "progress bar"
        
          - The progress bar with the status should have a hover card with the index details
        
          - The progress bar will be shown - but empty - when there are no sub-items or if none of the sub-items have a status set
    
      - Favourite indication (Transparent IconButton star)
        
          - Ideally, the user can toggle the favourite status here
    
      - Amount of programs and projects in the portfolio
        
          - This counts all programs and projects that are part of the hierarchy where the portfolio is the root. E.g. in "Portfolio A" -\> "Program B" -\> "Project C" -\> "Project D" -\> "Project E", the count would be: 1 program and 3 projects.
    
      - ~~Budget information including total budget and budget spent~~ (while the requirement is still valid it is excluded here and moved into <mention class="mention" data-id="68872" data-type="work_package" data-text="###68872">\#\#\#68872</mention> )
    
      - Last updated

  - Only available if the instance has an EE token of the Premium level

**Technical notes**

  - 
    <br>

**Permissions and visibility considerations**

  - For a user to see the Portfolio module they either have
    
      - `add portfolios` (<mention class="mention" data-id="66612" data-type="work_package" data-text="##66612">##66612</mention>)
    
      - Any permission in an active portfolio.

  - For a user to see a portfolio listed in the Portfolio module (or in the Project module, or in the Project/Workspace dropdown, or anywhere else in the application) they need to have a least one permission in that portfolio and the portfolio needs to be active. The behaviour is the same as for projects.
    
      - That might mean, that a member of a program or project cannot see a portfolio of which the project is part because of lacking permissions. This is also the same behaviour currently in place for projects.

**Translation considerations**

<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</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">DE</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">ES</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">FR</p></th></tr></thead><tbody><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Portfolios</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br data-cke-filler="true"></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Carteras/Portafolios</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br data-cke-filler="true"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Programs</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br data-cke-filler="true"></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Programas</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br data-cke-filler="true"></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Workspaces</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br data-cke-filler="true"></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Espacios de trabajo</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br data-cke-filler="true"></p></td></tr></tbody></table></figure>

**Out of scope**

  - 
    <br>

*Set the* **To be informed/consulted teams** *field to include all teams necessary to be informed of the changes.*
