•  
     
    story #10143 add/remove backlog items in planning view
Summary
product owner
add/remove backlog items in planning view
Empty

This story initialize the work on explicit backlog management. It focus on top backlog and under the hood work to put things in place.

Details

Enable the explicit backlog management

  • Agile Dashboard admin is converted to burning parrot (finish @bdauton contrib, the blocking point for bot mattermost can be simplified to text field)
  • In the section "Scrum", there is a switch that allows admin to opt-in explicit backlog management. At this stage:
    • the switch is one way only (it's not possible to switch back to implicit backlog management)
    • the backlog is created empty (even if there are stories/epics/activities that where "there" in the backlog, they are not automatically added to top backlog)
    • those 2 items might be re-considered in a later story if useful.

The explicit backlog management is handled in backend with a table "project_id|artifact_id". The option to implement that as a new field was evaluated. Once sobber again, it was decided to make it simple.

Use explicit backlog management in planning view

  • When an item is added to the backlog, the explicit link is created
    • Update PATCH /projects/:id/backlog implementation for "add" action
  • Items are listed in the backlog part of the view
    • Update GET /projects/:id/backlog implementation (this is the major part of the change in term of implementation)
  • In the card actions, there is a new entry "Remove from backlog"
    • Update PATCH /projects/:id/backlog to add a "remove" action
  • When a card is moved from backlog to milestone, the "top backlog link" is removed
    • From an implementation stand point this must be managed at Artifact Link creation level. When a backlog item is added to a Milestone, it is removed from "top backlog" table.
  • When a card is moved from milestone back to backlog, the "top backlog link" is (re) created

The assocation project_id,artifact_id is removed when an artifact is moved into a milestone. Another way to see it is that there is "global belonging to scrum realm" information stored in the database. From an implemenation point of view, to know if an artifact "belongs to scrum realm" we would need to check if it belongs to top backlog or a milestone.

Permissions

There is a change in permissions that applies for creation of backlog items. Until now, the ability to create artifact in the corresponding tracker was taken into account.

With this story, the ability to create (and remove) backlog items is inherited from the (already existing) right to prioritize elements in a planning.

Note: from a user of planning view PoV, nothing change as it was already impossible for someone who was not authorized to rank top backlog to create element. However until now it was possible to workaround that by creating the element directly in the corresponding tracker.

Change of data model

  • Planning/Hierarchy

    • When a tracker is removed from Backlog Item hierarchy or when it's removed from the "Backlog" part of a planning, the "top backlog" flag is cleared in database.

  • Copy/Move artifact

    • The new artifact is not linked to top backlog
  • Delete artifact
    • The link is removed
Empty
Laurent CHARLES (lcharles)
Status
Empty
Done
Development
  • [ ] Does it involves User Interface? 
  • [ ] Are there any mockups?
  • [ ] Are permissions checked?
  • [ ] Does it need Javascript development?
  • [ ] Does it need a forge upgrade bucket?
  • [ ] Does it need to execute things in system events?
  • [ ] Does it impact project creation (templates)?
  • [ ] Is it exploratory?
  • 1 new REST route to remove element from top backlog
  • 1 new entry in "backlog item" menu to remove from top backlog
  • In XML import, in <agiledashboard> add list of top backlog item list
Details
#10143
Manuel Vacelet (vaceletm)
2019-11-08 08:45
2017-04-13 11:15
15008

References
Referencing story #10143

Git commit

tuleap/tuleap/stable

Add explicit backlog option in database 30b79d7eea
Extract PATCH projects/id/backlog behaviour in a dedicated unit tested file 7b77c90c27
GET V1 /projects/:id/backlog returns an empty collection in explicit mode 2a0c92acc9
Update PATCH /projects/:id/backlog implementation for "add" action 20634ea580
GET v1 /projects/:id/backlog returns explicit backlog da1940b15e
Deleted artifact is removed from backlog 5ac2e74612
Clean explicit backlog entires at project deletion ef07c00623
Add new GET explicit backlog tests e3edcccee9
route GET project/:id/backlog should returns item sorted by rank e8219bffcf
When a card is moved from top backlog to milestone, the "top backlog link" is removed 3fcb358c50
When the top level planning is removed, all the backlog elements for this project are cleared in database. b57838ccd7
When a card is moved from milestone back to top backlog, the "top backlog link" is (re) created 1c6826d5a8
When the tracker is removed from the "Backlog" part of a planning, the "top backlog" flag is cleared in database. 09c7d35434
Add a modal to confirm deletion of top level planning 5ee3302ccf
Migrate AgileDashboard_Milestone_ Backlog_BacklogItemCollectionFactoryTest to PHPUnit 1671cf6424
Update PATCH /projects/:id/backlog to add a "remove" action 01a5c6c365
Add Restler resource validation for PATCH projects/:id/backlog d5faff1645
Extract update from planning controller into a dedicated class 4df2879a6e
Extract PATCH milestone/{id}/content action in a dedicated unit tested object c8a5c53cca
Check that provided artifacts can be added into REST body content 7f2653b9bc
Move all distinct modules in app d2e84ba09c
In the card actions, there is a new entry "Remove from backlog" 99def9a66b
Add switch to explicit backlog into AD admin UI 9fcbf4f18c
Update icons and labels in Artifact actions dropdown 6ac123a777
Refactoring: event for additional button is thrown at tracker_artifact level e0030e7306
Add/remove artifact to top backlog through the artifact UI 2d0387a0f1
Add feedbacks for add/remove action in artifact view 99fc7fcd89
request #14118: Project banner can not be closed/re-opened on FlamingParrot pages with IE11 29e9b51331
Add tests covering the artifact additional action to remove/add an element in the top backlog 5391885df0
Use TLP dependencies graph icon in Artifact actions dropdown instead of SVG 0ff68ecd7c

Follow-ups

User avatar
  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
User avatar
  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
User avatar
  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
User avatar
  • I want to
    -add backlog items to top backlog 
    +add/remove backlog items in planning view 
  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
User avatar

The original content of the story moved as a epic #13997. This story is re-purposed with narrower scope.


  • I want to
    -manage backlog explicitely 
    +add backlog items to top backlog 
  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
  • CC list set to Laurent CHARLES (lcharles)
User avatar
  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
User avatar
  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
User avatar
  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
  • Technical informations
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
User avatar

Good point, I added it to the story.


  • Acceptance criteria
    Something went wrong, the follow up content couldn't be loaded
    Only formatting have been changed, you should switch to markup to see the changes
  • Permissions set to
User avatar
There must also be an ability to remove an artifact from the top level backlog. This may be needed when an item is no longer valid and does not need to be planned.