Burndown Charts
Screen Shots
Help box | Milestone in progress |
---|---|
![]() |
![]() |
Tooltips/Animation/Sidebar in action:
Instructions for reviewer:
Seed burndown chart data with the following command:
rake db:seed_fu FILTER=burndown
You should then see a milestone starting with something like "Sprint - lorem ipsum ...". This should contain enough issues with weight to demonstrate the milestone chart. You can adjust the milestone start and due date to see how it would show an in-progress milestone.
To Do (frontend):
- create burndown chart empty state when no start/due date defined
- implement basic chart layout in d3
- add "ideal" line to graph
- add "actual" line using test data sample
- make chart responsive to window resize
- make chart responsive to animated right sidebar open/close toggle
- add header
- add chart legend
- add y-axis label
- update to use database-fed data instead of hard coded test data (once BE component is finished)
- code optimizations
Stretch:
- add tooltips
- add toggle to view issue weight
What are the relevant issue numbers?
Closes #91 (closed)
-
added 284 commits
-
f9fe4593...e34923aa - 272 commits from branch
master
- 101a3b66 - Merge branch '23674-simplify-milestone-summary-ee' into 91-milestone-burndown-charts
- b3d1dd1e - create burndown chart template and js bundle
- 974e2fa7 - implement burndown chart hint message
- 89b80350 - move burndown chart before user action hints
- 6e57e5a9 - implement burndown chart basic outline
- bfe0a623 - correctly handle empty array passed to setData
- ae6ce624 - render burndown chart lines
- 9a877250 - allow burndown chart to resize during animations
- 4a372b5a - defer render call to the next animation frame to avoid layout thrashing
- 9c078713 - fix axis font size in burndown chart
- 85e68eba - add overflow to the x-axis domain
- 6b5fdb52 - create x-axis line in constructor instead of regenerating on each render
Toggle commit list -
f9fe4593...e34923aa - 272 commits from branch
-
added 15 commits
-
6b5fdb52...2d9fbfdc - 4 commits from branch
master
- dfe504ea - create burndown chart template and js bundle
- 43e08f9a - implement burndown chart hint message
- 48cbca5c - move burndown chart before user action hints
- 20247f10 - implement burndown chart basic outline
- 51fd4c93 - correctly handle empty array passed to setData
- 78571b3d - render burndown chart lines
- 25007294 - allow burndown chart to resize during animations
- 54df6a4d - defer render call to the next animation frame to avoid layout thrashing
- 0df65beb - fix axis font size in burndown chart
- c736d11d - add overflow to the x-axis domain
- 42a8387a - create x-axis line in constructor instead of regenerating on each render
Toggle commit list -
6b5fdb52...2d9fbfdc - 4 commits from branch
-
-
added 1 commit
- 5e77568d - ideal line should end at dueDate not maxDate in event that milestone goes overdue
Toggle commit list -
added 1 commit
- cba3a5f7 - add 800ms animation to the line path whenever setData is called
Toggle commit list -
Toggle commit list
-
marked the task add header as completed
Toggle commit list -
marked the task add chart legend as completed
Toggle commit list -
marked the task add y-axis label as completed
Toggle commit list -
Toggle commit list
-
Toggle commit list
-
Toggle commit list
-
marked the task add tooltips as completed
Toggle commit list -
added 239 commits
-
6f13b46d...cf91b76a - 215 commits from branch
master
- 78fd5405 - create burndown chart template and js bundle
- 6e4361c4 - implement burndown chart hint message
- b3a0db53 - move burndown chart before user action hints
- bd08a573 - implement burndown chart basic outline
- c6084c94 - correctly handle empty array passed to setData
- 57e38c36 - render burndown chart lines
- 88ced2e6 - allow burndown chart to resize during animations
- 3940508a - defer render call to the next animation frame to avoid layout thrashing
- 2feaf499 - fix axis font size in burndown chart
- dc8e620c - add overflow to the x-axis domain
- f1363e33 - create x-axis line in constructor instead of regenerating on each render
- c3fd9c7e - add label to the y-axis
- f01c25e0 - ideal line should end at dueDate not maxDate in event that milestone goes overdue
- c7ade5b9 - create burndown chart legend
- 8fbda9f9 - add header to burndown chart and adjust chart size breakpoints
- ee9318d5 - add 800ms animation to the line path whenever setData is called
- 3750a477 - implement first pass at tooltips feature
- 733521b2 - improve tooltip design and placement
- f8057eb9 - hide tooltips during chart animation
- aab01927 - rename resize and animate methods for clarity
- a19c99aa - remove posessives in comment blocks
- 3b6478fd - rename and reorder additional methods for clarity
- d9093464 - update tooltip label through setData options
- 601142f9 - fix phantomjs mishandling of svgs with implicit dimensions
Toggle commit list -
6f13b46d...cf91b76a - 215 commits from branch
-
-
-
-
marked the task update to use database-fed data instead of hard coded test data (once BE component is finished) as completed
Toggle commit list -
marked the task add toggle to view issue weight as completed
Toggle commit list -
resolved all discussions
Toggle commit list -
added 1 commit
- b1164e1a - Show chart only until current date when milestone due date is bigger
Toggle commit list -
Toggle commit list
-
unmarked as a Work In Progress
Toggle commit list -
changed title from WIP Burndown charts (frontend) to Burndown Charts
Toggle commit list -
Toggle commit list
-
-
Master
-
Master
-
Master
@mikegreiling Actually I just noticed the burndown doesn't show up unless you are signed in. And that jitter happens when you aren't signed it because the burndown chart isn't there.
-
Master
I would just check a few things with:
- No data.
- No user logged in.
Might have overlooked a few things.
-
Master
@jschatz1 that bug is actually unrelated to the burndown chart. it's the sidebar logic. @annabeldunstone already merged a fix in CE, but it hasn't made its way to EE yet
-
Master
Here's the MR: gitlab-ce!10262 (merged)
-
-
-
-
Developer
@dbalexandre Can you review backend please?
-
added 100 commits
-
1864d0de...50fd7e13 - 70 commits from branch
master
- 8825a65a - create burndown chart template and js bundle
- 1ea45f81 - implement burndown chart hint message
- 767d9a79 - move burndown chart before user action hints
- 1a230346 - implement burndown chart basic outline
- dab26c55 - correctly handle empty array passed to setData
- e2c39ec9 - render burndown chart lines
- c2257bdf - allow burndown chart to resize during animations
- 12e24118 - defer render call to the next animation frame to avoid layout thrashing
- 36027a8a - fix axis font size in burndown chart
- c44a9d22 - add overflow to the x-axis domain
- 63fa244e - create x-axis line in constructor instead of regenerating on each render
- 40e55bd0 - add label to the y-axis
- 22284ec3 - ideal line should end at dueDate not maxDate in event that milestone goes overdue
- d1190d62 - create burndown chart legend
- 4a17b833 - add header to burndown chart and adjust chart size breakpoints
- 7d76ba45 - add 800ms animation to the line path whenever setData is called
- 21b19c03 - implement first pass at tooltips feature
- 9847f60e - improve tooltip design and placement
- 2e40f0bd - hide tooltips during chart animation
- 090c9405 - rename resize and animate methods for clarity
- 47a6524d - remove posessives in comment blocks
- 5c9778d1 - rename and reorder additional methods for clarity
- 1292fb03 - update tooltip label through setData options
- c88b3a8f - fix phantomjs mishandling of svgs with implicit dimensions
- f446ebc8 - Merge branch 'issue_91' into '91-milestone-burndown-charts'
- c2d6dd32 - remove test_data and rely on data passed from rails
- d36d04f4 - add toggle between issue count and issue weight
- 8595ff79 - Show chart only until current date when milestone due date is bigger
- 5ae8f237 - adjust burndown chart data toggle style
- 0d7671e7 - fix end date not matching due date
Toggle commit list -
1864d0de...50fd7e13 - 70 commits from branch
-
Master
@felipe_artur Note: I just rebased on master to pick up some changes from CE that were in the last CE-to-EE merge. Make sure you reset your local branch if you need to commit anything new.
Hopefully this fixes the spinach test failure. It seems unrelated to our branch.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Master
Thanks @felipe_artur! I left some comments.
-
Developer
Thanks for your help @dbalexandre!!!
@smcgivern Can you review please?
-
Toggle commit list
-
-
Toggle commit list
-
Toggle commit list
-
Toggle commit list
-
-
-
Toggle commit list
-
-
-
-
-
-
-
-
-
-
-
-
-
Master
@felipe_artur @mikegreiling thanks! Just out of interest, I ran this on staging for 8.17, using the
updated_at
column instead ofclosed_at
. Here's what I got🙂 irb(main):103:0> Burndown.new(milestone).chart_data D, [2017-04-04T10:27:21.847368 #42571] DEBUG -- : (1.4ms) SELECT COUNT(*) FROM "issues" WHERE "issues"."deleted_at" IS NULL AND "issues"."milestone_id" = $1 [["milestone_id", 134231]] D, [2017-04-04T10:27:21.848826 #42571] DEBUG -- : (0.9ms) SELECT SUM("issues"."weight") FROM "issues" WHERE "issues"."deleted_at" IS NULL AND "issues"."milestone_id" = $1 [["milestone_id", 134231]] D, [2017-04-04T10:27:21.851861 #42571] DEBUG -- : Issue Load (1.6ms) SELECT updated_at AS closed_at, weight, state FROM "issues" WHERE "issues"."deleted_at" IS NULL AND "issues"."milestone_id" = $1 AND (updated_at IS NOT NULL) ORDER BY "issues"."id" DESC, updated_at ASC [["milestone_id", 134231]] => [["2017-01-22", 165, 7], ["2017-01-23", 160, 7], ["2017-01-24", 152, 7], ["2017-01-25", 146, 7], ["2017-01-26", 139, 7], ["2017-01-27", 133, 7], ["2017-01-28", 133, 7], ["2017-01-29", 130, 7], ["2017-01-30", 125, 7], ["2017-01-31", 121, 7], ["2017-02-01", 117, 7], ["2017-02-02", 108, 7], ["2017-02-03", 98, 7], ["2017-02-04", 97, 7], ["2017-02-05", 97, 7], ["2017-02-06", 90, 7], ["2017-02-07", 73, 3], ["2017-02-08", 40, 2], ["2017-02-09", 28, 2], ["2017-02-10", 17, 1], ["2017-02-11", 15, 1], ["2017-02-12", 15, 1], ["2017-02-13", 15, 1], ["2017-02-14", 15, 1], ["2017-02-15", 15, 1], ["2017-02-16", 15, 1], ["2017-02-17", 15, 1], ["2017-02-18", 15, 1], ["2017-02-19", 15, 1], ["2017-02-20", 15, 1], ["2017-02-21", 15, 1], ["2017-02-22", 15, 1]]
-
-
-
-
Developer
@smcgivern Done. Can you take a look again please?
-
Master
I removed the
Closes #91
reference since we still need docs for this :) -
Master
-
added 1 commit
- ae8ef069 - don't confuse the due date and the last data entry date
Toggle commit list -
-
Master
Looks fixed @mikegreiling
-
added 158 commits
-
38a666e6...2019c376 - 157 commits from branch
master
- 7f577bda - Merge branch 'master' into 91-milestone-burndown-charts
Toggle commit list -
38a666e6...2019c376 - 157 commits from branch
-
-
-
-
Master
@mikegreiling I am good with this minus 1 or 2 comments
-
Master
@axil thank you, that's my mistake. Who is writing the docs for this @felipe_artur @mikegreiling? Can you create an empty follow-up MR so we don't lose track of this?
-
Master
@felipe_artur I've merged the backport MR, one last request!
-
-
Toggle commit list
-
resolved all discussions
Toggle commit list -
Master
@jschatz1 I'm happy with this, can you do the honours and merge please?
-
-
-
canceled the automatic merge
Toggle commit list -
merged
Toggle commit list -
Master
yay
🎉 -
Developer
Thanks to everyone involved, this is an awesome feature!
👏 -