Content
View differences
Updated by Marc Alcobé over 3 years ago
### User Story
**As** an OpenProject user
**I want** to be able to see, in the list and the Gantt chart views, an overview of changes that have been made compared to a specific date in the past
**so that** I better understand the status and progress of my project.
### Extend the data model and the API to save and query historic values of work packages
* Extend the data model
* Extend the API
* It is possible to filter on historic values, e.g.
* All work packages that have been in status "scheduled" on 2022-01-01
* All work packages that were assigned to version 12.1 and all work packages that have been added or removed since a specific date.
`Note: The largest uncertainty when planning and estimating this feature comes from the performance requirements. We need to ensure that this feature also works for large organizations that have large data sets with a high number of concurrent requests.`
## Extend work package filters to request historic values from the API
* Extend the view to allow users to query a date (in the past)
* A specific date and hour:
* **\[open\]** What granurality, reconfirm with devs.
* We might have to directly display a date/hour picker as a modal.
* ~~B: A relative date, e.g:~~
* ~~24 hours~~
* ~~1 week~~
* ~~1 month~~
* Rebuild work package queries to allow requesting a list of relevant work packages, including the changes.
<figure class="image op-uc-figure"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/27111/content"></div></figure>
## Extend the work packages list view to display changes
* Changes to the following work package core attributes are highlighted in a diff view.
* Status
* Assignee
* Accountable
* Project
* Start date
* Finish date
* Type
* Priority
* Subject
* Version
* Work packages that were added or removed within the specified time period, ie, between the comparison date and today, are highlighted (e.g. deliverables that were added to the project scope or features that were removed from a release).
* List the number of attributes that have been changed in that time period. This number also includes changes to the work package description, the details of which which are not shown in the list view.
<figure class="image op-uc-figure"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/31714/content"></div></figure>
## Extend the Gantt view to display the changes
* Start and/or finish date was moved to the past.
* Start and/or finish date was moved to the future.
* Start and/or finish date was added
* Start and/or finish date was removed.
<figure class="image op-uc-figure" style="width:75%;"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/27113/content"></div></figure>
## Note
* Better display currently selected comparison date.
* Show the date also in the button? (Baseline: _24 hours_)
* Enabling baseline will never "filter" work packages out; on the contrary, it can show new ones (that met the current filter criteria in the past).
* _**\[to be discussed\]** **\[open\]** Baseline takes into account filter criteria, and then shows differences in the context of those filters:_ filters:
* _"Additions" "Additions" == work packages that did not meet the criteria in the baseline past but now do_ do
* _"Removals" "Removals" == work packages that now do not meet the filter criteria but did in the past_
* **NOTE: This behaviour doesn't make sense as this is what is exactly what the baseline does by itself; showing what was in the past meeting the filter criteria and now don't and the other way around while addition and removal of work packages are the complete work package creation or deletion.**
* _**\[to be discussed\]** **\[open\]** Show only work packages that are additions or removals (based on my criteria)._ criteria).
* _"New "New bugs newly added to the version within the last week"_ week"
* _Baseline, Baseline, version added as a filter._ filter.
* _Option: Option: only show additions, or removals._
* **NOTE: Again, this behaviour doesn't make sense as this is what is exactly what the baseline does by itself.** removals.
* And filtering a view with baseline enabled will show work packages that meet the criteria in the present _and_ in the past.
* **\[open\]** Changing the value of the present might "hide" the intermediate value (so that it now shows the past and the _new_ present).
* Need to review choice of colours: why red, green, orange?
* We might potentially need new icons: new, changed and removed.
* **\[open\]** Currently, it's possible to highlight rows based on attributes:
* What do we do? Remove this feature or make it a choice between Baseline highlighting and this.
* Add:
* Subject has been changed:
* ~~"Buy beer"~~
* "Buy coffee"
* Can we track _all_ attributes (including custom fields), or do we need a limited set of attributes?
* **\[open\]** Ideally, all work package attributes are tracked.
* ~~If not, how do we indicate in a list view that something has changed? (Or if it's not tracked, how do we let the user know that this is not tracked)~~
## Visuals
* Work package list view:
* Before baseline
* Set up baseline (modal)
* Illustrate status changes: eg. merged, tests (QA tester, show progress)
* Illustrate: date changes (what was delayed?)
* After baseline (showing different kinds of changes)
* GANTT View
## Out of scope for this epic
* Filter for only things that have been added/removed (red or green rows).
* Cannot filter to show only things that have been moved from status A to status B.
* Track changes of relations between work packages.
* Work packages that are deleted will not be included in the results even for times when they still existed.
* Board view and team planner views.
## Figma link
https://www.figma.com/file/RkQ2T9f5yrXH3srz8SP8vv/?node-id=0%3A1
**As** an OpenProject user
**I want** to be able to see, in the list and the Gantt chart views, an overview of changes that have been made compared to a specific date in the past
**so that** I better understand the status and progress of my project.
### Extend the data model and the API to save and query historic values of work packages
* Extend the data model
* Extend the API
* It is possible to filter on historic values, e.g.
* All work packages that have been in status "scheduled" on 2022-01-01
* All work packages that were assigned to version 12.1 and all work packages that have been added or removed since a specific date.
`Note: The largest uncertainty when planning and estimating this feature comes from the performance requirements. We need to ensure that this feature also works for large organizations that have large data sets with a high number of concurrent requests.`
## Extend work package filters to request historic values from the API
* Extend the view to allow users to query a date (in the past)
* A specific date and hour:
* **\[open\]** What granurality, reconfirm with devs.
* We might have to directly display a date/hour picker as a modal.
* ~~B: A relative date, e.g:~~
* ~~24 hours~~
* ~~1 week~~
* ~~1 month~~
* Rebuild work package queries to allow requesting a list of relevant work packages, including the changes.
<figure class="image op-uc-figure"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/27111/content"></div></figure>
## Extend the work packages list view to display changes
* Changes to the following work package core attributes are highlighted in a diff view.
* Status
* Assignee
* Accountable
* Project
* Start date
* Finish date
* Type
* Priority
* Subject
* Version
* Work packages that were added or removed within the specified time period, ie, between the comparison date and today, are highlighted (e.g. deliverables that were added to the project scope or features that were removed from a release).
* List the number of attributes that have been changed in that time period. This number also includes changes to the work package description, the details of which which are not shown in the list view.
<figure class="image op-uc-figure"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/31714/content"></div></figure>
## Extend the Gantt view to display the changes
* Start and/or finish date was moved to the past.
* Start and/or finish date was moved to the future.
* Start and/or finish date was added
* Start and/or finish date was removed.
<figure class="image op-uc-figure" style="width:75%;"><div class="op-uc-figure--content"><img class="op-uc-image" src="/api/v3/attachments/27113/content"></div></figure>
## Note
* Better display currently selected comparison date.
* Show the date also in the button? (Baseline: _24 hours_)
* Enabling baseline will never "filter" work packages out; on the contrary, it can show new ones (that met the current filter criteria in the past).
* _**\[to be discussed\]**
* _"Additions"
* _"Removals"
* **NOTE: This behaviour doesn't make sense as this is what is exactly what the baseline does by itself; showing what was in the past meeting the filter criteria and now don't and the other way around while addition and removal of work packages are the complete work package creation or deletion.**
* _**\[to be discussed\]**
* _"New
* _Baseline,
* _Option:
* **NOTE: Again, this behaviour doesn't make sense as this is what is exactly what the baseline does by itself.**
* And filtering a view with baseline enabled will show work packages that meet the criteria in the present _and_ in the past.
* **\[open\]** Changing the value of the present might "hide" the intermediate value (so that it now shows the past and the _new_ present).
* Need to review choice of colours: why red, green, orange?
* We might potentially need new icons: new, changed and removed.
* **\[open\]** Currently, it's possible to highlight rows based on attributes:
* What do we do? Remove this feature or make it a choice between Baseline highlighting and this.
* Add:
* Subject has been changed:
* ~~"Buy beer"~~
* "Buy coffee"
* Can we track _all_ attributes (including custom fields), or do we need a limited set of attributes?
* **\[open\]** Ideally, all work package attributes are tracked.
* ~~If not, how do we indicate in a list view that something has changed? (Or if it's not tracked, how do we let the user know that this is not tracked)~~
## Visuals
* Work package list view:
* Before baseline
* Set up baseline (modal)
* Illustrate status changes: eg. merged, tests (QA tester, show progress)
* Illustrate: date changes (what was delayed?)
* After baseline (showing different kinds of changes)
* GANTT View
## Out of scope for this epic
* Filter for only things that have been added/removed (red or green rows).
* Track changes of relations between work packages.
* Work packages that are deleted will not be included in the results even for times when they still existed.
* Board view and team planner views.
## Figma link
https://www.figma.com/file/RkQ2T9f5yrXH3srz8SP8vv/?node-id=0%3A1