cms
cms copied to clipboard
Support open participation in contests + hidden contests
This is useful if you have some users already in the database, and you want them to be able to automatically sign up to one or more contests without having to create a participation for them.
This PR depends on #594
UPDATE: I also added a commit which introduces Contest.hidden, a way to hide contests from the list (useful for contests which aren't ready yet, e.g. the "day2" of a 2-day contest, or for special contests which are not meant to be consumed by CWS, as in my use case).
I didn't create another PR because:
- that PR would also need to be based on the multi_cws branch so, when that is merged, I would need to rebase two PRs instead of just one
- it's a quite small change, after all
@cms-dev now that multicontest is in, can we merge also this (tiny :pray:) feature? 😄
Please wait a second on this.
I am planning to make PS support multiple contest soon. (It's the last service that needs to be ported). After that is done there will be at least two scenarios where we'd want to disable contest, and they don't necessarily overlap: the ones we present to contestants in CWS and the ones we present to the public in RWS (and thus PS). (There's also the ones we evaluate, but since datasets can already be disabled this is sort-of already doable).
See also https://github.com/cms-dev/cms/issues/73#issuecomment-12644421
I haven't read this thread, but I believe active datasets cannot be disabled for judging.
Oh yes I think you're right. Well, in that case there's three possibly independent locations where we'd want to disable a contest.
On Wed, Apr 5, 2017, 12:13 Stefano Maggiolo [email protected] wrote:
I haven't read this thread, but I believe active datasets cannot be disabled for judging.
— You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/cms-dev/cms/pull/646#issuecomment-291913559, or mute the thread https://github.com/notifications/unsubscribe-auth/AAHX6lpyucPYzJQW6MzJ1c7ktVdvez48ks5rs724gaJpZM4JrYL6 .
What if I remove the third commit and leave just the "open participation" stuff?
I just realized that maybe the open_participation thing should be improved.
Right now, when enabled, this feature will:
- silently create a participation for users
- create it even if the contest has ended
For point 1, I think it's best to inform the user with an intermediate step, a page that says: "You are registering for this contests, do you want to proceed?", maybe with a textarea explaining the contest rules (we could add a nullable Contest.rules
text field in the database model) like it's done on Codeforces.
For point 2, I don't have a strong opinion, but maybe it's better to avoid registering users when it's "too late". We could use the "intermediate step" page to inform the user that they can't register.
Are there any updates regarding this PR? I would enjoy to help if needed :)
FWIW, an "update" on this is that we're about to merge #1067.
That PR will make the "open participation contests" pretty much unnecessary, since now you can just enable "allow_registration" for the contests that you want to open up to the public and that will let people create new accounts (thus circumventing the original problem).
The only problem is that the same user might need to create multiple accounts (necessarily with different usernames) if they want to participate in multiple contests.