cms-dev / cms

Contest Management System
http://cms-dev.github.io/
GNU Affero General Public License v3.0
892 stars 361 forks source link

Rethink phase management #61

Open lw opened 11 years ago

lw commented 11 years ago

A contest can be in three phases: pre-contest, contest and post-contest. CWS, in addition, defines a user-related actual_phase which takes the contest.per_user_time and user.starting_time into consideration for USACO-like contests. So we have the following "actual" phases:

At the moment all phases except phase 0 are handled almost the same by CWS: the user can't do anything except reading the documentation, view announcements and messages and ask questions (and read answers). On phase -1 there's a small difference: the user can start his/hers per_user_time. On phase 0 the user can do almost anything: read statements, download attachments, send submissions and usertests, use tokens, etc. (but not start his/her per_user_time).

We may want to change this behavior (at least partially). For example we may want to give a user access to his/her submissions even on phases > 0, to allow to see the results of last-minute submissions which may get fully evaluated only after the contest ends (of course we would continue to block new submissions). Also, it could make sense to allow to use tokens even after the contest. We should also decide if we want to implement the analysis mode properly, or if we think it's enough to do as we did at the IOI (extend the contest length and give infinite tokens).

This issue is the right place to discuss all of this.

stefano-maggiolo commented 11 years ago

In an ideal world, SS should filter submissions by timestamp, and we should have a clearly defined analysis mode where all scores (retroactively) are public and there is not such a word as "token". I think this can be done, but not for 1.0.

As for your suggestions to change the behavior:

In all cases, I would suggest having a "banner" (i.e., a bar under the login bar) with clearly written "Contest ended" or "Analysis mode".

giomasce commented 11 years ago

Notice that phase +2 isn't the same as "analysis mode": the contest admins may want to just stop the contest after its finish time and then enable analysis mode later and manually.

giomasce commented 11 years ago

Since this topic depends on how we calculate the timings for users, probably it is better to decide on issue #29 about how we want users to "see" their available time and then come back to this issue.

lw commented 11 years ago

Since we decided to do nothing (in terms of code) for issue #29 for v1.0 I think we can do the same here. I'm postponing this issue.

stefano-maggiolo commented 11 years ago

I agree with postponing. I think the current behavior is ok for 1.0 and we should have a design discussion for a proper improvement of it for 1.x.

lw commented 11 years ago

Just an historical note: also in [1] we wanted to show submissions in phase +2 (and perhaps even in +1... it's not clear).

[1] https://github.com/cms-dev/cms/blob/124a16a164946376527c0d199fdded699505f30d/doc/submission_scoring_time_proposal.txt