Привет, Codeforces!
Сегодня я хочу рассказать о новой функциональности Codeforces — о группах. Теперь вы можете создавать группы, приглашать в них пользователей, добавлять в группы соревнования и участвовать в них все вместе.
Как создать группу
Чтобы создать группу необходимо иметь рейтинг участника Div. 1. Если у вас есть возможность создать группу, то на странице Группы у вас будет соответствующая ссылка.
При создании группы кроме названия можно указать:
- описание — может содержать простой HTML,
- логотип — будет сиять на каждый странице вашей группы,
- ссылку на внешний веб-сайт группы.
Видимость группы
Бывают открытые и закрытые группы. Открытые группы видны всем, а закрытые — только членам группы. Однако, на закрытую группу можно увидеть по секретному URL вида codeforces.ru/group/{groupCode}
, где groupCode
— это случайная последовательность из латинских букв и цифр. Например, этот URL можно распространять среди заинтересованных во вступлении в группу.
Открытые группы могут создавать только участники с тренерскими правами. Не следует создавать открытые группы тестового характера, неинтересные широкому кругу участников, не содержащие качественного контеста. Все открытые группы должны иметь адекватное название, описание и прочую информацию. Открытые группы будут модерироваться.
Политика регистрации
Их всего три: открытая регистрация, модерируемая регистрация, регистрация по приглашениям.
- При открытой регистрации любой человек сможет вступить в группу.
- При модерируемой регистрации любой человек сможет оставить заявление на вступление в группу, но не станет полноценным членом, пока его заявку не подтвердят менеджеры группы.
- При регистрации по приглашениям единственным способом вступить в группу является получение приглашения от менеджера и его подтверждение участником.
Роли в группе
У каждого члена группы есть роль — это либо обычный участник, либо менеджер. Создатель группы является менеджером. Только менеджеры могут приглашать других пользователей в группу, подтверждать заявки пользователей на вступление, менять роли других членов группы и, что самое главное — добавлять в группу соревнования.
Соревнования в группе
Чтобы добавить соревнование в группу, необходимо нажать на соответствующую ссылку на основной странице группы и в появившемся поле ввести идентификатор или название соревнования. Автодополнение подскажет вам какие соревнования, соответствующие запросу, есть на Codeforces. Поиск осуществляется как по русским, так и по английским названиям соревнований.
После добавления, соревнование будет отображаться на основной странице группы. При написании соревнования через группу, можно будет просматривать таблицу результатов, составленную только из членов группы.
О правах на соревнования
Внимание! Если вы добавите приватную тренировку в группу, она станет доступна всем членам группы. Таким образом, можно проводить закрытые соревнования через группы. Если создать закрытую группу и в неё добавить приватную тренировку, то она будет видна только членам и автору тренировки и больше никому. Естественно, вы можете добавлять соревнование в группу, если оно либо публичное, либо у вас есть на него права менеджера. Т.е. добавить чужую приватную тренировку у вас не получится.
Пример
В качестве примера мы создали открытую группу, в которой собрали все тренировки Codeforces Trainings Season 01, которые проходят по средам в 16:10 (MSK).
То ли ещё будет
Конечно, функциональность групп будет постоянно расширяться. Предлагайте в комментариях идеи, рассмотрим!
Иван Фефер,
разработчик Codeforces
I think this can be a really awesome feature added to the groups if there is a provision to create contests with your own choice of problems. That is, I will be able to create a contest that only the members of the groups can participate in, and I can select problems from the problemset on codeforces. This should create a contest like environment where all the members are in a room and the points system can be similar to the codeforces round. Hacking provision can be added if possible. This will be really helpful when a group of people want to practice some particular topic. Example: If I along with some friends want to practice DP, I will make a contest, set the time and duration, search and add 4-5 problems on DP that none of us has done before and then we can compete like a normal codeforces round.
Really good idea.
А будут ли доступны для дорешивания задачи с приватных соревнований/тренировок?
It will be awesome if it support to use problems from different rounds to make a new contest.
Считается ли целевым использованием функционала создать группу только чтобы ее участникам было проще друг друга найти? И правда ли, что ее надо сделать приватной в таком случае?
Давай попробуем начать с приватной группы. Если будут неудобства — будем смотреть.
This would be better if we could add contest from Polygon too.I mean , our own contests and problems.
I think it's a very good idea, but it may needs a stronger judge machine and some more strict rules (may be only grandmasters can add their own contests ...)
Red and yellow users can add own contests to gym. And then add it contests to group.
а может на личную страницу наряду с соревнования, попытки, переписка, команды и т.д. добавить вкладку "мои группы"? ну чтобы знать в каких группах ты состоишь?
Это уже есть. Кроме того, группы можно отмечать "звездочками", добавляя в избранное.
I was thinking about this recently, since I got coach mode in Gym. I thought "it'd be good to be able to organize small contests here, but without spamming the site".
Допустим я пишу какой-то контест из группы А и тот же контест добавлен в группу Б, в которой я состою. Есть ли возможность просмотреть результаты по обеим группам?
Для этого вы должны зайти в контест через интерфейс группы Б.
Thank you very much for such great feature I wonder if I can delete group after creating it ? Because I want to create a group for testing the new feature and I don't want to stuck with the group forever I also wonder if the name , description and logo of group can be changed or not?
Edit: can I create my own contests and problems or only I can choose from gym?
Is it okay to create university public groups(with >100 members) like there is one as for Cambridge?
Sure
As a green coder, if I present a good case, can I be allowed to create a group?
Большое спасибо за группы!
Почему создателя группы не показывают в результатах? Можно ли как-то это изменить?
Создатель считается менеджером, а не рядовым участникам. Любые менеджеры не отображаются в результатах. Вероятно, это не совсем правильное решение, и мы обязательно доработаем данный момент.
Сразу бросается в глаза отсутствие группового чата/блога, наподобие того, как это сделано в социальных сетях. А так получается, что группы — всего лишь средство для проведения приватных контестов.
Хотя сама по себе возможность проводить приватные контесты полезна без всяких разговоров. Но для этого группы совершенно не нужны.
Нужны. Кажется, что сервисов по самостоятельному проведения контестов (разной степени открытости) толком нет. Но блоги тоже на очереди.
Я имел в виду то, что для самостоятельного проведения приватных контестов (и только этого) можно было бы просто именно это и реализовать: тренировки с приватными доступом и регистрацией, без всяких групп.
Функционал групп будет расширяться. Однако, так как часть, относящаяся именно к контестам была довольно готова, было решено её опубликовать.
Полагаю, в robots.txt должен быть Disallow на /group, если приватные группы по урлам доступны.
Да
Не совсем понимаю, для какой цели в URL групп присутствуют буквы разного регистра, если URL являются case-insensitive. Можете, пожалуйста, прояснить?
Потому что функция randomAlphanumeric возвращает как большие, так и маленькие буквы : )
Откуда информация? Цитата из стандарта:
Отсюда и отсюда.
Просто когда я увидел большие и маленькие буквы в ссылках, меня сразу потянуло проверить, различаются ли они...
Хотя брутить ссылки нет резона в любом случае :).
В группу можно добавлять тренировки из уже имеющихся.
Можно ли будет в группу добавить тренировку, созданную из имеющихся в системе задач (только указав номера добавляемых в тренировку задач)?
Так как группы непосредственно связаны с тренировками, можно ли расширить функционал работы с ними:
1) Флаг видимости тренировок в перечне — "только те, на которые есть доступ".
2) Создание тренировок с указанием менеджеров, имеющих доступ на ее редактирование?
This is great!
[Deleted]
The answer is in the blog post: to give extra motivation for increasing your rating :D
Oh, I just saw. Sorry for asking!
Я заметил один баг.
Если ты менеджер и меняешь свой статус на менеджера то справа будет написано пригласил и твое имя.
Как то не логично приглашать самого себя.
Вы, наверное, имели в виду, когда меняешь свой статус с менеджера на участника. Это не баг. Колонка отображает пользователя, который вас пригласил/подтвердил/поменял вам роль. Так как вы помели себе роль, то вы и отображаетесь. Вероятно, поведение стоит поменять.
Можно ли добавить в список доступных контестов (в GYM) какой-нибудь совсем простой контест из 2-3 задач (Warm-Up), для тестирования функционала?
if possible, please add the option to sort the members of a group based on their rating. it would certainly help a lot. thanks!
Just to clarify, are group members in trouble if they lose their Division 1 standing? (As you can see, I'm teetering on the edge :D)
No
При попытке сохранить измененные данные группы — Internal Server Error. Это норма, или проблема скорее всего у меня?
I would like to ask if there are any restrictions on the number of groups created, for example, I can create up to five groups. Or at the moment I can create it without limit.
Hi how do I register teams for contests in CF groups?
After I click 'register them', nothing happens.
I created a group sometime back which I want to leave now but I am not able to find any such option. is there any way to leave the group if I am the creator???
can u tell me how to leave even if one is not the creator
Open the group, you will see an option to leave on the right.
Thanks i didn't see it...
Hello,
Sorry to bump this thread up after so long, but how do you disable the common status in groups? I made a private contest in a group, with private rank list and status, but participants were able to use the group status to see the results of other's submissions. Does anyone know a fix to this?
Thanks!
You would have created a mashup and added that in the group, right?? If yes, you should be able to see Can participants view common status?: in contest settings. I think unchecking this should be fine.
Yes, in the mashup we unselected "Can participants view common status?" and we also unselected "Allow standings?:". This problem arises despite both these settings.