DMOJ / online-judge

A modern open-source online judge and contest platform system.
https://dmoj.ca
GNU Affero General Public License v3.0
900 stars 349 forks source link

Contest Scoreboard Freeze #128

Open FatalEagle opened 9 years ago

FatalEagle commented 9 years ago

In case some people decide to rejudge submissions and potentially mess up the scoreboard. This would be preemptive action against such individuals.

This would freeze the rankings of a scoreboard, preventing any future changes (and preventing other participants from seeing live updates, should the freeze be called into effect before the contest ends, just like ACM ICPC). Randomized solutions and rejudging do not mix.

quantum5 commented 9 years ago

Please suggest a method of storage for such scoreboards, and how we would change the page presentation, namely adding more information, changing styling, and such.

The simple solution is storing HTML fragment to a file and just serve it from the file if it exists, but that means chain of backward compatibility for all the style and the page would be locked forever. Worse would be setting up file system sharing and other scary stuff should we ever decide to have another server.

FatalEagle commented 9 years ago

You can store data like Participant - solve A time, solve A score, solve B time, solve B score, etc. Then generate the scoreboard from that information instead of submissions and contest submissions.

quantum5 commented 9 years ago

That prevents further changes to the presentation, namely in the case of deciding to show more information. The other question is where the data goes.

FatalEagle commented 9 years ago

What more information would you show? Number of attempts? I guess in the worst case you could just store all the information available in a submission at the time of freeze.

FatalEagle commented 9 years ago

This isn't a particularly important feature though, as I expect people randomly rejudging other peoples' contest submissions will be a fairly rare occurrence. And we won't be using ACM style scoreboard freezes anytime soon, probably.

Xyene commented 6 years ago

This really should be done, since as it stands we can't ever change even simple things (like how time penalty is scored) without affecting prior contests.

The simple solution of only having a frozen field on submissions is inadequate as it would only be able to prevent rejudging, not scoreboard scoring changes.

Proposed solution:

/cc @quantum5