•  
     
    story #35104 Milestones below Backlog
Summary
Empty
Milestones below Backlog
Empty

Objective

There should be a quick access to the current Milestones from within the Sidebar. They are displayed below the « Backlog » entry and they are shown by default.

There are at most 2 levels of milestones displayed (eg Release > Sprint). If the project is using 3+ plannings (eg Product > Release > Sprint > Iterations) only the first 2 levels are displayed.

Protections:

  • At project level, it's possible to deactivate the display of milestones below backlog (in Backlog Administration).
  • At site level, it's possible to deactivate the display of milestones globally (flag in case of big issue, either functional or performance related).

Definitions

  • Current & open milestone: Artifact's status semantic is open and the current date is after or equal to the start date of the timeframe semantic of the artifact. The date comparison is done using UNIX timestamps (UTC timezone).
  • start date and end date of the timeframe semantic must be not null nor zero both

The milestones order is the same than the one of GET project/{id}/milestones?fields=all&query={period=current}&limit=10&order=asc route used by "Project Milestones" widget.

Rendering

Mockup: https://www.figma.com/file/LNjPWxdhaaVtecZy4RmzWd/Milestones-below-Backlog?type=design&node-id=0-1&mode=design&t=jgqlwj2gkrLd7jL1-0

At most 5 milestones, the user can view, are displayed. They are displayed hierarchically:

  • Milestone
    • Submilestone

The count of the 5 milestones is done following a tree traversal strategy. Example, given the following open and current milestones & submilestones

  • Milestone A
    • Submilestone A.1
    • Submilestone A.2
    • Submilestone A.3
    • Submilestone A.4
  • Milestone B
    • Submilestone B.1

What will be rendered is

  • Milestone A
    • Submilestone A.1
    • Submilestone A.2
    • Submilestone A.3
    • Submilestone A.4

Only current milestones are rendered, hierarchically. Example, given the following:

  • Milestone A (current & open)
    • Submilestone A.1 (past)
    • Submilestone A.2 (current & closed)
    • Submilestone A.3 (next)
    • Submilestone A.4 (current & open)
  • Milestone B (closed)
    • Submilestone B.1 (current & open)
  • Milestone C (current & open)
    • Submilestones C1 (current & open)

What will be rendered is

  • Milestone A (current & open)
    • Submilestone A.4 (current & open)
  • Milestone C (current & open)
    • Submilestones C1 (current & open)

Limits and exclusions

  • A milestone tracker must have defined the title semantic, the status semantic and the timeframe semantic. If one of those is missing, it's not rendered in sidebar.
  • Permissions apply, only artifact a user can view (artifact permission, field permission, tracker permission) are rendered.

Sidebar component & MediaWiki

MediaWiki will fetch the informations related to the user at login time. It’s acceptable to not fetch again the content of the Sidebar (hence possible new milestones) until the next login. If we ever need to refresh, the strategy should be the same as for the other sidebar refresh : send a logout command for a given instance (as we do when a service is enabled and we need to see it in MW as well).

Todo

Mockups:

  • Backlog administration
Empty
Empty
Status
UX/UI
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?
Empty
Details
#35104
Manuel Vacelet (vaceletm)
2024-01-04 18:12
2023-11-08 16:54
35589

References
Referencing story #35104

Git commit

tuleap/tuleap/stable

feat: subitems in sidebar f186e3a16a
feat: Introduce milestones in sidebar config 489cbb703c
feat: duplicate project configuration 29eb7ac434
feat: Backend provide the 5 last milestones to sidebar 2810f03995
feat: Feature flag should not be hidden 8a3b97e12f
fix: Link of promoted milestone should be backlog planning 507686d451
fix: Order of promoted milestones was not the same than project milestone widget 9afcb0d049
feat: Reverse default config 93934fb6b0
fix: Catch exception when no there is no planning db6fc9c1a3
feat: XML import/export of milestones in sidebar 22f4c49fda
feat: always display config in administration 999e823546
feat: Update milestone in sidebar config 6ef5e84551
feat: Inform admin about needed semantics e85a4d7b45
fix: Fatal error for project dashboards dbff5721d3
feat: Display tooltip for Backlog eabce6e28e
feat: Remove dev mode feature flag 1426791881
fix: larger target click area 871ec94485
feat: Backend retrieve milestones and sub-milestones with one query 7c92784697
fix: Check tracker hierarchy e7c9531f75
fix: Change links of promoted milestones 9415c89e76
fix: wording of tooltip 11a6e50d6a
fix: tooltip icon should be always visible a237baa405
fix: Selected milestone should be marked as active cfeeb05130
fix: Don't get submilestones if user cannot see parent dd98207a06
test: test not testing what it should test d30902555c
test: add missing test 130444dd52
Bump @tuleap/project-sidebar to 2.6.0 19b531dfd1
fix: Milestone should not be displayed if start_date is zero 4eee8e96da
refactor: Use Option instead of nullable 757fe82613
refactor: More precise type test 589343f98f
fix: align version with changelog 00622a95b5
test: Add e2e test on milestones below backlog fa870e94c7

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
  • Status changed from On going to Done
User avatar
Kevin Traini (ktraini)2023-12-21 15:44
  • 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
    -Milestones bellow Backlog 
    +Milestones below 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