cms icon indicating copy to clipboard operation
cms copied to clipboard

Support open participation in contests + hidden contests

Open wil93 opened this issue 8 years ago • 8 comments

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:

  1. 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
  2. it's a quite small change, after all

This change is Reviewable

wil93 avatar Aug 23 '16 20:08 wil93

@cms-dev now that multicontest is in, can we merge also this (tiny :pray:) feature? 😄

wil93 avatar Apr 05 '17 13:04 wil93

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

lw avatar Apr 05 '17 15:04 lw

I haven't read this thread, but I believe active datasets cannot be disabled for judging.

stefano-maggiolo avatar Apr 05 '17 16:04 stefano-maggiolo

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 .

lw avatar Apr 05 '17 16:04 lw

What if I remove the third commit and leave just the "open participation" stuff?

wil93 avatar Apr 06 '17 00:04 wil93

I just realized that maybe the open_participation thing should be improved.

Right now, when enabled, this feature will:

  1. silently create a participation for users
  2. 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.

wil93 avatar Apr 10 '17 10:04 wil93

Are there any updates regarding this PR? I would enjoy to help if needed :)

totorigolo avatar Jul 21 '18 18:07 totorigolo

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.

wil93 avatar Dec 11 '18 15:12 wil93