Skip to content

Commit

Permalink
Move reqs-handling code here and adjust callers
Browse files Browse the repository at this point in the history
Move all the requirements-related code (but not the requirements
themselves, that is, not RTM.xlsx) from the PSM repository to here.
Pull requirements directly from RTM.xlsx (which still lives in the PSM
repository) to build dashboard input.

This is related to SolutionGuidance/psm#799:
we're able to stop storing reqs CSV files in the PSM repository
because the code here can now extract requirements from RTM.xlsx.

WIP: This doesn't quite work yet, and I'm not sure why.  If you visit
burn-down.html, everything looks completed on the pie chart and
everything looks not-started on the feature progress chart.  Also, in
dashboard-input.json, every "status" field is either "Completed" or
"NotStarted" -- literally nothing is "InProgress".  But I don't know
if that's because of the changes in this commit, or because of changes
made to the source spreadsheet (perhaps related to issue #5).  It's
quite possible that the code still builds the dashboard in a totally
equivalent way to how it did before this commit, but that that way
doesn't work any more due to changes in the source data, such that if
we had run the old code to refresh the input JSON file we still would
have gotten a similarly broken burn-down chart.  Investigation needed.
  • Loading branch information
kfogel committed Jun 4, 2018
1 parent 9b9e572 commit e226f00
Show file tree
Hide file tree
Showing 11 changed files with 2,156 additions and 1,429 deletions.
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,6 @@
google-credentials.json
psm-dashboard-config.json
dashboard-input.json
xlsx2csv
RTM.csv
RTM.el
46 changes: 40 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,54 @@

Dashboard code for displaying [PSM](http://projectpsm.org/) project status.

Like the PSM itself, this dashboard is [open source](LICENSE) software.
Like the PSM itself, the PSM Dashboard is [open source](LICENSE)
software. The Dashboard displays PSM development status, showing
which features have been completed, which are in progress, and which
have yet to be started.

Much of this depends on the [PSM requirements](https://github.com/SolutionGuidance/psm/tree/master/requirements]),
so take a look there if you're missing context for things here.
The code here combines information in the [PSM Features - RTM
Map](https://docs.google.com/spreadsheets/d/1avMeCIiayaCcx8fDzldo3KEiRHyM2qjjBuCXWKRwyao/edit?usp=sharing)
spreadsheet, the [PSM
requirements](https://github.com/SolutionGuidance/psm/tree/master/requirements]),
and the [PSM issue
tracker](https://github.com/SolutionGuidance/psm/issues/) to produce
progress charts that show both high-level and detailed views of the
PSM's feature progress.

* `burn-down.html`, `index.html`
Browser entry points to the dashboard.
TBD: It looks like `burn-down.html` is the real entry point
and that `index.html` is obsolete or outdated, but it
would be great to get confirmation or denial of that.

* `burn-down.js`, `dashboard.js`, `features-pie-chart.js`
JavaScript code used by the dashboard pages.

* `refresh-dashboard`
Script to orchestrate everything: gather and combine the
features/RTM mapping, requirements, and issue labels so as to
produce `dashboard-input.json`

* `dashboard-input.json`
The result of one run of `refresh-dashboard`. This is a generated
file and therefore in theory we shouldn't version it here. But in
practice: it's rather expensive to generate, so once we have a new
version we like to keep it until the next time we regenerate.

* `get-inputs`
Script that gathers data from various PSM project sources
(high-level features list, requirements list, issue tracker) and
turns it into JSON which is then used as input to the dashboard
display code.

* `sample-input.json`
Sample input for the dashboard display code (i.e., output from a
single run of `get-inputs`).
* `dashboard-data-sketch.txt`
A description of the output format that `get-inputs` produces.

* `psm-reqs.el`, `psm_reqs.py`, `show-reqs`
Helper code for handling PSM reqs.

* `reqs2any`
Parse PSM reqs from a CSV file and display them in various ways.

* `non-hidden-RTM-rows.org`
An initial export of PSM requirements to Org Mode format (done manually,
Expand Down
Loading

0 comments on commit e226f00

Please sign in to comment.