Closed jluttine closed 1 year ago
A minor feature request: Add a possibility to make the stages automatic based on date. Each date is a new stage, so the history can be explored based on datetime in leagues where there are no stages otherwise. Not important though. This could be done manually anyway.
Perhaps don't make dependencies recursive. That is, for each stage, define which other stages are taken into account in the ranking calculation but don't recurse. One can choose the grandparents explicitly so it's still possible to have the same outcome. But it doesn't force recursion so it's possible to have arbitrary dependencies, for instance, A -> B
, A & B -> C
but B & C -> D
(not A & B & C -> D
which would follow from recursion).
Stages are now implemented. They can be manually sorted too. Ranking history isn't yet shown though and no automatic stages either.
Add a possibility to designate a match into a stage (e.g., group stage round 1, quarter-final stage, semi-final stage, etc).
For each stage, save the ranking so the ranking history can be explored based on stages. ("What was the ranking after the third round?")
Add dependencies among the stages so that a stage can have "parent" stages which means that the matches from those stages are taken into account as well. This way stages can also be independent of each other. For instance, groups A and B can be independent but the rounds within each group depend on the previous rounds:
Then, a group can have multiple parents so that, for instance, the playoffs can depend on the group stages:
Is it possible to guarantee that it's acyclic in the database? Perhaps add a custom validator.. But still be prepared to handle cycles without hanging indefinitely.
In the ranking page, one can see the latest overall ranking which shows all players and takes into account all matches. But there should be tabs/links for each stage as well so one can see the ranking of a stage.
Whenever a match is edited or added, all the stage ranking and its child stage rankings need to be updated.