On Tue, Aug 12, 2014 at 9:39 AM, Stefano Maggiolo <s.maggiolo@xxxxxxxxx> wrote: > Yes, separating users and contests was a long-standing wanted feature. I > don't think there is much advantage for 2-days contests, where we are more > or less ok with the RWS model. I wanted this for training settings were you > may have many contests and you want to do something for which you need to > connect users in different contests, and that is smarter than what RWS does > (which is just a sum). I feel that we could do much more for these settings > and this goes in the right directions. > > About tasks, I'm not so sure of the advantages, I have the feeling that > your use case is not shared with many people. I'm not even deeply against, > if not for the work required. > I think that it wouldn't require a lot more work compared to the users-contests separation... Sure, it would have been easier to have it in the first place: it's better to foresee possible extensions early on. However, now that you mention training (i.e. in the italian case: "about a week of training, where there will be some selection contests and a *permanent* training contest, which is gradually updated with other contests' tasks") notice that, in such a case, the "permanent" training contest would benefit from the tasks-contests separation, because you would have to simply "tie" these new task to the permanent contest, instead of reimporting it. > I tried looking at your branch but it was kind of difficult to understand > the state, so I have a few questions. > > - For both users and more importantly for tasks, which fields are > dependent on the contest? When I was working on the Italian repo, one > observation was that often it doesn't make a lot of sense to reuse the same > timeouts for old tasks as new hardware and better compiler make the same > program much faster. > For User, these fields would get moved to UserContest: - password - ip - starting_time - delay_time - extra_time And for tasks, these fields would get moved to TaskContest: - num (number of the task for sorting) - "token_mode"-related fields ... - max/min submission/user_test number/interval ... - Are you thinking of porting back your PWS? As I understand it's not under > discussion here (and it would require another discussion). > I don't know if cms-dev will ever accept PWS upstream, but we would love that :). We are trying to keep our fork constantly rebased on cms/master and we designed PWS to be hot-swappable (just like CWS and AWS). It would, however, be quite a heavy addition to CMS: it introduces a forum, private messages, a privilege system where some users are allowed to do things like moderating the forum, (soon) there will be a system to set up tasks (it will just be a GUI to cmsMake which, as a side note, we want to rewrite in a modular fashion in order to have a "core" cmsMake component, a CLI for contest admins and a GUI to be used within PWS [actually it'll be a WUI = Web User Interface]). I'm also planning to migrate all our JavaScript to Dart <https://www.dartlang.org/>, which simplifies component reuse. If I manage to do so, I'd like to migrate also CWS and AWS to Dart (in order to share components between all of them). > - What timeframe do you expect to finish all of these changes? Even though > I didn't tell anybody yet, I'd like CMS to follow a best-effort semestral > release cycle, with heavier stuff going in in the release ending in July, > and milder stuff in January. Do you think that this is "mild" enough and > would be implemented fast enough to get in in January? > We will use PWS as our project for a DB course at school. We have about one month from now to (kind of) complete it. -- William.