Open alanggreen opened 7 years ago
Had a (very) lengthy discussion with @kmeesters about how to best do this.
Initially, we went in the direction of using CRUD actions for updating the scores, which would enable multiple people (Scrutineers) to work together from different machines, on the same scores.json
.
We created some pseudo-code to see how that would actually work. Similar to how Idan's ng-Indepedence works, probably. However, we finally concluded that we cannot reliably make this work on a relatively short time-scale, if we want to:
I won't go into the details here right now (Kenny may give it a go later).
We concluded the following:
So, remaining steps:
POST /fs/scores.json
will first call each hook with the POSTed data, and the filename. Each hook will return the new contents (if it modified it). Then, these contents will be saved to disk, and then POST will return "OK" to the client. (#289)Notable things we won't change / are out of scope:
We may need to create individual GitHub issues to discuss the details for some of these.
Contribution guidelines: I think all or most of these points can and should be implemented as separate PRs. It may be that it makes no sense to start some PRs before another one is implemented (e.g. using the hooks requires the mechanism to be present). But in that case, e.g. adding the hooks-mechanism should be a separate PR. All PRs should be branched from master. Any merge conflicts (which should be small) should be addressed as late as possible (i.e. don't do tons of 'merge master into bugfix' commits).
I may have forgotten a few things, I'll update this post as necessary to keep an overview.
cc @idanstark42 @alanggreen @kmeesters @rikkertkoppes @Jheronymus
Relates / adresses #78 #115
I'm updating the comment, above, to track progress, with links to further issues/PRs if needed.
It would be nice if someone could help review open PRs, and/or pick up e.g. #285. If so, please post a note in the respective issue, and/or here.
FYI: #285 is done (in #296).
I think both #285 and this issue can be closed now? (and followed up)
In smaller competitions where there might not be a scorekeeper and where the ref enters the score directly into a tablet, there needs to be an option where pressing Submit on the scoresheet is all that is required for the score to appear on the display. Bypass Check for Scores, Refresh Scores, Publish and Broadcast.