-
Notifications
You must be signed in to change notification settings - Fork 12
Fix Secret vs hidden teams #241
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
deboer-tim
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking backward I am not happy that we went from hidden groups to hidden teams to a default scoreboard group 😞, and it seems slightly more annoying for CCSs and CDS to implement. e.g. 'is this team on the scoreboard' is indirect now. That said, I think this is simpler and more consistent with the rest of the spec. 👍🏼
|
I was thinking about this. Right now, to take a team off the scoreboard (hide it), we simply set the "hidden" property on the team. We have done this while contests were in progress. Using the method proposed in this PR, several things have to be done to accomplish this (currently simple) task:
So, for a contest with 100 teams, and we don't want to show 1 of those, we need to send 101 event feed notifications as opposed to 1. (add new group, 99 team updates to add the new group ID to those teams, new contest update, in that order - failure to add them in that order could cause incomplete scoreboards). (I suppose, we could make the 3 event feed notifications: new group, 1 teams update with 99 teams, 1 contest update). Are we sure we want to put this burden on clients? Is there a way to make the process easier? |
|
FWIW we don't need the group to exist in the CMS - e.g. the other CCSs have groups like 'admins' that don't exist in CMS. But yes, this is the worst case scenario and what would be required to fix it live. I guess if you're worried this might happen you could create the group with all teams in advance and only need 1 update to remove the team from this group, but that implies you had some warning or now always have to create a group just in case. The only way I can think to solve this right now is flipping it around so teams are on the scoreboard unless you add them to the not_on_scoreboard_group_id. Only 2 updates in this case, but ugly and basically back to hidden teams. |
Is needing to hide a team during a contest a common task? Why would that happen? |
This happens almost every year at our regional, and I have seen it happen first hand at ACPC back in '22 as well when I was in Sharm (I think you were there too) - they had several "last minute" teams that were in the back room that were either sponsors or --- something else --- and we didn't want to show them on the scoreboard. Inevitably what happens is, some team shows up short-handed and picks up a straggler to fill out the team, but they are not eligible to advance to NAC, so, we remove them from the scoreboard on-the-fly. We have also had last-minute teams comprised of either high school student(s) or graduate students that "just want to participate", so we hide them as well. While it is true that we generally know before the contest starts about these (usually, but not always), it's always very short notice (like an hour before the contest starts) and things are generally quite hectic at that point. My original comment was not to say "let's not do this", it was more to make us aware of the ramifications of actually doing it. |
|
Hiding a team happened a few times this weekend at SEERC: teams didn't show up and people wanted them to not show on the scoreboard, after we already loaded teams. Now, we could delete those teams fully, but personally I think hiding them is a good alternative. |
|
Using groups vs a hidden property is 'cleaner' from an API standpoint, but is there another way to do this? Or between contests where there is a set of sponsors / other teams who wouldn't show on the scoreboard and contests where you get late-removals like this, is it easier to deal with the set of teams that aren't on the scoreboard vs those that are? i.e. would it be easier if it was scoreboard_excluded_group_id? |
|
Ok, this "sudden removal need" seems very strange to me, but I'll definitely buy that it can and does happen. That said, I don't think the process is that bad, it should be handled by the system anyway. Getting a 100 extra messages en the event feed doesn't feel too terrible (and again, this is only because you didn't get the config right to begin with, due to "sudden removal need"). |
I fully agree. Most submissions have more events than that for a single one and it will indeed be automated. |
deboer-tim
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the changes, approved. 👍🏼
Continuation of #240.
Second half of #230
Closes #230.