# _embedded.results._embedded.elements[].subject
Backlogs should include tasks from subprojects

# _embedded.results._embedded.elements[].description.raw
It would be great if task from subprojects included in a version of a project appear in the backlogs module.

We have a project with a common SPRINT version for our Dev Team, who is working in different projects (which are subjproject of this one) and we want to use the taskboard as a common for that sprint.

Do you see it useful (or another way to accomplish that)?

# _embedded.results._embedded.elements[].description.html
It would be great if task from subprojects included in a version of a project appear in the backlogs module.

We have a project with a common SPRINT version for our Dev Team, who is working in different projects (which are subjproject of this one) and we want to use the taskboard as a common for that sprint.

Do you see it useful (or another way to accomplish that)?

# _embedded.results._embedded.elements[]._links.self.title
Backlogs should include tasks from subprojects

# _embedded.results._embedded.elements[].subject
Tasks from different projects in one shared version to be shown | cross-project backlogs

# _embedded.results._embedded.elements[].description.raw
# Description

**as** an OpenProject user  
**I want** to have an overview on all tasks included in a (global) sprint/version, independent in which project they are residing  
**so that** the team managing multiple smaller projects, has a global view on the status of the version.

# Current behavior

*   A version/sprint can be created in a project, and shared with all projects. _\[as expected\]_
*   Tasks/Stories from other projects can be assigned to this version. _\[as expected\]_

**In Backlogs**

*   The versions are shown, including originating from other projects _\[as expected\]_
*   In the taskboard: only tasks from current project are shown _\[request to be changed\]_
*   In the burndown chart: only tasks from current project are shown _\[request to be changed\]_

**In Roadmap**

*   The version is shown. _\[as expected\]_
*   If the version is originating from another project; the project\_name is integrated in the version name. _\[as expected\]_
*   The total number of open / closed tasks are shown (across all projects) _\[as expected\]_
*   The “related workpackages” only lists the tasks from the current selected project, instead of all included in the sprint _\[request to be changed\]_
*   When following link “x open”; the overview in Workpackages is opened in the project where the version is originating from. Only tasks of that project are in the overview _\[request to be changed\]_

<img class="op-uc-image op-uc-image_inline" data-original-src="openproject.png" src="/api/v3/attachments/13818/content" alt="">

# Acceptance criteria

**In Backlogs**

*   In the taskboard: all tasks in the version are shown _\[Priority 1\]_

# Nice to have

**In Backlogs**

*   In the burndown chart: all tasks in the version are shown _\[Priority 2\]_

**In Roadmap**

*   The “related workpackages” list of all tasks, with a reference to the originating project (name before / after workpackage number and name) _\[Priority 3\]_
*   When following link “x open”; an overview of all tasks in the version is shown. _\[Priority 4\]_

# References (similar requests)

*   A similar request. Differing from the request though; I do not see a full list of workpackages in the roadmap (as per screenshot above): https://community.openproject.com/projects/openproject/work\_packages/17189/activity.
*   A discussion on the forum describing the request: https://community.openproject.com/topics/3236  
    Althought there seemed to be some support for the idea, the linked Pull Request is still on hold? https://github.com/finnlabs/openproject-backlogs/pull/233 This pull request is only focussing on subprojects though…
*   A similar request, focussed on sharing across subprojects, which is still a limitation which I do not see the need for. https://community.openproject.com/projects/plugin-backlogs/work\_packages/22319/activity
*   A similar request. also focussed on subprojects only: https://community.openproject.com/projects/plugin-backlogs/work\_packages/24971/activity
*   A request to remove limiting project\\\_id in the selection criteria of the overview; which might enable the requested functionality?: https://community.openproject.com/projects/plugin-backlogs/workpackages/24038/activity  
    I tried the suggested hack, without success though, which might be related to the fact that the tasks are from different projects (not only subproject-relationship).

# Next steps

*   I highly value your efforts and the Openproject software and hope by bringing this together, the software can be enhanced even further. I do think this is a key feature.
*   I am not a programmer, so not able to dig in this myself. I will post a Bounty to create a Pull Request for this additional feature.

# _embedded.results._embedded.elements[].description.html
Description

as an OpenProject user
I want to have an overview on all tasks included in a (global) sprint/version, independent in which project they are residing
so that the team managing multiple smaller projects, has a global view on the status of the version.

Current behavior

A version/sprint can be created in a project, and shared with all projects. [as expected]

Tasks/Stories from other projects can be assigned to this version. [as expected]

In Backlogs

The versions are shown, including originating from other projects [as expected]

In the taskboard: only tasks from current project are shown [request to be changed]

In the burndown chart: only tasks from current project are shown [request to be changed]

In Roadmap

The version is shown. [as expected]

If the version is originating from another project; the project_name is integrated in the version name. [as expected]

The total number of open / closed tasks are shown (across all projects) [as expected]

The “related workpackages” only lists the tasks from the current selected project, instead of all included in the sprint [request to be changed]

When following link “x open”; the overview in Workpackages is opened in the project where the version is originating from. Only tasks of that project are in the overview [request to be changed]

Acceptance criteria

In Backlogs

In the taskboard: all tasks in the version are shown [Priority 1]

Nice to have

In Backlogs

In the burndown chart: all tasks in the version are shown [Priority 2]

In Roadmap

The “related workpackages” list of all tasks, with a reference to the originating project (name before / after workpackage number and name) [Priority 3]

When following link “x open”; an overview of all tasks in the version is shown. [Priority 4]

References (similar requests)

A similar request. Differing from the request though; I do not see a full list of workpackages in the roadmap (as per screenshot above): https://community.openproject.com/projects/openproject/work_packages/17189/activity.

A discussion on the forum describing the request: https://community.openproject.com/topics/3236
Althought there seemed to be some support for the idea, the linked Pull Request is still on hold? https://github.com/finnlabs/openproject-backlogs/pull/233 This pull request is only focussing on subprojects though…

A similar request, focussed on sharing across subprojects, which is still a limitation which I do not see the need for. https://community.openproject.com/projects/plugin-backlogs/work_packages/22319/activity

A similar request. also focussed on subprojects only: https://community.openproject.com/projects/plugin-backlogs/work_packages/24971/activity

A request to remove limiting project\_id in the selection criteria of the overview; which might enable the requested functionality?: https://community.openproject.com/projects/plugin-backlogs/workpackages/24038/activity
I tried the suggested hack, without success though, which might be related to the fact that the tasks are from different projects (not only subproject-relationship).

Next steps

I highly value your efforts and the Openproject software and hope by bringing this together, the software can be enhanced even further. I do think this is a key feature.

I am not a programmer, so not able to dig in this myself. I will post a Bounty to create a Pull Request for this additional feature.

# _embedded.results._embedded.elements[]._links.self.title
Tasks from different projects in one shared version to be shown | cross-project backlogs

# _embedded.results._embedded.elements[].description.raw
Currently there is only manual sorting the board view. There should be a way to switch to automatic sorting similar to the list.

**As** an OpenProject user

**I want to** be able to sort cards in a list in the boards module automatically

**so that** the most important cards are on top of the list (e.g. highest priority, highest value for custom field X (e.g. votes), most logged time, ...).  
  
  

### Acceptance criteria

By using the menu (three dots) on top of the list I can access a dropdown field to choose whch attribute I want to sort by. Additionally, there's an option to choose/change if the sorting should be ascending or descending.

<figure class="image"><img src="/api/v3/attachments/19475/content"></figure>

Example/inspiration from Trello: https://trellocards.com/TCO/wp-content/uploads/2019/10/list-sorting.jpg

# _embedded.results._embedded.elements[].description.html
Currently there is only manual sorting the board view. There should be a way to switch to automatic sorting similar to the list.

As an OpenProject user

I want to be able to sort cards in a list in the boards module automatically

so that the most important cards are on top of the list (e.g. highest priority, highest value for custom field X (e.g. votes), most logged time, ...).

Acceptance criteria

By using the menu (three dots) on top of the list I can access a dropdown field to choose whch attribute I want to sort by. Additionally, there's an option to choose/change if the sorting should be ascending or descending.

Example/inspiration from Trello: https://trellocards.com/TCO/wp-content/uploads/2019/10/list-sorting.jpg

# _embedded.results._embedded.elements[].description.raw
**As** an OpenProject user  
**I want** to have a "Save as" option for boards  
**so** that I can quickly create new boards with the same columns, filters etc.

**Acceptance criteria**

*   Add a "Save as" option (similar to work package list) to the boards view
*   Can be useful to e.g. create a new action board (e.g. version) without having to manually add all the same columns, filters etc.

# _embedded.results._embedded.elements[].description.html
As an OpenProject user
I want to have a "Save as" option for boards
so that I can quickly create new boards with the same columns, filters etc.

Acceptance criteria

Add a "Save as" option (similar to work package list) to the boards view

Can be useful to e.g. create a new action board (e.g. version) without having to manually add all the same columns, filters etc.

# _embedded.results._embedded.elements[].subject
Enable global boards (project independent)

# _embedded.results._embedded.elements[].description.raw
**As** an OpenProject user  
**I want** to be able to create project overarching global boards  
**So that** I can create a board overview accross all my projects.

**Acceptance criteria**

*   Add a module Boards to the Global menu
*   Enable to add work packages from all projects (possible to filter by projects) for Basic and Action boards.

# _embedded.results._embedded.elements[].description.html
As an OpenProject user
I want to be able to create project overarching global boards
So that I can create a board overview accross all my projects.

Acceptance criteria

Add a module Boards to the Global menu

Enable to add work packages from all projects (possible to filter by projects) for Basic and Action boards.

# _embedded.results._embedded.elements[]._links.self.title
Enable global boards (project independent)

# _embedded.results._embedded.elements[].description.raw
We would like to have customizable Agile Boards on My Page (cross-project).

**User story**

As a user who works with boards (agile and non-agile)  
I want to add the boards I work with to the _My Page_  
So that I can easily find and use them from this page

**Acceptance criteria**

*   Users can select a widget "Boards" which displays either a list of all boards that user has access to (similar to global boards view via waffle menu) or displays the content of a certain selected board.

# _embedded.results._embedded.elements[].description.html
We would like to have customizable Agile Boards on My Page (cross-project).

User story

As a user who works with boards (agile and non-agile)
I want to add the boards I work with to the My Page
So that I can easily find and use them from this page

Acceptance criteria

Users can select a widget "Boards" which displays either a list of all boards that user has access to (similar to global boards view via waffle menu) or displays the content of a certain selected board.

# _embedded.results._embedded.elements[].subject
Show work package hierarchies in Kanban board

# _embedded.results._embedded.elements[].description.raw
**As** an OpenProject user  
**I want** to display work package hierarchies in the board view  
**so** that I can easily see parent and child work packages (e.g. Epic an User Stories).

# _embedded.results._embedded.elements[].description.html
As an OpenProject user
I want to display work package hierarchies in the board view
so that I can easily see parent and child work packages (e.g. Epic an User Stories).

# _embedded.results._embedded.elements[]._links.self.title
Show work package hierarchies in Kanban board

# _embedded.results._embedded.elements[].description.raw
As a Scrum Master / Product Owner / Team Member,  
I want to have configurable swimlanes on agile boards (Kanban and Scrum),  
So that I can visually organize and group work items by meaningful categories (e.g. such as assignee, priority, epic, or custom field), improving clarity, focus, and team coordination during sprint execution.

# _embedded.results._embedded.elements[].description.html
As a Scrum Master / Product Owner / Team Member,
I want to have configurable swimlanes on agile boards (Kanban and Scrum),
So that I can visually organize and group work items by meaningful categories (e.g. such as assignee, priority, epic, or custom field), improving clarity, focus, and team coordination during sprint execution.

# _embedded.results._embedded.elements[].customField400.html
Grouping per query.

# _embedded.results._embedded.elements[].customField401.raw
*   Allow selection of the swimlane grouping attribute:
    
    *   epic
        
    *   version
        
    *   assignee
        
    *   custom field (TBC)
        
    *   priority
        
    *   work package type? (TBC)
        
*   Enable/disable swimlanes on any agile board via board settings.
    
*   Each swimlane row displays a label (the grouping value) and contains only the work items matching that value.
    
*   Swimlanes should be collapsible/expandable for better navigation on large boards.
    
*   An "Unassigned" or "None" swimlane should appear for work items without a value for the selected attribute.
    
*   Drag-and-drop functionality must work both across columns (status change) and across swimlanes (attribute change, e.g., reassigning to a different team member).
    
*   Swimlane configuration should be saved per board and persist across sessions.
    
    *   TBD: do we want to save board views of the same board? How do we handle it when users want to have different views on the same board? Do we want to offer favorite view for boards?
        
*   The feature should be performant with boards containing 100+ work items.

# _embedded.results._embedded.elements[].customField401.html
Allow selection of the swimlane grouping attribute:

epic

version

assignee

custom field (TBC)

priority

work package type? (TBC)

Enable/disable swimlanes on any agile board via board settings.

Each swimlane row displays a label (the grouping value) and contains only the work items matching that value.

Swimlanes should be collapsible/expandable for better navigation on large boards.

An "Unassigned" or "None" swimlane should appear for work items without a value for the selected attribute.

Drag-and-drop functionality must work both across columns (status change) and across swimlanes (attribute change, e.g., reassigning to a different team member).

Swimlane configuration should be saved per board and persist across sessions.

TBD: do we want to save board views of the same board? How do we handle it when users want to have different views on the same board? Do we want to offer favorite view for boards?

The feature should be performant with boards containing 100+ work items.

# _embedded.results._embedded.elements[].description.raw
**As** a project manager  
**I want to** have a burndown chart as a widget on the project overview and in the sprint report  
**so that** I can quickly see the status of the work packages contained in my project.

<br>

# _embedded.results._embedded.elements[].description.html
As a project manager
I want to have a burndown chart as a widget on the project overview and in the sprint report
so that I can quickly see the status of the work packages contained in my project.

# _embedded.results._embedded.elements[].customField401.raw
*   Chart functionality that works on journal entries
    
*   Show diagram
    
    *   x-axis: time
        
        *   indicate non-working days with a gray background
            
    *   y-axis: the amount of work left to complete, measured in either story points, days or number of issues
        
    *   The red line: shows the work that was planned for the sprint. It can increase through the sprint to show scope changes. It should decrease through the sprint duration, which would indicate that the work was delivered.
        
    *   The gray line: shows an approximation of how your team should be progressing throughout the sprint.
        
*   Widget
    
    *   Overview
        
    *   Dashboard
        
    *   Sprint reports view
        
*   Add filter/configuration options to burndown chart widget (similar to work package graph)
    
    *   Define if you would like to use days, number of issues or story points on y-axis
        
*   Filter for:
    
    *   Version
        
    *   Sprint
        
    *   Project phase

# _embedded.results._embedded.elements[].customField401.html
Chart functionality that works on journal entries

Show diagram

x-axis: time

indicate non-working days with a gray background

y-axis: the amount of work left to complete, measured in either story points, days or number of issues

The red line: shows the work that was planned for the sprint. It can increase through the sprint to show scope changes. It should decrease through the sprint duration, which would indicate that the work was delivered.

The gray line: shows an approximation of how your team should be progressing throughout the sprint.

Widget

Overview

Dashboard

Sprint reports view

Add filter/configuration options to burndown chart widget (similar to work package graph)

Define if you would like to use days, number of issues or story points on y-axis

Filter for:

Version

Sprint

Project phase

# _embedded.results._embedded.elements[].description.raw
I think this one is too complicated to implement. I'll keep it anyway for reference and mark it as rejected.

\-------

### Story

In order to **track the work in progress**,  let's **add a cumulative flow diagram**.

### Explanation

We work on work packages, some need to be tested, some need to be specified, some need to be developed, some need to be fixed. It's not easy to know where to put efforts.

Being able to view the flow of work would help me decide what to work on next.

I think a Cumulative Flow Diagram can help visualize it. It looks like this:

<figure class="image op-uc-figure"><div class="op-uc-figure--content"><img class="op-uc-image" src="https://latavernedutesteur.files.wordpress.com/2017/11/0-2.jpg?w=870" alt="0" srcset="https://latavernedutesteur.files.wordpress.com/2017/11/0-2.jpg 292w, https://latavernedutesteur.files.wordpress.com/2017/11/0-2.jpg?w=150 150w" sizes="100vw"></div></figure>

In a workflow, it tracks the status of work packages over time in a cumulative graph.

Reading distance vertically gives an idea of the work in progress: how many work packages are in a particular status at the moment?

Reading distance horizontally gives an idea of the cycle time: how much time does it take on average for a work package to transition from one status to another?

Some patterns can also exhibit problems: if test line is growing faster than done line, that can means there are not enough efforts put in testing, and developing more is counter productive. If dev line is growing faster than test, that can mean there is a lot of unfinished work or maybe some people are stuck. And so on.

You can read more on [https://getnave.com/blog/how-to-read-the-cumulative-flow-diagram-infographic/](https://getnave.com/blog/how-to-read-the-cumulative-flow-diagram-infographic/)

You can learn even more on [http://brodzinski.com/2013/07/cumulative-flow-diagram.html](http://brodzinski.com/2013/07/cumulative-flow-diagram.html) (from 2013)

It can also give good insights for retrospective discussions.

### Acceptance criteria

There may be multiple ways to address this story. Here is a proposition:

*   A new module propose to create cumulative flow diagram
*   A project and some work package types can be selected
*   Statuses can be selected too, and categorized together in one category (for instance new, specified, needs clarification can all be grouped in a "backlog" category)
*   The time span is configurable (3 months, 6 months, 1 year)
*   CFD view can be bookmarked and shared

This would use the timestamp API.

# _embedded.results._embedded.elements[].description.html
I think this one is too complicated to implement. I'll keep it anyway for reference and mark it as rejected.

-------

Story

In order to track the work in progress,  let's add a cumulative flow diagram.

Explanation

We work on work packages, some need to be tested, some need to be specified, some need to be developed, some need to be fixed. It's not easy to know where to put efforts.

Being able to view the flow of work would help me decide what to work on next.

I think a Cumulative Flow Diagram can help visualize it. It looks like this:

In a workflow, it tracks the status of work packages over time in a cumulative graph.

Reading distance vertically gives an idea of the work in progress: how many work packages are in a particular status at the moment?

Reading distance horizontally gives an idea of the cycle time: how much time does it take on average for a work package to transition from one status to another?

Some patterns can also exhibit problems: if test line is growing faster than done line, that can means there are not enough efforts put in testing, and developing more is counter productive. If dev line is growing faster than test, that can mean there is a lot of unfinished work or maybe some people are stuck. And so on.

You can read more on https://getnave.com/blog/how-to-read-the-cumulative-flow-diagram-infographic/

You can learn even more on http://brodzinski.com/2013/07/cumulative-flow-diagram.html (from 2013)

It can also give good insights for retrospective discussions.

Acceptance criteria

There may be multiple ways to address this story. Here is a proposition:

A new module propose to create cumulative flow diagram

A project and some work package types can be selected

Statuses can be selected too, and categorized together in one category (for instance new, specified, needs clarification can all be grouped in a "backlog" category)

The time span is configurable (3 months, 6 months, 1 year)

CFD view can be bookmarked and shared

This would use the timestamp API.

# _embedded.results._embedded.elements[].subject
Make Backlogs module configuration available on a per project base

# _embedded.results._embedded.elements[].description.raw
**As** a _project manager_  
**I want to** configure the story-, task-types and Burnup/-down points on a per project base  
**so that** _I can use different settings for each project based on its requirements._

**Acceptance criteria**

*   The administration interface for the Backlogs module is moved from the administrator space to the project space
    *   <img class="op-uc-image op-uc-image_inline" src="/api/v3/attachments/58933/content">

# _embedded.results._embedded.elements[].description.html
As a project manager
I want to configure the story-, task-types and Burnup/-down points on a per project base
so that I can use different settings for each project based on its requirements.

Acceptance criteria

The administration interface for the Backlogs module is moved from the administrator space to the project space

# _embedded.results._embedded.elements[]._links.self.title
Make Backlogs module configuration available on a per project base

# _embedded.results._embedded.elements[].description.raw
As a Scrum Master / Product Owner / Team Member using OpenProject,  
I want to set and enforce Work-In-Progress (WIP) limits on columns of agile boards (Kanban and Scrum),  
So that my team can control the flow of work, reduce multitasking, identify bottlenecks early, and improve overall throughput and delivery predictability.

# _embedded.results._embedded.elements[].description.html
As a Scrum Master / Product Owner / Team Member using OpenProject,
I want to set and enforce Work-In-Progress (WIP) limits on columns of agile boards (Kanban and Scrum),
So that my team can control the flow of work, reduce multitasking, identify bottlenecks early, and improve overall throughput and delivery predictability.

# _embedded.results._embedded.elements[].customField400.raw
*   Hard limits (prevents adding items beyond the limit).
    
*   Notifications.

# _embedded.results._embedded.elements[].customField400.html
Hard limits (prevents adding items beyond the limit).

Notifications.

# _embedded.results._embedded.elements[].customField401.raw
*   Set a WIP limit (maximum number of items) on any column of a Kanban or Scrum board.
    
*   We offer soft limits (visual warning only)
    
*   Display WIP limit alongside the current item count in the column header (e.g., "In Progress 3/5").
    
*   Visual indicator when a column is at capacity (e.g., yellow highlight) or over capacity (e.g., red highlight).
    
*   WIP limits configurable per board, per column - not globally enforced.
    
*   Option to set WIP limits per swimlane (if swimlanes are enabled).
    
*   WIP limit violations logged in activity/history for retrospective analysis.
    
    *   Visible in the sprint report.
        
*   Admin/project manager can set, modify, or remove WIP limits; team members can view them.

# _embedded.results._embedded.elements[].customField401.html
Set a WIP limit (maximum number of items) on any column of a Kanban or Scrum board.

We offer soft limits (visual warning only)

Display WIP limit alongside the current item count in the column header (e.g., "In Progress 3/5").

Visual indicator when a column is at capacity (e.g., yellow highlight) or over capacity (e.g., red highlight).

WIP limits configurable per board, per column - not globally enforced.

Option to set WIP limits per swimlane (if swimlanes are enabled).

WIP limit violations logged in activity/history for retrospective analysis.

Visible in the sprint report.

Admin/project manager can set, modify, or remove WIP limits; team members can view them.

# _embedded.results._embedded.elements[].customField403.raw
Work-In-Progress (WIP) limits are a foundational principle of Lean and Kanban methodologies. They restrict the number of work items that can exist in a given workflow stage (board column) at any time. By limiting WIP, teams focus on finishing work before starting new tasks, which reduces context switching, exposes bottlenecks, and improves cycle time.

The WIP limits feature allows authorized users to set a maximum number of work packages per column on any agile board. When the limit is reached or exceeded, the board provides a clear visual warning. The system can be configured to either warn (soft limit) or prevent (hard limit) additional items from being added to the column. Within OpenProject we will go for the soft limit and visual indication that the limit was exceeded.

# _embedded.results._embedded.elements[].customField403.html
Work-In-Progress (WIP) limits are a foundational principle of Lean and Kanban methodologies. They restrict the number of work items that can exist in a given workflow stage (board column) at any time. By limiting WIP, teams focus on finishing work before starting new tasks, which reduces context switching, exposes bottlenecks, and improves cycle time.

The WIP limits feature allows authorized users to set a maximum number of work packages per column on any agile board. When the limit is reached or exceeded, the board provides a clear visual warning. The system can be configured to either warn (soft limit) or prevent (hard limit) additional items from being added to the column. Within OpenProject we will go for the soft limit and visual indication that the limit was exceeded.

# _embedded.results._embedded.elements[].description.raw
**As** a developer who uses open project mainly in the boards view  
**I want to** quickly see the work packages that are important for me (therefore, for which I am "Accountable" or "Assignee")  
**so that** I don't have to search for my "cards" all the time on the board, to e.g. move them in the next column.

**Background**

Trello has such a feature. It is even tied to a keyboard shortcut ("q"), with which it is easy to toggle between the "full" view of a board and only the cards that are relevant to me. Especially with large boards where several people are working on, this is a game changer.

With OpenProject, it is not even possible to build a filter for that, since two or more conditions are always linked with logical "AND", not "OR" (meaning both conditions have to be satisfied to be a match for the filter)  
In the Titan team, we remove ourselves as Assignee at a certain point in the process, but we could still be Accountable. On the other hand, I could be Assignee for a work package for which someone else is Accountable for. So saving two different filters for that is not really helpful, because I would always have to switch between them and check both.

A button / quickfilter like that could also be useful for the Work Packages views.

**Acceptance criteria**

*   There is a way to filter a board for "Assignee: me" _or_ "Accountable: me" at the same time 
    
    *   This does not need to be via the "Filter" module, it could be a separate button or menu entry
        
    *   Having functionality for this via the Filters would be covered with ##56291.
        
*   It should be clear in the UI when the "me-filter" is active
    
*   Nice to have: There is a keyboard shortcut to toggle this

# _embedded.results._embedded.elements[].description.html
As a developer who uses open project mainly in the boards view
I want to quickly see the work packages that are important for me (therefore, for which I am "Accountable" or "Assignee")
so that I don't have to search for my "cards" all the time on the board, to e.g. move them in the next column.

Background

Trello has such a feature. It is even tied to a keyboard shortcut ("q"), with which it is easy to toggle between the "full" view of a board and only the cards that are relevant to me. Especially with large boards where several people are working on, this is a game changer.

With OpenProject, it is not even possible to build a filter for that, since two or more conditions are always linked with logical "AND", not "OR" (meaning both conditions have to be satisfied to be a match for the filter)
In the Titan team, we remove ourselves as Assignee at a certain point in the process, but we could still be Accountable. On the other hand, I could be Assignee for a work package for which someone else is Accountable for. So saving two different filters for that is not really helpful, because I would always have to switch between them and check both.

A button / quickfilter like that could also be useful for the Work Packages views.

Acceptance criteria

There is a way to filter a board for "Assignee: me" or "Accountable: me" at the same time

This does not need to be via the "Filter" module, it could be a separate button or menu entry

Having functionality for this via the Filters would be covered with .

It should be clear in the UI when the "me-filter" is active

Nice to have: There is a keyboard shortcut to toggle this

# _embedded.results._embedded.elements[].description.raw
**As** a team leader  
**I want to** see a clear visual indicator of the type (category) of task...etc a card on the Kanban board is  
**so that** I can quickly navigate between different cards without reading all of the text.

**Acceptance criteria**

*   Customizable tags with a clear visual indicator (color difference) can be placed on the card in the main board view
    
    *   Note: for me, it would work perfectly if the "Category" could have custom colors assigned and shown on the card in the main board view
        

Note: Trello has a feature like this: each card can have a custom color coded category tag.

# _embedded.results._embedded.elements[].description.html
As a team leader
I want to see a clear visual indicator of the type (category) of task...etc a card on the Kanban board is
so that I can quickly navigate between different cards without reading all of the text.

Acceptance criteria

Customizable tags with a clear visual indicator (color difference) can be placed on the card in the main board view

Note: for me, it would work perfectly if the "Category" could have custom colors assigned and shown on the card in the main board view

Note: Trello has a feature like this: each card can have a custom color coded category tag.

# _embedded.results._embedded.elements[]._links.customField429[].title
Frontend components and Primer design system

# _embedded.results._embedded.elements[].subject
Display position of story in backlog also in related task board

# _embedded.results._embedded.elements[].description.raw
**As** a agile project manager / Scrum master  
**I want to** use the position of a story in a version (backlogs module) also visible in the task board  
**so that** I have a further visual support while creating tasks corresponding to stories

<br>

<img class="op-uc-image op-uc-image_inline" src="/api/v3/attachments/741855/content">

<br>

<img class="image_resized op-uc-image op-uc-image_inline" style="width:818px;" src="/api/v3/attachments/741857/content">

<br>

**Acceptance criteria**

*   The position of a story in the backlog is numbered and also visible in the corresponding task board.
    
*   When the postion changes, the number adjusts.
    

**Technical notes**

*   <br>
    

**Permissions and visibility considerations**

*   _To whom is this feature visible?_
    
*   _When is it not visible?_
    

**Translation considerations**

*   _Key terms and phrases in the key languages_ 
    

**Out of scope**

*   <br>
    

_Set the_ **To be informed/consulted teams** _field to include all teams necessary to be informed of the changes._

# _embedded.results._embedded.elements[].description.html
As a agile project manager / Scrum master
I want to use the position of a story in a version (backlogs module) also visible in the task board
so that I have a further visual support while creating tasks corresponding to stories

Acceptance criteria

The position of a story in the backlog is numbered and also visible in the corresponding task board.

When the postion changes, the number adjusts.

Technical notes

Permissions and visibility considerations

To whom is this feature visible?

When is it not visible?

Translation considerations

Key terms and phrases in the key languages

Out of scope

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

# _embedded.results._embedded.elements[]._links.self.title
Display position of story in backlog also in related task board

# _embedded.results._embedded.elements[].subject
Add summary field for work package type "epic"

# _embedded.results._embedded.elements[].description.raw
For work packages of type "epic" :

*   add a short help text to guide people to enter a short epic name
    
    *   "Define a short epic name"
        
*   add a "summary" field (per default not mandatory; admins should have the possibility to change it in the settings)

# _embedded.results._embedded.elements[].description.html
For work packages of type "epic" :

add a short help text to guide people to enter a short epic name

"Define a short epic name"

add a "summary" field (per default not mandatory; admins should have the possibility to change it in the settings)

# _embedded.results._embedded.elements[]._links.self.title
Add summary field for work package type "epic"

# _embedded.results._embedded.elements[].description.raw
**As** an API client e.g. the mobile app  
**I want to** CRUD sprints  
**so that** I can provision sprints remotely and build a client that supports the Scrum aspect of OpenProject

This overlaps to some part with <mention class="mention" data-id="72227" data-type="work_package" data-text="###72227">###72227</mention> which will add sprints to the work package resource as well as GET endpoints to show and index sprints.

**Acceptance criteria**

*   Sprints are exposed via the APIv3
    
    *   Update
        
    *   Delete
        
    *   Create
        
    *   Form?
        
    *   Schema?
        

**Technical notes**

*   <br>
    

**Permissions and visibility considerations**

*   Enforces the same limiations as in the UI, i.e. who is allowed to manage sprints.
    

**Translation considerations**

*   _Key terms and phrases in the key languages_ 
    

**Out of scope**

*   <br>
    

_Set the_ **To be informed/consulted teams** _field to include all teams necessary to be informed of the changes._

# _embedded.results._embedded.elements[].description.html
As an API client e.g. the mobile app
I want to CRUD sprints
so that I can provision sprints remotely and build a client that supports the Scrum aspect of OpenProject

This overlaps to some part with which will add sprints to the work package resource as well as GET endpoints to show and index sprints.

Acceptance criteria

Sprints are exposed via the APIv3

Update

Delete

Create

Form?

Schema?

Technical notes

Permissions and visibility considerations

Enforces the same limiations as in the UI, i.e. who is allowed to manage sprints.

Translation considerations

Key terms and phrases in the key languages

Out of scope

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

# _embedded.results._embedded.elements[].description.raw
**As** a product owner  
**I want to** define and communicate the goal of the sprint to the team in a concise manner  
**so that** the intend of the sprint is clear.

**Acceptance criteria**

*   Sprints have a goal (plain text) per project
    
*   The goal is administrated in the new/edit sprint modal
    
    *   If the sprint is not shared:
        
        *   The "Sprint goal" field is visibly a part of the form together with the "Name" and "Date" fields
            
    *   If the sprint is shared, The "Sprint goal" field:
        
        *   is separated by a horizontal bar from the other fields.
            
        *   has a suffix at the label reading "(for this project)"
            
        *   has a caption "The sprint goal is unique to this project and is not shared with other projects also using this sprint."
            
*   Shared sprints display a banner at the top of the modal. The permissions the user has define what is displayed and whether the fields are active. The relevant permission is `create_sprints` :
    
    *   Permission in sharing and shared with project: An info notification is displayed reading "This is a shared sprint. Modifications will be reflected in all projects using it.". All Fields are active.
        
    *   Permission in sharing but not in shared with project: An info notification is displayed reading "This is a shared sprint. Modifications will be reflected in all projects using it.". Name and date fields are active, goal is inactive.
        
    *   Permission not in sharing but in shared with project: Warning notification is displayed reading "This is a shared sprint. You do not have the necessary permissions to edit it." Only the goal field is active.
        
*   If a goal is set, it is displayed in the header of the sprint on the "Backlog and sprints" page.  
    
*   The goal property is part of the API.
    

**Permissions and visibility considerations**

*   See AC
    

**Out of scope**

*   ###72945 is expected to be done
    
*   PATCH API support
    

_Set the_ **To be informed/consulted teams** _field to include all teams necessary to be informed of the changes._

# _embedded.results._embedded.elements[].description.html
As a product owner
I want to define and communicate the goal of the sprint to the team in a concise manner
so that the intend of the sprint is clear.

Acceptance criteria

Sprints have a goal (plain text) per project

The goal is administrated in the new/edit sprint modal

If the sprint is not shared:

The "Sprint goal" field is visibly a part of the form together with the "Name" and "Date" fields

If the sprint is shared, The "Sprint goal" field:

is separated by a horizontal bar from the other fields.

has a suffix at the label reading "(for this project)"

has a caption "The sprint goal is unique to this project and is not shared with other projects also using this sprint."

Shared sprints display a banner at the top of the modal. The permissions the user has define what is displayed and whether the fields are active. The relevant permission is create_sprints :

Permission in sharing and shared with project: An info notification is displayed reading "This is a shared sprint. Modifications will be reflected in all projects using it.". All Fields are active.

Permission in sharing but not in shared with project: An info notification is displayed reading "This is a shared sprint. Modifications will be reflected in all projects using it.". Name and date fields are active, goal is inactive.

Permission not in sharing but in shared with project: Warning notification is displayed reading "This is a shared sprint. You do not have the necessary permissions to edit it." Only the goal field is active.

If a goal is set, it is displayed in the header of the sprint on the "Backlog and sprints" page.

The goal property is part of the API.

Permissions and visibility considerations

See AC

Out of scope

is expected to be done

PATCH API support

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

# _embedded.results._embedded.elements[]._links.children[].title
Update Sprint API endpoints to include goal representation

# _embedded.results._embedded.elements[]._links.children[].title
Various questions relating to Sprint/Goal API design

# _embedded.results._embedded.elements[].subject
Show total sprint capacity (in days or story points)

# _embedded.results._embedded.elements[].description.raw
**As** a scrum team  
**I want to** see the planned total capacity of a sprint  
**so that** I can select and communicate a realistic set of stories to be developed in the sprint

**Acceptance criteria**

*   Sprints show in the sprint bucket the total sprint capacity
    
    *   story points or days
        
*   Project admin can define if a capacity within the project is being shown in days or story points
    
*   Users can define story points or days for certain work package on the work package level
    

**Technical notes**

*   <br>
    

**Permissions and visibility considerations**

*   _To whom is this feature visible?_
    
*   _When is it not visible?_
    

**Translation considerations**

*   _Key terms and phrases in the key languages_ 
    

**Out of scope**

*   <br>
    

_Set the_ **To be informed/consulted teams** _field to include all teams necessary to be informed of the changes._

# _embedded.results._embedded.elements[].description.html
As a scrum team
I want to see the planned total capacity of a sprint
so that I can select and communicate a realistic set of stories to be developed in the sprint

Acceptance criteria

Sprints show in the sprint bucket the total sprint capacity

story points or days

Project admin can define if a capacity within the project is being shown in days or story points

Users can define story points or days for certain work package on the work package level

Technical notes

Permissions and visibility considerations

To whom is this feature visible?

When is it not visible?

Translation considerations

Key terms and phrases in the key languages

Out of scope

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

# _embedded.results._embedded.elements[]._links.self.title
Show total sprint capacity (in days or story points)

# _embedded.results._embedded.elements[].subject
Status mapping within columns in sprint and kanban boards

# _embedded.results._embedded.elements[].description.raw
**As a** user,  

**I would like to** group multiple workflow statuses into a single board column

**So that** the board accurately reflects how my team works, and provides some level of flexibility.

# _embedded.results._embedded.elements[].description.html
As a user,

I would like to group multiple workflow statuses into a single board column

So that the board accurately reflects how my team works, and provides some level of flexibility.

# _embedded.results._embedded.elements[].customField400.raw
*   Automatic import of board column mappings from Jira during migration
    
*   Automations triggered by column transitions

# _embedded.results._embedded.elements[].customField400.html
Automatic import of board column mappings from Jira during migration

Automations triggered by column transitions

# _embedded.results._embedded.elements[].customField401.raw
*   Users can group multiple workflow statuses into a single board column.
    
    *   Boards display work packages according to column groupings rather than a one-to-one status mapping.
        
    *   A board configuration panel shows all columns with their currently mapped statuses. This should be a per-board setting.
        
    *   Certain edit rights would be needed for a user in order to configure a board. TBD with the team: project admin, separate board admin rights?
        
    *   It is clear to board users which workflow statuses are represented by each board column.
        
    *   Unmapped statuses are displayed in a dedicated pool/list
        
    *   Admins can drag statuses from the pool into any column
        
    *   Admins can remove a status from a column, returning it to the unmapped pool
        
    *   Each status can only be mapped to one column at a time
        
*   Define a default transition status per column, applied when a card is dragged in
    
    *   As a board administrator, I want to define which status is applied by default when a work package is dragged into a column, so that transitions are predictable and consistent.
        
    *   Each column with multiple mapped statuses has a "default transition status" selector
        
    *   The default status must be one of the statuses already mapped to that column
        
    *   If only one status is mapped, it is automatically the default
        
    *   When a work package is dragged into the column, it transitions to the default status (subject to workflow rules)
        
    *   The default transition status is visible in the column header in the board view
        
*   Configure unmapped status behavior
    
    *   As a board administrator, I want to control what happens to work packages whose status is not mapped to any column, so that my board stays clean and relevant.
        
    *   Board settings include an "Unmapped status behavior" option with two modes:
        
        *   Hide: Work packages with unmapped statuses do not appear on the board
            
        *   Show in dedicated lane: They appear in a special "Unmapped" column at the end of the board
            
    *   The selected behavior is persisted per board configuration
        
*   Drag and drop with status transition
    
    *   As a team member, I want to drag a work package to a different column and have its status automatically updated to the column's default transition status, so that I don't have to manually update the status separately.
        
    *   Dragging a work package to a column triggers a status transition to the column's default status
        
    *   \[open points\]:
        
        *   What if the work package type does not support a certain default status?
            
            *   If only one of mapped statuses applies to this work package type, automatically select this status.
                
        *   What if it supports multiple statuses mapped, but not the default status?
            
            *   Show a modal allowing a user to select the status manually. (TBD)
                
        *   What if it does not support any of the statuses in a column?
            
            *   If the transition is not allowed by the current workflow rules, the drag is rejected with a clear error message and the card snaps back. Preserve workflow integrity: status transitions must still respect existing workflow permission rules.
                
        *   We have to also handle cases where certain status transitions are not available to some users (e.g. certain role does not have rights to conduct a specific status transition).
            
            *   If the transition is not allowed by the role / privileges, the drag is rejected with a clear error message and the card snaps back. Preserve role integrity.
                
*   Existing boards that rely on a one-to-one relationship between columns and statuses continue to work without change.
    
    *   Users can configure boards to display fewer columns ( e.g. "To do", "In progress", "Done") than the number of statuses available in the board.

# _embedded.results._embedded.elements[].customField401.html
Users can group multiple workflow statuses into a single board column.

Boards display work packages according to column groupings rather than a one-to-one status mapping.

A board configuration panel shows all columns with their currently mapped statuses. This should be a per-board setting.

Certain edit rights would be needed for a user in order to configure a board. TBD with the team: project admin, separate board admin rights?

It is clear to board users which workflow statuses are represented by each board column.

Unmapped statuses are displayed in a dedicated pool/list

Admins can drag statuses from the pool into any column

Admins can remove a status from a column, returning it to the unmapped pool

Each status can only be mapped to one column at a time

Define a default transition status per column, applied when a card is dragged in

As a board administrator, I want to define which status is applied by default when a work package is dragged into a column, so that transitions are predictable and consistent.

Each column with multiple mapped statuses has a "default transition status" selector

The default status must be one of the statuses already mapped to that column

If only one status is mapped, it is automatically the default

When a work package is dragged into the column, it transitions to the default status (subject to workflow rules)

The default transition status is visible in the column header in the board view

Configure unmapped status behavior

As a board administrator, I want to control what happens to work packages whose status is not mapped to any column, so that my board stays clean and relevant.

Board settings include an "Unmapped status behavior" option with two modes:

Hide: Work packages with unmapped statuses do not appear on the board

Show in dedicated lane: They appear in a special "Unmapped" column at the end of the board

The selected behavior is persisted per board configuration

Drag and drop with status transition

As a team member, I want to drag a work package to a different column and have its status automatically updated to the column's default transition status, so that I don't have to manually update the status separately.

Dragging a work package to a column triggers a status transition to the column's default status

[open points]:

What if the work package type does not support a certain default status?

If only one of mapped statuses applies to this work package type, automatically select this status.

What if it supports multiple statuses mapped, but not the default status?

Show a modal allowing a user to select the status manually. (TBD)

What if it does not support any of the statuses in a column?

If the transition is not allowed by the current workflow rules, the drag is rejected with a clear error message and the card snaps back. Preserve workflow integrity: status transitions must still respect existing workflow permission rules.

We have to also handle cases where certain status transitions are not available to some users (e.g. certain role does not have rights to conduct a specific status transition).

If the transition is not allowed by the role / privileges, the drag is rejected with a clear error message and the card snaps back. Preserve role integrity.

Existing boards that rely on a one-to-one relationship between columns and statuses continue to work without change.

Users can configure boards to display fewer columns ( e.g. "To do", "In progress", "Done") than the number of statuses available in the board.

# _embedded.results._embedded.elements[].customField403.raw
Users migrating from Jira are accustomed to grouping multiple workflow statuses into a single Kanban board column. For example, an **“In Progress”** column may include statuses such as **“In Development”** and **“In Code Review.”**

In Jira, columns are distinct from statuses: columns provide a **visual grouping of work**, rather than representing the status itself. When a card is moved into a column, Jira either assigns a default status associated with that column or prompts the user to choose one if multiple statuses are available.

<br>

In contrast, OpenProject uses a **one-to-one relationship between columns and statuses**. Each board column directly represents a single workflow status. Dragging a card into a column automatically sets the card’s status to that column’s status, and renaming a column requires changing the underlying workflow.

# _embedded.results._embedded.elements[].customField403.html
Users migrating from Jira are accustomed to grouping multiple workflow statuses into a single Kanban board column. For example, an “In Progress” column may include statuses such as “In Development” and “In Code Review.”

In Jira, columns are distinct from statuses: columns provide a visual grouping of work, rather than representing the status itself. When a card is moved into a column, Jira either assigns a default status associated with that column or prompts the user to choose one if multiple statuses are available.

In contrast, OpenProject uses a one-to-one relationship between columns and statuses. Each board column directly represents a single workflow status. Dragging a card into a column automatically sets the card’s status to that column’s status, and renaming a column requires changing the underlying workflow.

# _embedded.results._embedded.elements[]._links.self.title
Status mapping within columns in sprint and kanban boards

# _embedded.results._embedded.elements[]._links.children[].title
Spike porting Angular boards to React (with Primer React)

# _embedded.results._embedded.elements[]._links.children[].title
Spike building new Agile functionality on existing Boards + Primer React

# _embedded.results._embedded.elements[].subject
Should the new work package modal be adapted for backlogs?

# _embedded.results._embedded.elements[].description.raw
Current state:

*   The new work package modal from the relations tab is used
    

<img class="image_resized op-uc-image op-uc-image_inline" style="width:700px;" src="/api/v3/attachments/918607/content">

Problem:

*   The modal has no "Story point" field. The user will have to create the work package in the modal, save it, open the split view, navigate to the story points field and add the value.
    

Options:

*   leaving as-is for this iteration (this will involve disabling various features)
    
*   creating a custom Add Story modal.
    
*   making the existing Create work Package modal configurable.

# _embedded.results._embedded.elements[].description.html
Current state:

The new work package modal from the relations tab is used

Problem:

The modal has no "Story point" field. The user will have to create the work package in the modal, save it, open the split view, navigate to the story points field and add the value.

Options:

leaving as-is for this iteration (this will involve disabling various features)

creating a custom Add Story modal.

making the existing Create work Package modal configurable.

# _embedded.results._embedded.elements[].customField347
For the scope of the Primerization (keep the modal as is). No decision on the long term solution now

# _embedded.results._embedded.elements[]._links.self.title
Should the new work package modal be adapted for backlogs?

# _embedded.results._embedded.elements[].description.raw
**As** a \[enter role of user\]  
**I want to** \[enter objective\]  
**so that** \[enter desired result\]

**Acceptance criteria**

*   Within the "backlog" menu, have an "All sprints" menu entry
    
*   Clicking on the "All sprints" menu entry takes the user to an overview of all the sprints in the sprint
    
*   Within a simple table, the sprints are listed with the columns
    
    *   Sprint - the name of the sprint
        
    *   Status
        
    *   Start date
        
    *   Finish date
        
    *   Items
        
    *   \[open\] which actions are available on the rows
        
    *   \[open\] Should the sharing state be displayed (including the project shared from)?
        
*   The table is sorted by dates first, then by name.
    
*   The view allows filtering the sprints.
    
    *   By default, all sprints are displayed &nbsp;
        
    *   Most current sprints on the top of the page
        
        *   \[open\] there will easily be a lot of sprints in this view. Potentially, exclude finished ones by default.
            
            *   Maybe through pagination at the beginning? As a user you need a way to navigate to a sprint from the past to check reports.
                
    *   There is a quick filter (text field) always visible that filters on the sprints&#39; names
        
    *   There is a toggle for quickly switching between &quot;All&quot; and &quot;Completed&quot; sprints
        
*   Clicking on the sprint name will
    
    *   For the active sprint: Take the user to the sprint&#39;s board (&quot;Active sprint&quot;)
        
    *   For sprints in planning: Take the user to the &quot;Sprint planning&quot;
        
    *   For completed sprints: Take the user to a report page on that sprint
        
        *   \[open\] what does that page show: will be defined separately <mention class="mention" data-id="71891" data-type="work_package" data-text="##71891">##71891</mention>
            

**Technical notes**

*   <br>
    

**Permissions and visibility considerations**

*   "View sprints" is required to access the page.
    

**Translation considerations**

*   _Key terms and phrases in the key languages_
    

**Out of scope**

*   <br>
    

<br>

# _embedded.results._embedded.elements[].description.html
As a [enter role of user]
I want to [enter objective]
so that [enter desired result]

Acceptance criteria

Within the "backlog" menu, have an "All sprints" menu entry

Clicking on the "All sprints" menu entry takes the user to an overview of all the sprints in the sprint

Within a simple table, the sprints are listed with the columns

Sprint - the name of the sprint

Status

Start date

Finish date

Items

[open] which actions are available on the rows

[open] Should the sharing state be displayed (including the project shared from)?

The table is sorted by dates first, then by name.

The view allows filtering the sprints.

By default, all sprints are displayed

Most current sprints on the top of the page

[open] there will easily be a lot of sprints in this view. Potentially, exclude finished ones by default.

Maybe through pagination at the beginning? As a user you need a way to navigate to a sprint from the past to check reports.

There is a quick filter (text field) always visible that filters on the sprints' names

There is a toggle for quickly switching between "All" and "Completed" sprints

Clicking on the sprint name will

For the active sprint: Take the user to the sprint's board ("Active sprint")

For sprints in planning: Take the user to the "Sprint planning"

For completed sprints: Take the user to a report page on that sprint

[open] what does that page show: will be defined separately

Technical notes

Permissions and visibility considerations

"View sprints" is required to access the page.

Translation considerations

Key terms and phrases in the key languages

Out of scope

# _embedded.results._embedded.elements[]._links.children[].title
"All sprints" view - create button and edit functionality

# _embedded.results._embedded.elements[].description.raw
**As** an agile coach  
**I want to** have a burndown chart as a widget on the project overview and in the sprint report  
**so that** I can track the performance of my team.

<br>

# _embedded.results._embedded.elements[].description.html
As an agile coach
I want to have a burndown chart as a widget on the project overview and in the sprint report
so that I can track the performance of my team.

# _embedded.results._embedded.elements[].customField401.raw
*   Chart functionality that works on journal entries
    
*   Show diagram
    
    *   x-axis: time
        
        *   indicate non-working days with a gray background
            
    *   y-axis: the amount of work left to complete, measured in either story points, days or number of issues
        
    *   The red line: shows the work that was planned for the sprint. It can increase through the sprint to show scope changes.
        
    *   The green line: shows work that has been moved to "closed" or "rejected".
        
    *   The gray line: shows an approximation of how your team should be progressing throughout the sprint.
        
*   Widget
    
    *   Overview
        
    *   Dashboard
        
    *   Sprint reports view
        
*   Add filter/configuration options to burndown chart widget (similar to work package graph)
    
    *   Define if you would like to use days, number of issues or story points on y-axis
        
*   Filter for:
    
    *   Version
        
    *   Sprint

# _embedded.results._embedded.elements[].customField401.html
Chart functionality that works on journal entries

Show diagram

x-axis: time

indicate non-working days with a gray background

y-axis: the amount of work left to complete, measured in either story points, days or number of issues

The red line: shows the work that was planned for the sprint. It can increase through the sprint to show scope changes.

The green line: shows work that has been moved to "closed" or "rejected".

The gray line: shows an approximation of how your team should be progressing throughout the sprint.

Widget

Overview

Dashboard

Sprint reports view

Add filter/configuration options to burndown chart widget (similar to work package graph)

Define if you would like to use days, number of issues or story points on y-axis

Filter for:

Version

Sprint

# _embedded.results._embedded.elements[].description.raw
As a user I would like to use agile features also on a global level within OpenProject.

# _embedded.results._embedded.elements[].description.html
As a user I would like to use agile features also on a global level within OpenProject.

# _embedded.results._embedded.elements[].customField401.raw
*   There is a backlog module, accessible from the main menu, also when the user didn't select any project yet.
    
*   The default view of the module is showing you (TBC)
    
    *   all backlog buckets from all projects you have access to
        
    *   all sprint buckets from all projects you have access to
        
*   You can navigate to sprint index page showing you all sprints you are allowed to see
    
*   You can switch to global board view
    
    *   showing you per default all work packages from all projects
        
    *   there is a filter per sprint allowing you to select certain sprint quickly, while still remaining in the board view (extremely relevant for SAFe environments)
        
    *   further filters TBD
        
*   From within the global backlog module I can create and share a sprint with all projects within the instance

# _embedded.results._embedded.elements[].customField401.html
There is a backlog module, accessible from the main menu, also when the user didn't select any project yet.

The default view of the module is showing you (TBC)

all backlog buckets from all projects you have access to

all sprint buckets from all projects you have access to

You can navigate to sprint index page showing you all sprints you are allowed to see

You can switch to global board view

showing you per default all work packages from all projects

there is a filter per sprint allowing you to select certain sprint quickly, while still remaining in the board view (extremely relevant for SAFe environments)

further filters TBD

From within the global backlog module I can create and share a sprint with all projects within the instance

# _embedded.results._embedded.elements[].customField403.raw
*   Relevant for multi-project agile way of working, e.g. for SAFe environments
    
    *   entry point within the user journey for multi-project boards
        
    *   entry point for system-wide sprint sharing

# _embedded.results._embedded.elements[].customField403.html
Relevant for multi-project agile way of working, e.g. for SAFe environments

entry point within the user journey for multi-project boards

entry point for system-wide sprint sharing

# _embedded.results._embedded.elements[].subject
Show sprint reports for completed sprints

# _embedded.results._embedded.elements[].description.raw
As a user I would like to understand the performance of the team within the completed sprint, so that we can reflect on it and get better.

# _embedded.results._embedded.elements[].description.html
As a user I would like to understand the performance of the team within the completed sprint, so that we can reflect on it and get better.

# _embedded.results._embedded.elements[].customField401.raw
*   Show stats on the wp, total
    
    *   number of work packages initially planned for the sprint
        
    *   number of work packages completed
        
    *   number of work packages which were not completed
        
    *   number of work packages added additionally to the sprint during the sprint
        
*   List, number and total story points / days of
    
    *   number of story points planned initially
        
    *   number of story points added during the sprint
        
    *   number of story points delivered
        
*   Report on estimates
    
    *   compare estimated workload and workload logged on the wp
        
        *   "over consumption" (when workload on a WP is > than the initial estimate)
            
*   Show charts (these might be part of separate epics)
    
    *   velocity chart (if story points available)
        
        *   committed
            
        *   completed
            
    *   burndown chart
        
    *   burnup chart

# _embedded.results._embedded.elements[].customField401.html
Show stats on the wp, total

number of work packages initially planned for the sprint

number of work packages completed

number of work packages which were not completed

number of work packages added additionally to the sprint during the sprint

List, number and total story points / days of

number of story points planned initially

number of story points added during the sprint

number of story points delivered

Report on estimates

compare estimated workload and workload logged on the wp

"over consumption" (when workload on a WP is > than the initial estimate)

Show charts (these might be part of separate epics)

velocity chart (if story points available)

committed

completed

burndown chart

burnup chart

# _embedded.results._embedded.elements[].customField403.raw
*   material for reflection (retrospective)
    
*   indicators for team health-check
    
*   helps to understand performance, issues and through that helps the team to improve

# _embedded.results._embedded.elements[].customField403.html
material for reflection (retrospective)

indicators for team health-check

helps to understand performance, issues and through that helps the team to improve

# _embedded.results._embedded.elements[]._links.self.title
Show sprint reports for completed sprints

# _embedded.results._embedded.elements[].description.raw
As an agile coach I would like to understand my teams' current velocity so that we can use the average velocity for the sprint planning in future.

# _embedded.results._embedded.elements[].description.html
As an agile coach I would like to understand my teams' current velocity so that we can use the average velocity for the sprint planning in future.

# _embedded.results._embedded.elements[].customField401.raw
*   Should automatically show as a part of a sprint report after a sprint was completed
    
*   Should be possible for a user to define the velocity chart as a widget on the project dashboard
    
*   Should show per default past 7 sprints
    
*   Should compare committed number of story points and completed number of story points
    
*   x: sprints
    
*   y: story points
    
*   in addition to the bar chart we should show
    
    *   velocity of the last sprint
        
    *   average velocity of 7 past sprints
        
*   TBD: users should be able to define how many sprints they would like to see on the chart

# _embedded.results._embedded.elements[].customField401.html
Should automatically show as a part of a sprint report after a sprint was completed

Should be possible for a user to define the velocity chart as a widget on the project dashboard

Should show per default past 7 sprints

Should compare committed number of story points and completed number of story points

x: sprints

y: story points

in addition to the bar chart we should show

velocity of the last sprint

average velocity of 7 past sprints

TBD: users should be able to define how many sprints they would like to see on the chart

# _embedded.results._embedded.elements[].customField403.raw
*   velocity chart allows to understand team's current performance
    
*   shows changes over time and identifies anomalies
    
*   shows current velocity which can be used for the next sprint planning

# _embedded.results._embedded.elements[].customField403.html
velocity chart allows to understand team's current performance

shows changes over time and identifies anomalies

shows current velocity which can be used for the next sprint planning

# _embedded.results._embedded.elements[].description.raw
As a Scrum Master / Product Owner / Team Member using OpenProject,  
I want to have quick filter controls directly on agile boards (Kanban and Scrum),  
So that I can instantly narrow down the visible work items by common attributes (such as assignee, priority, type, label, or sprint) without leaving the board view, enabling faster navigation, focused stand-ups, and more efficient board interactions.

# _embedded.results._embedded.elements[].description.html
As a Scrum Master / Product Owner / Team Member using OpenProject,
I want to have quick filter controls directly on agile boards (Kanban and Scrum),
So that I can instantly narrow down the visible work items by common attributes (such as assignee, priority, type, label, or sprint) without leaving the board view, enabling faster navigation, focused stand-ups, and more efficient board interactions.

# _embedded.results._embedded.elements[].customField400.raw
Quick filter state can optionally be saved as a board view (public or private).

This is expected within <mention class="mention" data-id="30884" data-type="work_package" data-text="##30884">##30884</mention>

# _embedded.results._embedded.elements[].customField400.html
Quick filter state can optionally be saved as a board view (public or private).

This is expected within

# _embedded.results._embedded.elements[].customField401.raw
*   We offer pre-defined out-of-the-box quick filters
    
    *   My items (shortcut filter to quickly show only items assigned to the current user)
        
    *   High priority (shortcut filter to show only high prio items)
        
    *   Recently updated (shortcut filter to show items modified in the last 24h)
        
    *   Created by me (shortcut filter to show only items created by the current user)
        
*   Quick filters are based on the available filters and combinations of filters
    
    *   Text search
        
    *   Assignee
        
    *   Type
        
    *   Parent
        
    *   Priority
        
    *   All (opens the existing filters panel)
        
*   Multiple filters can be applied simultaneously
    
*   Active filters are visually highlighted, showing the user what filters are currently applied.
    
*   A "Clear All Filters" button to reset the board to its default unfiltered state.
    
*   Filter results applied instantly in real time without page reload.
    
*   Items that do not match the active filters are hidden (not just grayed out) to reduce visual noise.
    
*   Column item counts update dynamically to reflect filtered results.
    

## Filter Logic & Behavior

##   

<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><tbody><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-bottom:1.00pt solid #000000;border-left:1.00pt solid #000000;border-right-style:none;border-top:1.00pt solid #000000;padding:0in 0in 0in 0.08in;"><p class="op-uc-p"><strong>Behavior</strong></p></td><td class="op-uc-table--cell" style="border-bottom:1.00pt solid #000000;border-left:1.00pt solid #000000;border-right-style:none;border-top:1.00pt solid #000000;padding:0in 0in 0in 0.08in;"><p class="op-uc-p"><strong>Logic</strong></p></td><td class="op-uc-table--cell" style="border-color:#000000;border-width:1.00pt;padding:0in 0.08in;"><p class="op-uc-p"><strong>Example</strong></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="background-color:transparent;border-bottom:1.00pt solid #000000;border-left:1.00pt solid #000000;border-right-style:none;border-top-style:none;padding:0in 0in 0in 0.08in;"><p class="op-uc-p"><strong>Within same filter (e.g., multiple assignees)</strong></p></td><td class="op-uc-table--cell" style="background-color:transparent;border-bottom:1.00pt solid #000000;border-left:1.00pt solid #000000;border-right-style:none;border-top-style:none;padding:0in 0in 0in 0.08in;"><p class="op-uc-p">OR</p></td><td class="op-uc-table--cell" style="background-color:transparent;border-bottom:1.00pt solid #000000;border-left:1.00pt solid #000000;border-right:1.00pt solid #000000;border-top-style:none;padding:0in 0.08in;"><p class="op-uc-p">Alice OR Bob → shows items assigned to either</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-bottom:1.00pt solid #000000;border-left:1.00pt solid #000000;border-right-style:none;border-top-style:none;padding:0in 0in 0in 0.08in;"><p class="op-uc-p"><strong>Across different filters (e.g., assignee + priority)</strong></p></td><td class="op-uc-table--cell" style="border-bottom:1.00pt solid #000000;border-left:1.00pt solid #000000;border-right-style:none;border-top-style:none;padding:0in 0in 0in 0.08in;"><p class="op-uc-p">AND</p></td><td class="op-uc-table--cell" style="border-bottom:1.00pt solid #000000;border-left:1.00pt solid #000000;border-right:1.00pt solid #000000;border-top-style:none;padding:0in 0.08in;"><p class="op-uc-p">Alice AND High Priority → shows only Alice's high-priority items</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="background-color:transparent;border-bottom:1.00pt solid #000000;border-left:1.00pt solid #000000;border-right-style:none;border-top-style:none;padding:0in 0in 0in 0.08in;"><p class="op-uc-p"><strong>Text search combined with other filters</strong></p></td><td class="op-uc-table--cell" style="background-color:transparent;border-bottom:1.00pt solid #000000;border-left:1.00pt solid #000000;border-right-style:none;border-top-style:none;padding:0in 0in 0in 0.08in;"><p class="op-uc-p">AND</p></td><td class="op-uc-table--cell" style="background-color:transparent;border-bottom:1.00pt solid #000000;border-left:1.00pt solid #000000;border-right:1.00pt solid #000000;border-top-style:none;padding:0in 0.08in;"><p class="op-uc-p">"login" AND Bug → shows bugs with "login" in title/description</p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-bottom:1.00pt solid #000000;border-left:1.00pt solid #000000;border-right-style:none;border-top-style:none;padding:0in 0in 0in 0.08in;"><p class="op-uc-p"><strong>Clear All</strong></p></td><td class="op-uc-table--cell" style="border-bottom:1.00pt solid #000000;border-left:1.00pt solid #000000;border-right-style:none;border-top-style:none;padding:0in 0in 0in 0.08in;"><p class="op-uc-p">RESET</p></td><td class="op-uc-table--cell" style="border-bottom:1.00pt solid #000000;border-left:1.00pt solid #000000;border-right:1.00pt solid #000000;border-top-style:none;padding:0in 0.08in;"><p class="op-uc-p">All filters removed; board shows all items</p></td></tr></tbody></table></figure>

# _embedded.results._embedded.elements[].customField401.html
We offer pre-defined out-of-the-box quick filters

My items (shortcut filter to quickly show only items assigned to the current user)

High priority (shortcut filter to show only high prio items)

Recently updated (shortcut filter to show items modified in the last 24h)

Created by me (shortcut filter to show only items created by the current user)

Quick filters are based on the available filters and combinations of filters

Text search

Assignee

Type

Parent

Priority

All (opens the existing filters panel)

Multiple filters can be applied simultaneously

Active filters are visually highlighted, showing the user what filters are currently applied.

A "Clear All Filters" button to reset the board to its default unfiltered state.

Filter results applied instantly in real time without page reload.

Items that do not match the active filters are hidden (not just grayed out) to reduce visual noise.

Column item counts update dynamically to reflect filtered results.

Filter Logic & Behavior

Behavior

Logic

Example

Within same filter (e.g., multiple assignees)

OR

Alice OR Bob → shows items assigned to either

Across different filters (e.g., assignee + priority)

AND

Alice AND High Priority → shows only Alice's high-priority items

Text search combined with other filters

AND

"login" AND Bug → shows bugs with "login" in title/description

Clear All

RESET

All filters removed; board shows all items

# _embedded.results._embedded.elements[].customField403.raw
During daily stand-ups, sprint reviews, or general board browsing, teams frequently need to focus on a specific subset of work items - for example, only items assigned to a particular team member, only high-priority bugs, or only items of a specific type.

The quick filters feature adds a filter bar or set of filter controls directly above or alongside the Agile board columns. Users can apply one or more quick filters to instantly show or hide work items on the board based on selected criteria. Filters are applied in real time without page reload.

The filtered views can be saved for future use. The saved views are visible on the left hand side in the navigation. A user can define if the saved view is public or private.

# _embedded.results._embedded.elements[].customField403.html
During daily stand-ups, sprint reviews, or general board browsing, teams frequently need to focus on a specific subset of work items - for example, only items assigned to a particular team member, only high-priority bugs, or only items of a specific type.

The quick filters feature adds a filter bar or set of filter controls directly above or alongside the Agile board columns. Users can apply one or more quick filters to instantly show or hide work items on the board based on selected criteria. Filters are applied in real time without page reload.

The filtered views can be saved for future use. The saved views are visible on the left hand side in the navigation. A user can define if the saved view is public or private.

# _embedded.results._embedded.elements[].subject
Highlighting dependencies in boards and backlogs

# _embedded.results._embedded.elements[].description.raw
*   In boards and backlog views, users would like to:
    
    *   Visual indicators that a work package:
        
        *   Has **blockers** (open issues that block it).
            
        *   Is **blocking** other issues.
            
    *   Optionally, the ability to show:
        
        *   The number of blocking dependencies.
            
        *   A small icon or badge summarizing dependency status.
            
*   This would help teams see, for example:
    
    *   “Which stories in this sprint are blocked?”
        
    *   “Which tasks are currently blocking others?”

# _embedded.results._embedded.elements[].description.html
In boards and backlog views, users would like to:

Visual indicators that a work package:

Has blockers (open issues that block it).

Is blocking other issues.

Optionally, the ability to show:

The number of blocking dependencies.

A small icon or badge summarizing dependency status.

This would help teams see, for example:

“Which stories in this sprint are blocked?”

“Which tasks are currently blocking others?”

# _embedded.results._embedded.elements[].customField400.raw
Improvements to:

*   visualization of blockers in the work package table view
    
*   visualization of blockers in the work package view
    

These need to be tackled via a separate work package.

# _embedded.results._embedded.elements[].customField400.html
Improvements to:

visualization of blockers in the work package table view

visualization of blockers in the work package view

These need to be tackled via a separate work package.

# _embedded.results._embedded.elements[]._links.self.title
Highlighting dependencies in boards and backlogs

# _embedded.results._embedded.elements[].description.raw
We are currently using the HTML5 date picker within our "Create Sprint modal". For consistency and features, [it would be better to use  Flatpickr](https://github.com/opf/openproject/pull/21976#discussion_r2849864656) instead. That one has the issue of being rendered _behind_ the modal.

<img class="op-uc-image op-uc-image_inline" src="/api/v3/attachments/919338/content">

Investigate and make it work.

# _embedded.results._embedded.elements[].description.html
We are currently using the HTML5 date picker within our "Create Sprint modal". For consistency and features, it would be better to use  Flatpickr instead. That one has the issue of being rendered behind the modal.

Investigate and make it work.

# _embedded.results._embedded.elements[].subject
Sharing settings for Global Administration

# _embedded.results._embedded.elements[].description.raw
Excerpt from <mention class="mention" data-id="70496" data-type="work_package" data-text="#70496">#70496</mention> :

> _Sprint sharing is only possible if enabled first in the instance administration (only in 17.4)_
> 
> *   _\[open\] This is possibly them most logical location for the "Share with all projects" setting_
>     

Mockups: https://www.figma.com/design/yRewu4Y5nuWCa8aMM3DFw3/Agile--Sprints-and-Backlogs?node-id=1636-62366&p=f&t=Hn7TukVm1qfo1a2T-0

# _embedded.results._embedded.elements[].description.html
Excerpt from AGILE-27 :

Sprint sharing is only possible if enabled first in the instance administration (only in 17.4)

[open] This is possibly them most logical location for the "Share with all projects" setting

Mockups: https://www.figma.com/design/yRewu4Y5nuWCa8aMM3DFw3/Agile--Sprints-and-Backlogs?node-id=1636-62366&p=f&t=Hn7TukVm1qfo1a2T-0

# _embedded.results._embedded.elements[]._links.self.title
Sharing settings for Global Administration

# _embedded.results._embedded.elements[].subject
Event-driven automation tied to board-level actions

# _embedded.results._embedded.elements[].description.raw
DRAFT / To be further specified

*   **Automatic field updates** - When a card moves to a new stage, certain fields (e.g., dates, assignees, priorities) would be updated automatically.
    
*   **Notifications** - Alerts sent to relevant stakeholders when a card changes stage.
    
*   **External system calls** - Integration with outside tools/services (e.g., webhooks, API calls) triggered by the card movement.

# _embedded.results._embedded.elements[].description.html
DRAFT / To be further specified

Automatic field updates - When a card moves to a new stage, certain fields (e.g., dates, assignees, priorities) would be updated automatically.

Notifications - Alerts sent to relevant stakeholders when a card changes stage.

External system calls - Integration with outside tools/services (e.g., webhooks, API calls) triggered by the card movement.

# _embedded.results._embedded.elements[]._links.self.title
Event-driven automation tied to board-level actions

# _embedded.results._embedded.elements[].subject
Spike building new Agile functionality on existing Boards + Primer React

# _embedded.results._embedded.elements[].description.raw
**Goals:**

*   Evaluate how much of the existing Boards codebase we can re-use – with the objective of **shipping user-facing features much faster**: in this case, a rudimentary UI for status mapping (see <mention class="mention" data-id="71104" data-type="work_package" data-text="#71104">#71104</mention> )
    
*   **Continue evaluating Claude** for development tasks, with a particular emphasis
    
    *   on well-tested, production-quality code
        
    *   getting to know the Angular CLI MCP for Angular tasks.
        
*   **Learn Primer React** - and evaluate how it interops with Primer's View Component implementation. Also, how we might be able to "hedge" and take advantage of the React library given PVC's effective. deprecation. _This should feed into discussions at D-Team offsite!_
    
*   Continue evaluating how to make **React and Angular play nicely**. (following on from/or possibly superceding <mention class="mention" data-id="66983" data-type="work_package" data-text="#66983">#66983</mention> )
    

**Constraints**:

*   Spend minimal human dev hours on this until we get stakeholder consensus on future frontend architecture and framework choices.
    
*   Keep a Turbo Boards rewrite on the table.
    
*   Use existing UI components, albeit the React implementations thereof.
    
*   Be good enough to be shippable (eventually) - don't create something completely throw-away (i.e. not "vibe coded") _This may be considered an anti-pattern for spikes, but there are already a couple open GitHub Pull Requests that show React integration that can be considered throw-away._

# _embedded.results._embedded.elements[].description.html
Goals:

Evaluate how much of the existing Boards codebase we can re-use – with the objective of shipping user-facing features much faster: in this case, a rudimentary UI for status mapping (see AGILE-34 )

Continue evaluating Claude for development tasks, with a particular emphasis

on well-tested, production-quality code

getting to know the Angular CLI MCP for Angular tasks.

Learn Primer React - and evaluate how it interops with Primer's View Component implementation. Also, how we might be able to "hedge" and take advantage of the React library given PVC's effective. deprecation. This should feed into discussions at D-Team offsite!

Continue evaluating how to make React and Angular play nicely. (following on from/or possibly superceding DREAM-458 )

Constraints:

Spend minimal human dev hours on this until we get stakeholder consensus on future frontend architecture and framework choices.

Keep a Turbo Boards rewrite on the table.

Use existing UI components, albeit the React implementations thereof.

Be good enough to be shippable (eventually) - don't create something completely throw-away (i.e. not "vibe coded") This may be considered an anti-pattern for spikes, but there are already a couple open GitHub Pull Requests that show React integration that can be considered throw-away.

# _embedded.results._embedded.elements[]._links.customField429[].title
Frontend components and Primer design system

# _embedded.results._embedded.elements[]._links.self.title
Spike building new Agile functionality on existing Boards + Primer React

# _embedded.results._embedded.elements[]._links.ancestors[].title
Status mapping within columns in sprint and kanban boards

# _embedded.results._embedded.elements[]._links.parent.title
Status mapping within columns in sprint and kanban boards

# _embedded.results._embedded.elements[].subject
"Create below" menu item in "Sprint planning" view

# _embedded.results._embedded.elements[].description.raw
**As** an agile user  
**I want to** be able to create new work packages below an item already in a sprint or a backlog bucket  
**so that** I can easily add work packages that were previously forgotten

_Note: This is a continuation of <mention class="mention" data-id="71257" data-type="work_package" data-text="###71257">###71257</mention>_ 

**Acceptance criteria**

*   The menu in the "sprint planning" view for each work package in a sprint or a backlog get the option to "Create new below".
    
    *   Clicking on this, the work package creation modal is opened. After finishing, the newly created work package is placed directly below the work package on which the menu item was pressed 
        

**Permissions and visibility considerations**

*   The menu item is only displayed if users have the `add_work_packages` and `manage_sprint_items` permission

# _embedded.results._embedded.elements[].description.html
As an agile user
I want to be able to create new work packages below an item already in a sprint or a backlog bucket
so that I can easily add work packages that were previously forgotten

Note: This is a continuation of

Acceptance criteria

The menu in the "sprint planning" view for each work package in a sprint or a backlog get the option to "Create new below".

Clicking on this, the work package creation modal is opened. After finishing, the newly created work package is placed directly below the work package on which the menu item was pressed

Permissions and visibility considerations

The menu item is only displayed if users have the add_work_packages and manage_sprint_items permission

# _embedded.results._embedded.elements[]._links.self.title
"Create below" menu item in "Sprint planning" view

# _embedded.results._embedded.elements[].subject
Sprints can be updated on bulk updating work packages

# _embedded.results._embedded.elements[].description.raw
**As** a team member in a scrum project  
**I want to** see and administrate the "Sprint" column on work packages.   
**so that** I can use the full work package capabilities on that field

**Acceptance criteria**

*   Sprints can be changed in the bulk action pages of work packages
    

**Permissions and visibility considerations**

*   The `manage_sprint_items` permission is required

# _embedded.results._embedded.elements[].description.html
As a team member in a scrum project
I want to see and administrate the "Sprint" column on work packages.
so that I can use the full work package capabilities on that field

Acceptance criteria

Sprints can be changed in the bulk action pages of work packages

Permissions and visibility considerations

The manage_sprint_items permission is required

# _embedded.results._embedded.elements[]._links.self.title
Sprints can be updated on bulk updating work packages

# _embedded.results._embedded.elements[].subject
Allow multiple active sprints within a single project

# _embedded.results._embedded.elements[].description.raw
As a user, I want to start multiple sprints simultaneously within a single project, so that parallel workstreams and sub-teams can each operate in their own dedicated sprint without requiring separate projects.

# _embedded.results._embedded.elements[].description.html
As a user, I want to start multiple sprints simultaneously within a single project, so that parallel workstreams and sub-teams can each operate in their own dedicated sprint without requiring separate projects.

# _embedded.results._embedded.elements[].customField400.raw
This epic does not change the sprint planning workflow beyond enabling parallel active sprints.

# _embedded.results._embedded.elements[].customField400.html
This epic does not change the sprint planning workflow beyond enabling parallel active sprints.

# _embedded.results._embedded.elements[].customField401.raw
Main goals:

*   Allow project administrators to define a project as a single-sprint or multi-sprint project.
    
*   Allow users to activate multiple sprints simultaneously within a single project. There is a start button on each available sprint bucket.
    
*   Ensure each work package can be assigned to exactly one sprint, preserving clarity of ownership.
    
*   Update sprint boards to correctly scope data to individual sprints when multiple are active. Each active sprint should have a separate sprint board.
    
*   The sprint board gains a sprint filter to display one or more active sprints simultaneously (multi-select list shows single sprints and gives a possibility to quickly select all sprints as well)
    
*   Burndown and burnup charts are generated per sprint.

# _embedded.results._embedded.elements[].customField401.html
Main goals:

Allow project administrators to define a project as a single-sprint or multi-sprint project.

Allow users to activate multiple sprints simultaneously within a single project. There is a start button on each available sprint bucket.

Ensure each work package can be assigned to exactly one sprint, preserving clarity of ownership.

Update sprint boards to correctly scope data to individual sprints when multiple are active. Each active sprint should have a separate sprint board.

The sprint board gains a sprint filter to display one or more active sprints simultaneously (multi-select list shows single sprints and gives a possibility to quickly select all sprints as well)

Burndown and burnup charts are generated per sprint.

# _embedded.results._embedded.elements[].customField403.raw
Currently, OpenProject supports only a single active sprint per project at any given time. This constraint limits teams that operate multiple workstreams, sub-teams, or parallel delivery tracks within the same project.

Teams that manage multiple workstreams or release tracks within a single project face the following pain points under the current model:

*   Only one sprint can be marked as "active" at a time, forcing teams to merge distinct workstreams into a single sprint or create separate projects as workarounds.
    
*   Creating separate projects for parallel tracks fragments backlog visibility, makes cross-track reporting difficult, and increases administrative overhead.
    
*   Scaled Agile frameworks (SAFe) and multi-team setups require simultaneous sprint execution, which is not supported today.
    
*   Sprint boards, burndown charts, and velocity reports cannot reflect the reality of teams running parallel iterations.

# _embedded.results._embedded.elements[].customField403.html
Currently, OpenProject supports only a single active sprint per project at any given time. This constraint limits teams that operate multiple workstreams, sub-teams, or parallel delivery tracks within the same project.

Teams that manage multiple workstreams or release tracks within a single project face the following pain points under the current model:

Only one sprint can be marked as "active" at a time, forcing teams to merge distinct workstreams into a single sprint or create separate projects as workarounds.

Creating separate projects for parallel tracks fragments backlog visibility, makes cross-track reporting difficult, and increases administrative overhead.

Scaled Agile frameworks (SAFe) and multi-team setups require simultaneous sprint execution, which is not supported today.

Sprint boards, burndown charts, and velocity reports cannot reflect the reality of teams running parallel iterations.

# _embedded.results._embedded.elements[]._links.self.title
Allow multiple active sprints within a single project

# _embedded.results._embedded.elements[].description.raw
When a sprint is created via the sprint creation modal, the `sprint_planning` page flickers: Additionally, the page is loaded twice:

# _embedded.results._embedded.elements[].description.html
When a sprint is created via the sprint creation modal, the sprint_planning page flickers:

Additionally, the page is loaded twice:

# _embedded.results._embedded.elements[].subject
Notification on active sprint when changing sprint sharing option to receive

# _embedded.results._embedded.elements[].description.raw
**As** a project admin  
**I want to** be notified of an active sprint when switching the project's sharing setting to receiving sprints  
**so that** I don't end up with multiple active sprints 

**Acceptance criteria**

*   When a user visits the sprint sharing settings of a project, and the project has an active sprint.
    
    *   **Option A**: Show a simple error message
        
    *   "There is an active sprint. Please close it before changing sprint sharing mode."
        
    *   **Option B**: Show something similar to the "Close sprint" confirmation dialog, with the option to move existing items in the active sprint to the backlog
        
    *   **Decision:** Option B is ideal but Option A is acceptable. 
        

**Permissions and visibility considerations**

*   No changes
    

<br>

# _embedded.results._embedded.elements[].description.html
As a project admin
I want to be notified of an active sprint when switching the project's sharing setting to receiving sprints
so that I don't end up with multiple active sprints

Acceptance criteria

When a user visits the sprint sharing settings of a project, and the project has an active sprint.

Option A: Show a simple error message

"There is an active sprint. Please close it before changing sprint sharing mode."

Option B: Show something similar to the "Close sprint" confirmation dialog, with the option to move existing items in the active sprint to the backlog

Decision: Option B is ideal but Option A is acceptable.

Permissions and visibility considerations

No changes

# _embedded.results._embedded.elements[]._links.self.title
Notification on active sprint when changing sprint sharing option to receive

# _embedded.results._embedded.elements[].subject
Keep the sorting from the sprints view in the sprints board

# _embedded.results._embedded.elements[].description.raw
**As** a \[enter role of user\]  
**I want to** \[enter objective\]  
**so that** \[enter desired result\]

**Acceptance criteria**

*   <br>
    

**Technical notes**

*   <br>
    

**Permissions and visibility considerations**

*   _To whom is this feature visible?_
    
*   _When is it not visible?_
    

**Translation considerations**

*   _Key terms and phrases in the key languages_ 
    

**Out of scope**

*   <br>
    

_Set the_ **To be informed/consulted teams** _field to include all teams necessary to be informed of the changes._

# _embedded.results._embedded.elements[].description.html
As a [enter role of user]
I want to [enter objective]
so that [enter desired result]

Acceptance criteria

Technical notes

Permissions and visibility considerations

To whom is this feature visible?

When is it not visible?

Translation considerations

Key terms and phrases in the key languages

Out of scope

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

# _embedded.results._embedded.elements[]._links.self.title
Keep the sorting from the sprints view in the sprints board

# _embedded.results._embedded.elements[].subject
Complete sprint button in the board view

# _embedded.results._embedded.elements[].description.raw
**As** a \[enter role of user\]  
**I want to** \[enter objective\]  
**so that** \[enter desired result\]

**Acceptance criteria**

*   <br>
    

**Technical notes**

*   <br>
    

**Permissions and visibility considerations**

*   _To whom is this feature visible?_
    
*   _When is it not visible?_
    

**Translation considerations**

*   _Key terms and phrases in the key languages_ 
    

**Out of scope**

*   <br>
    

_Set the_ **To be informed/consulted teams** _field to include all teams necessary to be informed of the changes._

# _embedded.results._embedded.elements[].description.html
As a [enter role of user]
I want to [enter objective]
so that [enter desired result]

Acceptance criteria

Technical notes

Permissions and visibility considerations

To whom is this feature visible?

When is it not visible?

Translation considerations

Key terms and phrases in the key languages

Out of scope

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

# _embedded.results._embedded.elements[]._links.self.title
Complete sprint button in the board view

# _embedded.results._embedded.elements[].subject
Search bar and filters within the backlog and sprints view

# _embedded.results._embedded.elements[]._links.self.title
Search bar and filters within the backlog and sprints view

# _embedded.results._embedded.elements[]._links.children[].title
1st iteration of filters within the backlog

# _embedded.results._embedded.elements[].subject
Add possibility to order backlog buckets and sprints manually

# _embedded.results._embedded.elements[].description.raw
**As** a team member in a scrum team,  
**I want to** be able to sort and order my backlog buckets and sprints bucket manually  
**so that** I see what is most important to me per time.

**Acceptance criteria**

*   I can drag and drop entire backlog buckets within the backlog section in order to define a custom ordering of my backlog buckets
    
    *   The "Inbox" backlog cannot be ordered. It is always at the bottom of the backlog bucket list.
        
*   I can drag and drop entire sprints within the sprint section in order to define a custom ordering of my sprints
    
*   The selected order is the same for all users
    

**Technical notes**

*   <br>
    

**Permissions and visibility considerations**

*   Reordering requires the user to have the `create_sprints` permission

# _embedded.results._embedded.elements[].description.html
As a team member in a scrum team,
I want to be able to sort and order my backlog buckets and sprints bucket manually
so that I see what is most important to me per time.

Acceptance criteria

I can drag and drop entire backlog buckets within the backlog section in order to define a custom ordering of my backlog buckets

The "Inbox" backlog cannot be ordered. It is always at the bottom of the backlog bucket list.

I can drag and drop entire sprints within the sprint section in order to define a custom ordering of my sprints

The selected order is the same for all users

Technical notes

Permissions and visibility considerations

Reordering requires the user to have the create_sprints permission

# _embedded.results._embedded.elements[]._links.self.title
Add possibility to order backlog buckets and sprints manually

# _embedded.results._embedded.elements[].subject
Add multi-select drop-down for sprint and backlog buckets

# _embedded.results._embedded.elements[].description.raw
**As** a team member in a scrum project  
**I want to** be able to select and view small or large sets in my backlog bucket and sprints bucket  
**so that** I can view a specific backlog and sprint at a glance.

<br>

**Acceptance criteria**

*   There are buttons in both the Backlogs and Sprints sections of the page that lets users filter and show only specific backlog buckets or sprints.
    
    *   The two buttons use the standard [**SelectPanel**](https://qa.openproject-edge.com/lookbook/pages/components/select_panel) component.
        
    *   The initial label on the buttons will be &quot;**All backlog buckets**&quot; and &quot;**All sprints**&quot; when no filtering is applied. The label will be grey.
        
    *   The labels will be &quot;**Backlogs (2)**&quot; and &quot;**Sprint (2)**&quot; when active, and in a darker black colour.
        
        *   The &quot;(2)&quot; represents a counter component.
            
*   For backlogs:
    
    *   On click, the user sees all existing buckets (identifiable by names) + backlog inbox. Backlog buckets appear on top. Backlog inbox at the bottom.
        
        *   The buckets within the backlog can be filtered (using the text filter) to only show a specific backlog bucket \[e.g, Low-hanging fruit\] or multiple buckets.
            
*   For sprints:
    
    *   On click, the user sees all sprints (active and in planning) available to the project.
        
    *   The items within the sprints can be filtered to only show a specific sprint bucket \[e.g, Sprint 2-Discovery\] or multiple sprint buckets.
        
*   The user has to click on the Apply button to enable filtering.
    
*   The SelectPanel has a footer implemented at this feature level with two buttons:
    
    *   **Clear** (secondary, clears the selection and goes back to default state, submits the request and closes the panel)
        
    *   **Apply** (primary, submits the request and closes the panel)
        
        *   You do not have to implement the counter in the Apply button, we already have a feature to implement this separately:&nbsp;<mention class="mention" data-id="75516" data-type="work_package" data-text="##DREAM-700" data-display-id="DREAM-700">##DREAM-700</mention>
            

**Technical notes**

*   Selections made in the above selectors are reflected in the URL. Sharing URL url will carry the selected sprints and buckets to the new page load.
    

**Permissions and visibility considerations**

*   _\-_
    

**Translation considerations**

*   _\-_
    

**Out of scope**

*   Storing the selected values in the backend.

# _embedded.results._embedded.elements[].description.html
As a team member in a scrum project
I want to be able to select and view small or large sets in my backlog bucket and sprints bucket
so that I can view a specific backlog and sprint at a glance.

Acceptance criteria

There are buttons in both the Backlogs and Sprints sections of the page that lets users filter and show only specific backlog buckets or sprints.

The two buttons use the standard SelectPanel component.

The initial label on the buttons will be "All backlog buckets" and "All sprints" when no filtering is applied. The label will be grey.

The labels will be "Backlogs (2)" and "Sprint (2)" when active, and in a darker black colour.

The "(2)" represents a counter component.

For backlogs:

On click, the user sees all existing buckets (identifiable by names) + backlog inbox. Backlog buckets appear on top. Backlog inbox at the bottom.

The buckets within the backlog can be filtered (using the text filter) to only show a specific backlog bucket [e.g, Low-hanging fruit] or multiple buckets.

For sprints:

On click, the user sees all sprints (active and in planning) available to the project.

The items within the sprints can be filtered to only show a specific sprint bucket [e.g, Sprint 2-Discovery] or multiple sprint buckets.

The user has to click on the Apply button to enable filtering.

The SelectPanel has a footer implemented at this feature level with two buttons:

Clear (secondary, clears the selection and goes back to default state, submits the request and closes the panel)

Apply (primary, submits the request and closes the panel)

You do not have to implement the counter in the Apply button, we already have a feature to implement this separately:

Technical notes

Selections made in the above selectors are reflected in the URL. Sharing URL url will carry the selected sprints and buckets to the new page load.

Permissions and visibility considerations

-

Translation considerations

-

Out of scope

Storing the selected values in the backend.

# _embedded.results._embedded.elements[]._links.self.title
Add multi-select drop-down for sprint and backlog buckets

# _embedded.results._embedded.elements[].subject
Changing the status of a work package in the sprint board does not update the column

# _embedded.results._embedded.elements[].description.raw
### Steps to reproduce

1.  Go to the active sprint board
    
2.  Open a work package by clicking the "i" icon.
    
3.  Click "Claim" on the ticket, which will assign the ticket for you and sets it to in development.
    
4.  Notice the column the work package is in.
    

### What is the buggy behavior?

*   The work package now should be placed in the "In development" column, but it's still in the "Confirmed" column.
    

### What is the expected behavior?

1.  After closing the details panel, the board should be reloaded.
    

### Screenshots and other files

<img class="op-uc-image op-uc-image_inline" src="/api/v3/attachments/920223/content">

###

# _embedded.results._embedded.elements[].description.html
Steps to reproduce

1. Go to the active sprint board

2. Open a work package by clicking the "i" icon.

3. Click "Claim" on the ticket, which will assign the ticket for you and sets it to in development.

4. Notice the column the work package is in.

What is the buggy behavior?

The work package now should be placed in the "In development" column, but it's still in the "Confirmed" column.

What is the expected behavior?

1. After closing the details panel, the board should be reloaded.

Screenshots and other files

# _embedded.results._embedded.elements[]._links.self.title
Changing the status of a work package in the sprint board does not update the column

# _embedded.results._embedded.elements[].subject
Spike porting Angular boards to React (with Primer React)

# _embedded.results._embedded.elements[].description.raw
**Goals:**

*   Evaluate how much of the existing Boards codebase we can re-use, with the objective of shipping user-facing features faster. For this spike, the concrete target is a narrow but eventually shippable React subset for status mapping (see #71104).
    
*   Continue evaluating Claude and other agents for development tasks, with a particular emphasis on:
    
    *   well-tested, production-quality code
        
    *   getting to know the Figma MCP for code generation
        
*   Learn Primer React, and evaluate how it interoperates with Primer ViewComponents. Also evaluate how we might hedge toward the React library given PVC's effective deprecation. _This should feed into discussions at the D-Team offsite._
    

**Scope for this spike:**

*   Keep the initial shippable subset intentionally narrow: support `free` boards and `action` boards with `attribute == "status"` in the React implementation.
    
*   Keep unsupported board types such as version, assignee, subproject, and subtasks on the existing Angular path for now.
    
*   Focus on proving that the React path can be made safe, testable, and incrementally shippable by reusing existing board semantics for filters, ordering, status transitions, and existing smoke-test coverage.
    
*   Defer broader board-type parity to follow-up work once the support boundary and shared abstractions are in place.
    

**Constraints:**

*   Spend minimal human dev hours on this until we get stakeholder consensus on future frontend architecture and framework choices.
    
*   Keep a Turbo Boards rewrite on the table.
    
*   Use existing UI components, albeit the React implementations thereof.
    
*   Make the spike good enough to be shippable eventually; do not create something completely throw-away.
    

**Non-goals for this spike:**

*   Port all board types to React.
    
*   Resolve the long-term frontend architecture decision for Boards.
    
*   Replace the existing Angular implementation for unsupported board types.

# _embedded.results._embedded.elements[].description.html
Goals:

Evaluate how much of the existing Boards codebase we can re-use, with the objective of shipping user-facing features faster. For this spike, the concrete target is a narrow but eventually shippable React subset for status mapping (see AGILE-34).

Continue evaluating Claude and other agents for development tasks, with a particular emphasis on:

well-tested, production-quality code

getting to know the Figma MCP for code generation

Learn Primer React, and evaluate how it interoperates with Primer ViewComponents. Also evaluate how we might hedge toward the React library given PVC's effective deprecation. This should feed into discussions at the D-Team offsite.

Scope for this spike:

Keep the initial shippable subset intentionally narrow: support free boards and action boards with attribute == "status" in the React implementation.

Keep unsupported board types such as version, assignee, subproject, and subtasks on the existing Angular path for now.

Focus on proving that the React path can be made safe, testable, and incrementally shippable by reusing existing board semantics for filters, ordering, status transitions, and existing smoke-test coverage.

Defer broader board-type parity to follow-up work once the support boundary and shared abstractions are in place.

Constraints:

Spend minimal human dev hours on this until we get stakeholder consensus on future frontend architecture and framework choices.

Keep a Turbo Boards rewrite on the table.

Use existing UI components, albeit the React implementations thereof.

Make the spike good enough to be shippable eventually; do not create something completely throw-away.

Non-goals for this spike:

Port all board types to React.

Resolve the long-term frontend architecture decision for Boards.

Replace the existing Angular implementation for unsupported board types.

# _embedded.results._embedded.elements[]._links.customField429[].title
Frontend components and Primer design system

# _embedded.results._embedded.elements[]._links.self.title
Spike porting Angular boards to React (with Primer React)

# _embedded.results._embedded.elements[]._links.ancestors[].title
Status mapping within columns in sprint and kanban boards

# _embedded.results._embedded.elements[]._links.parent.title
Status mapping within columns in sprint and kanban boards

# _embedded.results._embedded.elements[].subject
Multi-select cards within backlog and sprints

# _embedded.results._embedded.elements[].description.raw
**As** a user doing backlog refinement and sprint planning  
**I want to** select multiple cards  
**so that** I can move all selected cards to a certain sprint in a batch

**Acceptance criteria**

*   **On desktop:** Allow multiple selection of story cards using standard keyboard modifiers:
    
    *   selecting ranges (contiguous selections) can be performed by holding **Shift** and clicking
        
    *   selecting individual items (sparse selections) can be performed by holding **Ctrl** (Windows/Linux) or **Cmd** (macOS) and clicking.
        
*   **On mobile and tablet**: Use long-press to enter selection mode, then subsequent taps toggle selection (to be clarified)
    

**Technical notes**

*   Modifier keys on desktop:
    
    *   `event.ctrlKey` → Windows/Linux multi-select
        
    *   `event.metaKey` → Mac (Command key)
        
    *   `event.shiftKey` → range selection
        

**Permissions and visibility considerations**

*   <br>
    

**Translation considerations**

*   <br>
    

**Out of scope**

*   right click menu that shows an ActionMenu relevant for this multiple-selection
    

<br>

# _embedded.results._embedded.elements[].description.html
As a user doing backlog refinement and sprint planning
I want to select multiple cards
so that I can move all selected cards to a certain sprint in a batch

Acceptance criteria

On desktop: Allow multiple selection of story cards using standard keyboard modifiers:

selecting ranges (contiguous selections) can be performed by holding Shift and clicking

selecting individual items (sparse selections) can be performed by holding Ctrl (Windows/Linux) or Cmd (macOS) and clicking.

On mobile and tablet: Use long-press to enter selection mode, then subsequent taps toggle selection (to be clarified)

Technical notes

Modifier keys on desktop:

event.ctrlKey → Windows/Linux multi-select

event.metaKey → Mac (Command key)

event.shiftKey → range selection

Permissions and visibility considerations

Translation considerations

Out of scope

right click menu that shows an ActionMenu relevant for this multiple-selection

# _embedded.results._embedded.elements[]._links.self.title
Multi-select cards within backlog and sprints

# _embedded.results._embedded.elements[]._links.children[].title
Implement support for optimistic reordering

# _embedded.results._embedded.elements[].subject
"Start sprint" button remains active after browser back button

# _embedded.results._embedded.elements[].description.raw
###   

### Steps to reproduce

1.  Login and go to a project/Backlog
    
2.  Make sure you have an inactive sprint
    
3.  Click on more menu
    
4.  Select Start sprint
    
5.  As you are redirected to the sprint board, click on browser back button
    
6.  On backlogs page, on the same sprint, click on three dots
    

### What is the buggy behavior?

*   Start sprint is again available but clicking on it triggers an error as the sprint was already started
    

### What is the expected behavior?

1.  It should not be possible to start an already active sprint 
    

###   

###   

### Environment information

**Core build**

[7bed6678ea8d2bc9faa321c3e4b0c1495fec1a5e](https://qa.openproject-stage.com/external_redirect?url=https%3A%2F%2Fgithub.com%2Fopf%2Fopenproject%2Fcommit%2F7bed6678ea8d2bc9faa321c3e4b0c1495fec1a5e)

**Product version**

[1066bed7b1b4ed307bfeac4168b48ad668a6c1e6](https://qa.openproject-stage.com/external_redirect?url=https%3A%2F%2Fgithub.com%2Fopf%2Fsaas-openproject%2Fcommit%2F1066bed7b1b4ed307bfeac4168b48ad668a6c1e6)

**Core version**

OpenProject 17.3.0

**OpenProject version**

_If you're not running on the cloud edition, please specify the version of OpenProject you're running. Example: v12.1.5_

**Browser**

*   [x] Chrome
*   [ ] Firefox
*   [ ] Safari
*   [ ] Mobile Safari
*   [ ] Other (please specify)

**Operating System**

*   [ ] Windows
*   [ ] Mac OS X
*   [ ] Mobile iOS
*   [ ] Mobile Android
*   [x] Linux (please specify distro)
*   [ ] Chrome OS
*   [ ] Other (please specify)

# _embedded.results._embedded.elements[].description.html
Steps to reproduce

1. Login and go to a project/Backlog

2. Make sure you have an inactive sprint

3. Click on more menu

4. Select Start sprint

5. As you are redirected to the sprint board, click on browser back button

6. On backlogs page, on the same sprint, click on three dots

What is the buggy behavior?

Start sprint is again available but clicking on it triggers an error as the sprint was already started

What is the expected behavior?

1. It should not be possible to start an already active sprint

Environment information

Core build

7bed6678ea8d2bc9faa321c3e4b0c1495fec1a5e

Product version

1066bed7b1b4ed307bfeac4168b48ad668a6c1e6

Core version

OpenProject 17.3.0

OpenProject version

If you're not running on the cloud edition, please specify the version of OpenProject you're running. Example: v12.1.5

Browser

Chrome

Firefox

Safari

Mobile Safari

Other (please specify)

Operating System

Windows

Mac OS X

Mobile iOS

Mobile Android

Linux (please specify distro)

Chrome OS

Other (please specify)

# _embedded.results._embedded.elements[]._links.self.title
"Start sprint" button remains active after browser back button

# _embedded.results._embedded.elements[].description.raw
**As** a user  
**I want to** be able to select soft dark theme  
**so that** my eyes hurt less than from light or dark theme

**Acceptance criteria**

*   <br>
    

**Technical notes**

*   <br>
    

**Permissions and visibility considerations**

*   _To whom is this feature visible?_
    
*   _When is it not visible?_
    

**Translation considerations**

*   _Key terms and phrases in the key languages_ 
    

**Out of scope**

*   <br>
    

_Set the_ **To be informed/consulted teams** _field to include all teams necessary to be informed of the changes._

# _embedded.results._embedded.elements[].description.html
As a user
I want to be able to select soft dark theme
so that my eyes hurt less than from light or dark theme

Acceptance criteria

Technical notes

Permissions and visibility considerations

To whom is this feature visible?

When is it not visible?

Translation considerations

Key terms and phrases in the key languages

Out of scope

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

# _embedded.results._embedded.elements[].subject
Sprint counter alignment is incorrect when Sprint name truncated

# _embedded.results._embedded.elements[]._links.customField429[].title
Frontend components and Primer design system

# _embedded.results._embedded.elements[]._links.self.title
Sprint counter alignment is incorrect when Sprint name truncated

# _embedded.results._embedded.elements[].subject
Display backlog bucket in work package page

# _embedded.results._embedded.elements[].description.raw
**As** an agile user  
**I want to** see which backlog bucket a work package is in when looking at the work package (split/full view)  
**so that** I can easily understand the work package's priority and change it.

Builds on <mention class="mention" data-id="73081" data-type="work_package" data-text="###73081" data-display-id="73081">###73081</mention> 

**Acceptance criteria**

*   On the work package page (split/full view)
    
    *   The backlog bucket a work package is in is displayed. This is using the usual display mechanism for list values.
        
    *   The backlog bucket a work package is in can be edited. This is using the usual (autocompleter) mechanism.
        
        *   This also works if there is a larger number of backlog buckets (see #74516)
            
*   Backlogs are part of the API v3
    

**Technical notes**

*   <br>
    

**Permissions and visibility considerations**

*   Only users having the 'view\_sprints' permission can see the backlog bucket.
    
*   Only users having the 'manage\_sprint\_items' permission can edit the backlog bucket.
    

**Out of scope**

*   Filtering, sorting and grouping by the column (unless trivial)
    

_Set the_ **To be informed/consulted teams** _field to include all teams necessary to be informed of the changes._

# _embedded.results._embedded.elements[].description.html
As an agile user
I want to see which backlog bucket a work package is in when looking at the work package (split/full view)
so that I can easily understand the work package's priority and change it.

Builds on

Acceptance criteria

On the work package page (split/full view)

The backlog bucket a work package is in is displayed. This is using the usual display mechanism for list values.

The backlog bucket a work package is in can be edited. This is using the usual (autocompleter) mechanism.

This also works if there is a larger number of backlog buckets (see AGILE-223)

Backlogs are part of the API v3

Technical notes

Permissions and visibility considerations

Only users having the 'view_sprints' permission can see the backlog bucket.

Only users having the 'manage_sprint_items' permission can edit the backlog bucket.

Out of scope

Filtering, sorting and grouping by the column (unless trivial)

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

# _embedded.results._embedded.elements[]._links.self.title
Display backlog bucket in work package page

# _embedded.results._embedded.elements[]._links.children[].title
Behavior when attempting to set a Sprint when a Bucket is already there (and vice versa)

# _embedded.results._embedded.elements[]._links.children[].title
Backlog bucket field sometimes vanishes on the WP details page

# _embedded.results._embedded.schemas._embedded.elements[]._attributeGroups[]._embedded.query.name
Embedded table: Bugs and other work packages

# _embedded.results._embedded.schemas._embedded.elements[]._attributeGroups[]._embedded.query._links.self.title
Embedded table: Bugs and other work packages

# _embedded.results._embedded.schemas._embedded.elements[]._attributeGroups[]._links.query.title
Embedded table: Bugs and other work packages

# _embedded.results._embedded.schemas._embedded.elements[]._attributeGroups[]._embedded.query.name
Embedded table: Bugs and other work packages

# _embedded.results._embedded.schemas._embedded.elements[]._attributeGroups[]._embedded.query._links.self.title
Embedded table: Bugs and other work packages

# _embedded.results._embedded.schemas._embedded.elements[]._attributeGroups[]._links.query.title
Embedded table: Bugs and other work packages