Closed pjsier closed 6 years ago
@pjsier:
Well, let's think about this: if it were truly the case that Status could be derived from Start-Date and End-Date, then the Status field would be redundant and we wouldn't have it in the spreadsheet. The Status field is our chance to, e.g., manually designate something as having actually started on time (that is, when its start date said it would start) by changing "Not Started" to "In Progress", or similarly to mark something as having actually been completed.
So as long as our spreadsheet has a Status field, the pie chart should reflect that field.
Now, we could later take dates into account to determine if something is late (e.g., Start-Date is in the past, but the item still has "Not Started" in Status, or End-Date is in the past but item doesn't have "Completed" in Status). But let's not worry about that innovation for now.
I think the script should do the thinking, and put as much information as it can into features-info.json
; we don't want business logic happening in our presentation layer. For example, later on we might add the "Late" status as a possible Status value in features-info.json
even though it's not a valid status in the spreadsheet. That's something we'd want the script to do, because after all there's no guarantee that the D3 code will be the only consumer of features-info.json
.
I suspect that the fact that all statuses currently seem to show as "Not Started" (mentioned yesterday in Zulip chat) is basically the same as this issue and/or as issue #6. @pjsier's PR #28 is a bit out-of-date now because of some recent changes, but hopefully those conflicts will be easy to resolve.
More discussion (very relevant to this issue) is here in Zulip chat.
This issue about feature status is resolved by PR #28 and by PR #34 (which is just updating #28).
The "all statuses currently show 'Not Started'" in the features popups is a separate issue, since it is about requirement status. As described here on zulip, requirement status is currently unimplemented, and the "Not Started" statuses we are seeing are just placeholders.
I've pushed this commit which removes the requirements status column from the feature overlay until we determine how to handle it.
Further conversation in chat, with some concrete implementation ideas.
Currently, when you run the
refresh-dashboard
script, all issues in the pie chart are set to "Complete" because thestatus
field sets all issues with a non-null start and end date to complete.Either we could update the script to set the
status
of features based on the current date, or we could set it dynamically in D3 based off of those dates.