Difference between revisions of "Interface:Управление турниром в течение турнира"

From EjudgeWiki
Line 117: Line 117:
 
15. Нажатие на ссылку “Export XML runs (external format)” вызовет генерацию XML-файла
 
15. Нажатие на ссылку “Export XML runs (external format)” вызовет генерацию XML-файла
 
с базой посылок. XML-файл отображается непосредственно в окне браузера (для него
 
с базой посылок. XML-файл отображается непосредственно в окне браузера (для него
устанавливается тип содержимого (Content-type) “text/plain”) и затем может быть со-
+
устанавливается тип содержимого (Content-type) “text/plain”) и затем может быть сохранён в файле средствами браузера.
хранён в файле средствами браузера.
+
 
 
Экспортируемый XML-формат базы посылок отличается от внутреннего (см. ниже) тем,
 
Экспортируемый XML-формат базы посылок отличается от внутреннего (см. ниже) тем,
что в экспортируемый формат добавляется информация о зарегистрированных участ-
+
что в экспортируемый формат добавляется информация о зарегистрированных участниках турнира, сконфигурированных языках программирования и задачах турнира. По
никах турнира, сконфигурированных языках программирования и задачах турнира. По
 
 
такому XML-файлу можно однозначно воспроизвести ход турнира и его результаты. С
 
такому XML-файлу можно однозначно воспроизвести ход турнира и его результаты. С
другой стороны, в экспортируемом формате отсутствует внутренняя информация о по-
+
другой стороны, в экспортируемом формате отсутствует внутренняя информация о посылке, такая как IP-адрес, размер, хэш-код и пр. Экспортируемый формат предназначен
сылке, такая как IP-адрес, размер, хэш-код и пр. Экспортируемый формат предназначен
 
 
для отчёта о ходе турнира.
 
для отчёта о ходе турнира.
 +
 
Данная операция требует специальных привилегий. Для того, чтобы пользователь мог
 
Данная операция требует специальных привилегий. Для того, чтобы пользователь мог
 
получить базу посылок в формате CSV, для пользователя в файле конфигурации турнира
 
получить базу посылок в формате CSV, для пользователя в файле конфигурации турнира
contest.xml в элементе cap должен быть установлен бит DUMP_RUNS.
+
<tt>[[contest.xml]]</tt> в элементе <tt>[[contest.xml:cap|cap]]</tt> должен быть установлен бит <tt>DUMP_RUNS</tt>.
299
+
 
 
16. Нажатие на ссылку “Write XML runs (internal format)” вызовет генерацию XML-файла
 
16. Нажатие на ссылку “Write XML runs (internal format)” вызовет генерацию XML-файла
 
с базой посылок во внутреннем формате. XML-файл отображается непосредственно в
 
с базой посылок во внутреннем формате. XML-файл отображается непосредственно в
 
окне браузера (для него устанавливается тип содержимого (Content-type) “text/plain”) и
 
окне браузера (для него устанавливается тип содержимого (Content-type) “text/plain”) и
 
затем может быть сохранён в файле средствами браузера.
 
затем может быть сохранён в файле средствами браузера.
Внутренний формат отличается от внешнего (см. выше) тем, что во внутреннем фор-
+
 
мате для каждой посылки содержится полная информация о посылке, включающая
+
Внутренний формат отличается от внешнего (см. выше) тем, что во внутреннем формате для каждой посылки содержится полная информация о посылке, включающая
 
IP-адрес, контрольную сумму, размер, внутренние флаги и т. д. Внутренний формат
 
IP-адрес, контрольную сумму, размер, внутренние флаги и т. д. Внутренний формат
не содержит информации о зарегистрированных участниках, языках программирова-
+
не содержит информации о зарегистрированных участниках, языках программирования и задачах. Внутренний формат предназначен для синхронизации базы посылок (и
ния и задачах. Внутренний формат предназначен для синхронизации базы посылок (и
 
 
как следствие таблицы текущих результатов) в случаях, когда один и тот же турнир
 
как следствие таблицы текущих результатов) в случаях, когда один и тот же турнир
 
проводится в нескольких точках проведения с отдельным сервером турнира в каждой
 
проводится в нескольких точках проведения с отдельным сервером турнира в каждой
точке проведения. В этом случае предполагается, что база зарегистрированных участ-
+
точке проведения. В этом случае предполагается, что база зарегистрированных участников турнира, список языков программирования и задач во всех точках проведения
ников турнира, список языков программирования и задач во всех точках проведения
 
 
одинаковы.
 
одинаковы.
База посылок во внутреннем формате может быть проимпортирована с помощью эле-
+
 
мента управления “Import and merge XML runs log” (см. ниже).
+
База посылок во внутреннем формате может быть проимпортирована с помощью элемента управления “Import and merge XML runs log” (см. ниже).
 +
 
 
Данная операция требует специальных привилегий. Для того, чтобы пользователь мог
 
Данная операция требует специальных привилегий. Для того, чтобы пользователь мог
 
получить базу посылок в формате CSV, для пользователя в файле конфигурации турнира
 
получить базу посылок в формате CSV, для пользователя в файле конфигурации турнира
contest.xml в элементе cap должен быть установлен бит DUMP_RUNS.
+
<tt>[[contest.xml]]</tt> в элементе <tt>[[contest.xml:cap|cap]]</tt> должен быть установлен бит <tt>DUMP_RUNS</tt>.
17. Кнопка “Update public standings” предназначена для ручного обновления текущих ре-
+
 
зультатов турнира, доступных для участников турнира и прочих зрителей из сети Ин-
+
17. Кнопка “Update public standings” предназначена для ручного обновления текущих результатов турнира, доступных для участников турнира и прочих зрителей из сети Интернет. С помощью неё можно обновлять результаты даже тогда, когда автоматическое
тернет. С помощью неё можно обновлять результаты даже тогда, когда автоматическое
+
обновление отключено в период заморозки результатов. Поскольку операция обновления результатов необратима, после нажатия на данную кнопку будет выдана страница
обновление отключено в период заморозки результатов. Поскольку операция обновле-
+
подтверждения операции. Для выполнения обновления результатов на странице подтверждения необходимо нажать на кнопку “Yes, update standings”.
ния результатов необратима, после нажатия на данную кнопку будет выдана страница
+
 
подтверждения операции. Для выполнения обновления результатов на странице под-
+
Чтобы пользователь мог вручную обновлять текущее положение команд, в конфигурационном файле турнира <tt>[[contest.xml]]</tt> в элементе <tt>[[contest.xml:cap|cap]]</tt> для него должен быть установлен бит <tt>CONTROL_CONTEST</tt>.
тверждения необходимо нажать на кнопку “Yes, update standings”.
+
 
Чтобы пользователь мог вручную обновлять текущее положение команд, в конфигура-
+
18. Кнопка “Reset the contest” полностью сбрасывает турнир. Полностью очищается база посылок и база сообщений, удаляются все файлы в архиве сообщений и архиве
ционном файле турнира contest.xml в элементе cap для него должен быть уста-
+
посылок, продолжительность турнира сбрасывается на значение, установленное в глобальной конфигурационной переменной contest_time конфигурационного файла
новлен бит CONTROL_CONTEST.
+
турнира <tt>[[serve.cfg]]</tt>.
18. Кнопка “Reset the contest” полностью сбрасывает турнир. Полностью очищается ба-
+
 
за посылок и база сообщений, удаляются все файлы в архиве сообщений и архиве
 
посылок, продолжительность турнира сбрасывается на значение, установленное в гло-
 
бальной конфигурационной переменной contest_time конфигурационного файла
 
турнира serve.cfg.
 
 
Поскольку операция сброса турнира необратима, после нажатия на данную кнопку
 
Поскольку операция сброса турнира необратима, после нажатия на данную кнопку
будет выдана страница подтверждения операции. Для выполнения обновления резуль-
+
будет выдана страница подтверждения операции. Для выполнения обновления результатов на странице подтверждения необходимо нажать на кнопку “Yes, reset the contest”.
татов на странице подтверждения необходимо нажать на кнопку “Yes, reset the contest”.
+
 
Для выполнения этой операции пользователем, в конфигурационном файле тур-
+
Для выполнения этой операции пользователем, в конфигурационном файле турнира <tt>[[contest.xml]]</tt> в элементе <tt>[[contest.xml:cap|cap]]</tt> для него должен быть установлен бит
нира contest.xml в элементе cap для него должен быть установлен бит
+
<tt>CONTROL_CONTEST</tt>.
CONTROL_CONTEST.
+
 
19. Кнопка “Suspend clients” приостанавливает обработку сервером турнира serve запро-
+
19. Кнопка “Suspend clients” приостанавливает обработку сервером турнира <tt>serve</tt> запросов от CGI-программы <tt>team</tt>, запросы от привилегированных программ <tt>master</tt> и <tt>judge</tt>
сов от CGI-программы team, запросы от привилегированных программ master и judge
+
продолжают обрабатываться. В режиме приостановленной обработки участникам турнира будет генерироваться html-страница, показывающая только состояние турнира.
продолжают обрабатываться. В режиме приостановленной обработки участникам тур-
+
 
нира будет генерироваться html-страница, показывающая только состояние турнира.
 
300
 
 
Участники турнира не могут в это время просматривать список своих посылок, список
 
Участники турнира не могут в это время просматривать список своих посылок, список
 
сообщений судьям и от судей, сами сообщения. Участники не могут посылать решения
 
сообщений судьям и от судей, сами сообщения. Участники не могут посылать решения
 
на проверку и посылать сообщения судьям.
 
на проверку и посылать сообщения судьям.
В режиме приостановленной обработки запросов участников в разделе состояния тур-
+
 
нира (25) выводится дополнительная строка “Team requests are suspended”, доступная
+
В режиме приостановленной обработки запросов участников в разделе состояния турнира (25) выводится дополнительная строка “Team requests are suspended”, доступная
 
и участника турнира. В режиме приостановленной обработки кнопка “Suspend clients”
 
и участника турнира. В режиме приостановленной обработки кнопка “Suspend clients”
 
заменяется на кнопку “Resume clients”, нажав на которую можно выключить режим
 
заменяется на кнопку “Resume clients”, нажав на которую можно выключить режим
 
приостановленной обработки запросов участников.
 
приостановленной обработки запросов участников.
Для выполнения этой операции пользователем, в конфигурационном файле тур-
+
 
нира contest.xml в элементе cap для него должен быть установлен бит
+
Для выполнения этой операции пользователем, в конфигурационном файле турнира <tt>[[contest.xml]]</tt> в элементе <tt>[[contest.xml:cap|cap]]</tt> для него должен быть установлен бит
CONTROL_CONTEST.
+
<tt>CONTROL_CONTEST</tt>.
 +
 
 
20. Кнопка “Suspend testing” приостанавливает автоматическую проверку поступающих
 
20. Кнопка “Suspend testing” приостанавливает автоматическую проверку поступающих
 
решений. В режиме приостановленной проверки решений участники турнира могут
 
решений. В режиме приостановленной проверки решений участники турнира могут
выполнять все обычные действия, включая и посылку решений на проверку, но по-
+
выполнять все обычные действия, включая и посылку решений на проверку, но посланное на проверку решение не будет автоматически отправлено на компиляцию и
сланное на проверку решение не будет автоматически отправлено на компиляцию и
 
 
последующее тестирование. Вместо этого оно получит статус “Available for testing”, в
 
последующее тестирование. Вместо этого оно получит статус “Available for testing”, в
 
котором будет находится до тех пор, пока не будет пересужено каким-либо способом.
 
котором будет находится до тех пор, пока не будет пересужено каким-либо способом.
 +
 
Данная возможность полезна, когда требуется уменьшить нагрузку на сервер турнира
 
Данная возможность полезна, когда требуется уменьшить нагрузку на сервер турнира
 
(особенно, если сервер турнира одновременно выполняет компиляцию и тестирование
 
(особенно, если сервер турнира одновременно выполняет компиляцию и тестирование
Line 197: Line 190:
 
Посылку со статусом “Available for testing” можно пересудить одним из следующих
 
Посылку со статусом “Available for testing” можно пересудить одним из следующих
 
способов:
 
способов:
Выбрав опцию “Rejudge” в строке состояния данной посылки на главной странице
+
* Выбрав опцию “Rejudge” в строке состояния данной посылки на главной странице программы <tt>master</tt>.
программы master.
+
* Выбрав опцию “Rejudge” в режиме просмотра посылки (“View source”), доступном из главной страницы программы <tt>master</tt>.
Выбрав опцию “Rejudge” в режиме просмотра посылки (“View source”), доступном
+
* Нажав на кнопку “Rejudge all” (см. ниже). При этом будут пересужены все решения, находящиеся в базе посылок.
из главной страницы программы master.
+
* Выбрав соответствующую задачу и нажав на кнопку “Rejudge!” в разделе “Rejudge problem” (см. ниже). В этом случае будут пересужены все решения указанной задачи.
Нажав на кнопку “Rejudge all” (см. ниже). При этом будут пересужены все реше-
+
* Нажав на кнопку “Judge suspended runs” (см. ниже). В этом случае будут пересужены все решения в базе посылок, которые имеют статус “Available for testing”.
ния, находящиеся в базе посылок.
+
 
Выбрав соответствующую задачу и нажав на кнопку “Rejudge!” в разделе “Rejudge
 
problem” (см. ниже). В этом случае будут пересужены все решения указанной
 
задачи.
 
Нажав на кнопку “Judge suspended runs” (см. ниже). В этом случае будут пересу-
 
жены все решения в базе посылок, которые имеют статус “Available for testing”.
 
 
В режиме приостановленного тестирования решений участников в разделе состояния
 
В режиме приостановленного тестирования решений участников в разделе состояния
 
турнира (25) выводится дополнительная строка “Testing of team’s submits is suspended”,
 
турнира (25) выводится дополнительная строка “Testing of team’s submits is suspended”,
 
доступная и участника турнира. В этом режиме кнопка “Suspend testing” заменяется на
 
доступная и участника турнира. В этом режиме кнопка “Suspend testing” заменяется на
кнопку “Resume testing”, нажав на которую можно выключить режим приостановлен-
+
кнопку “Resume testing”, нажав на которую можно выключить режим приостановленного тестирования решений участников.
ного тестирования решений участников.
+
 
Для выполнения этой операции пользователем, в конфигурационном файле тур-
+
Для выполнения этой операции пользователем, в конфигурационном файле турнира <tt>[[contest.xml]]</tt> в элементе <tt>[[contest.xml:cap|cap]]</tt> для него должен быть установлен бит
нира contest.xml в элементе cap для него должен быть установлен бит
+
<tt>CONTROL_CONTEST</tt>.
CONTROL_CONTEST.
+
 
301
 
 
21. Кнопка “Regenerate user passwords” генерирует случайные пароли участников турнира
 
21. Кнопка “Regenerate user passwords” генерирует случайные пароли участников турнира
 
для всех непривилегированных участников. Пароли привилегированных участников
 
для всех непривилегированных участников. Пароли привилегированных участников

Revision as of 10:46, 24 February 2012

Навигация: Главная страница/Система ejudge/Использование/Веб-интерфейс пользователя/Управление турниром в течение турнира

На рис. 4.4 показаны элементы управления турниром, доступные в ходе турнира. Все выделенные на рисунке элементы управления описываются ниже.

1. Астрономическое время программы-сервера управления турниром serve. Полное описание элемента “Server time” приведено выше.

2. Астрономическое время в CGI-программе master, которая в данный момент обрабатывает запрос на генерацию html-страницы, поступивший от веб-браузера. См. также полное описание выше.

3. Астрономическое время начала турнира.

4. С помощью кнопки “Stop” можно завершить турнир в любой момент до истечения времени турнира.

Чтобы пользователь мог останавливать турнир, в конфигурационном файле турнира contest.xml в элементе cap для него должен быть установлен бит CONTROL_CONTEST.

5. Установленная продолжительность турнира отображается либо как “Unlimited”, если продолжительность турнира не ограничена, либо в формате HH:MM:SS, где HH — количество полных часов, MM — количество полных минут в неполном последнем часе, SS — количество секунд в неполной последней минуте. Когда текущая продолжительность турнира превышает установленную продолжительность турнира, турнир завершается автоматически.

6. Данный элемент управления позволяет изменить установленную продолжительность турнира. В поле ввода необходимо ввести новую продолжительность турнира, затем нажать кнопку “Change duration”. Продолжительность турнира задаётся в виде H[:M], где H — количество часов, а M — количество минут. Количество минут должно находиться в интервале от 0 до 59. Минутная составляющая вместе с двоеточием может быть опущена. Максимальная продолжительность турнира, которую можно установить с помощью данного элемента управления, равна 1000000 минутам, что соответствует примерно 694 суткам. Продолжительность турнира неограниченной продолжительности не может быть изменена. Продолжительность турнира ограниченной продолжительности не может быть сделана неограниченной.

Продолжительность турнира конечной продолжительности может быть как увеличена, так и уменьшена. При этом на уменьшение продолжительности накладывается такое ограничение, что новая продолжительность турнира не должна быть такой, что турнир должен был бы закончится в некоторый момент в прошлом. Другими словами, уменьшение продолжительности турнира не должно приводить к его немедленному завершению.

Начальная продолжительность турнира устанавливается в конфигурационном файле сервера турнира serve.cfg с помощью глобальной конфигурационной переменной contest_time.

Чтобы пользователь мог изменять продолжительность турнира, в конфигурационном файле турнира contest.xml в элементе cap для него должен быть установлен бит CONTROL_CONTEST.

7. Здесь отображается ожидаемое время завершения турнира, которое вычисляется по времени начала турнира (3) и текущей продолжительности турнира (5). В этот момент времени турнир будет завершён автоматически, если только до этого момента он не будет завершён явно с помощью кнопки “Stop” (4). Изменения в текущей продолжительности турнира с помощью кнопки “Change duration” (7) немедленно отражаются в ожидаемом времени завершения турнира.

Для турниров неограниченной продолжительности данная информация не отображается.

8. Здесь отображается ожидаемое время «заморозки» таблицы текущих результатов турнира. От момента заморозки и до окончания турнира таблица текущих результатов автоматически не обновляется при поступлении новых решений. Время в минутах от момента заморозки до конца турнира задаётся с помощью глобальной конфигурационной переменной stand_freeze_time (переменная имеет альтернативное имя board_fog_time) в конфигурационном файле сервера турнира serve.cfg. Если значение этой переменной установлено в 0, заморозка таблицы результатов отключается. В этом случае, а также в случае турниров неограниченной продолжительности данная информация не отображается.

Изменения в текущей продолжительности турнира с помощью кнопки “Change duration” (7) немедленно отражаются в ожидаемом времени заморозки таблицы результатов. В любой момент времени таблица текущих результатов турнира может быть обновлена вручную с помощью кнопки “Update public standings” (17).

Автоматическое обновление результатов турнира может быть полностью отключено установкой глобальной конфигурационной переменной autoupdate_standings в значение 0 в файле конфигурации турнира serve.cfg.

9. Здесь отображается время турнира, прошедшее от его начала.

10. Здесь отображается время, оставшееся до конца турнира.

11. Ссылки быстрой навигации по страницам управления турниром.

  • Нажатие на ссылку “Refresh” приведёт к обновлению информации на главной странице управления турниром.
  • Нажатие на ссылку “Standings” вызовет переход на страницу отображения текущих результатов турнира. Текущие результаты турнира, отображаемые на этой странице, никогда не замораживаются. Обычные участники турнира, а также наблюдатели не имеют доступа к данной «привилегированной» таблице результатов. Чтобы пользователь программы master имел возможность смотреть привилегированные текущие результаты турнира, в конфигурационном файле турнира contest.xml в элементе cap для него должен быть установлен бит VIEW_STANDINGS.
  • Нажатие на ссылку “View teams” вызовет переход на страницу отображения информации об участниках турнира. Данная страница подробно рассматривается ниже. Чтобы пользователь имел полномочия просматривать список участников турнира, в конфигурационном файле турнира contest.xml в элементе cap для него должен быть установлен бит LIST_CONTEST_USERS.
  • Нажатие на ссылку “Log out” приведёт к завершению сеанса работы администратора турнира. При этом идентификатор сессии (SID), отображаемый в URL станет недействительным. Для входа на страницы управления турниром необходимо вновь ввести регистрационное имя и пароль на странице входа в программу.

12. Нажатие на ссылку “Dump runs database” вызовет печать базы посылок в формате CSV (comma-separated values). В формате CSV каждая запись размещается на отдельной текстовой строке, а поля записи разделяются символом ‘;’. Данные в формате CSV могут быть импортированы, например, в реляционные базы данных или в программы электронных таблиц для дальнейшей обработки.

База посылок в формате CSV отображается непосредственно в окне браузера (для неё устанавливается тип содержимого (Content-type) “text/plain”). База посылок может быть сохранена в текстовом файле средствами браузера. Поля файла базы посылок в формате CVS описываются в соответствующем разделе.

Данная операция требует специальных привилегий. Для того, чтобы пользователь мог получить базу посылок в формате CSV, для пользователя в файле конфигурации турнира contest.xml в элементе cap должен быть установлен бит DUMP_RUNS.

13. Нажатие на ссылку “Dump users database” вызовет печать базы участников турнира в формате CSV. База участников турнира в формате CSV отображается непосредственно в окне браузера (для неё устанавливается тип содержимого (Content-type) “text/plain”). База участников турнира может быть сохранена в текстовом файле средствами браузера.

Поля файла базы участников турнира в формате CVS описываются в соответствующем разделе.

Данная операция требует специальных привилегий. Для того, чтобы пользователь мог получить базу участников турнира в формате CSV, для пользователя в файле конфигурации турнира contest.xml в элементе cap должен быть установлен бит DUMP_USERS.

14. Нажатие на ссылку “Dump standings database” вызовет печать таблицы текущих результатов турнира в формате CSV. Таблица текущих результатов турнира в формате CSV отображается непосредственно в окне браузера (для неё устанавливается тип содержимого (Content-type) “text/plain”). Таблица текущих результатов турнира может быть сохранена в текстовом файле средствами браузера. Поля таблицы текущих результатов турнира в формате CVS описываются в соответствующем разделе.

Данная операция требует специальных привилегий. Для того, чтобы пользователь мог получить базу участников турнира в формате CSV, для пользователя в файле конфигурации турнира contest.xml в элементе cap должен быть установлен бит DUMP_STANDINGS.

15. Нажатие на ссылку “Export XML runs (external format)” вызовет генерацию XML-файла с базой посылок. XML-файл отображается непосредственно в окне браузера (для него устанавливается тип содержимого (Content-type) “text/plain”) и затем может быть сохранён в файле средствами браузера.

Экспортируемый XML-формат базы посылок отличается от внутреннего (см. ниже) тем, что в экспортируемый формат добавляется информация о зарегистрированных участниках турнира, сконфигурированных языках программирования и задачах турнира. По такому XML-файлу можно однозначно воспроизвести ход турнира и его результаты. С другой стороны, в экспортируемом формате отсутствует внутренняя информация о посылке, такая как IP-адрес, размер, хэш-код и пр. Экспортируемый формат предназначен для отчёта о ходе турнира.

Данная операция требует специальных привилегий. Для того, чтобы пользователь мог получить базу посылок в формате CSV, для пользователя в файле конфигурации турнира contest.xml в элементе cap должен быть установлен бит DUMP_RUNS.

16. Нажатие на ссылку “Write XML runs (internal format)” вызовет генерацию XML-файла с базой посылок во внутреннем формате. XML-файл отображается непосредственно в окне браузера (для него устанавливается тип содержимого (Content-type) “text/plain”) и затем может быть сохранён в файле средствами браузера.

Внутренний формат отличается от внешнего (см. выше) тем, что во внутреннем формате для каждой посылки содержится полная информация о посылке, включающая IP-адрес, контрольную сумму, размер, внутренние флаги и т. д. Внутренний формат не содержит информации о зарегистрированных участниках, языках программирования и задачах. Внутренний формат предназначен для синхронизации базы посылок (и как следствие таблицы текущих результатов) в случаях, когда один и тот же турнир проводится в нескольких точках проведения с отдельным сервером турнира в каждой точке проведения. В этом случае предполагается, что база зарегистрированных участников турнира, список языков программирования и задач во всех точках проведения одинаковы.

База посылок во внутреннем формате может быть проимпортирована с помощью элемента управления “Import and merge XML runs log” (см. ниже).

Данная операция требует специальных привилегий. Для того, чтобы пользователь мог получить базу посылок в формате CSV, для пользователя в файле конфигурации турнира contest.xml в элементе cap должен быть установлен бит DUMP_RUNS.

17. Кнопка “Update public standings” предназначена для ручного обновления текущих результатов турнира, доступных для участников турнира и прочих зрителей из сети Интернет. С помощью неё можно обновлять результаты даже тогда, когда автоматическое обновление отключено в период заморозки результатов. Поскольку операция обновления результатов необратима, после нажатия на данную кнопку будет выдана страница подтверждения операции. Для выполнения обновления результатов на странице подтверждения необходимо нажать на кнопку “Yes, update standings”.

Чтобы пользователь мог вручную обновлять текущее положение команд, в конфигурационном файле турнира contest.xml в элементе cap для него должен быть установлен бит CONTROL_CONTEST.

18. Кнопка “Reset the contest” полностью сбрасывает турнир. Полностью очищается база посылок и база сообщений, удаляются все файлы в архиве сообщений и архиве посылок, продолжительность турнира сбрасывается на значение, установленное в глобальной конфигурационной переменной contest_time конфигурационного файла турнира serve.cfg.

Поскольку операция сброса турнира необратима, после нажатия на данную кнопку будет выдана страница подтверждения операции. Для выполнения обновления результатов на странице подтверждения необходимо нажать на кнопку “Yes, reset the contest”.

Для выполнения этой операции пользователем, в конфигурационном файле турнира contest.xml в элементе cap для него должен быть установлен бит CONTROL_CONTEST.

19. Кнопка “Suspend clients” приостанавливает обработку сервером турнира serve запросов от CGI-программы team, запросы от привилегированных программ master и judge продолжают обрабатываться. В режиме приостановленной обработки участникам турнира будет генерироваться html-страница, показывающая только состояние турнира.

Участники турнира не могут в это время просматривать список своих посылок, список сообщений судьям и от судей, сами сообщения. Участники не могут посылать решения на проверку и посылать сообщения судьям.

В режиме приостановленной обработки запросов участников в разделе состояния турнира (25) выводится дополнительная строка “Team requests are suspended”, доступная и участника турнира. В режиме приостановленной обработки кнопка “Suspend clients” заменяется на кнопку “Resume clients”, нажав на которую можно выключить режим приостановленной обработки запросов участников.

Для выполнения этой операции пользователем, в конфигурационном файле турнира contest.xml в элементе cap для него должен быть установлен бит CONTROL_CONTEST.

20. Кнопка “Suspend testing” приостанавливает автоматическую проверку поступающих решений. В режиме приостановленной проверки решений участники турнира могут выполнять все обычные действия, включая и посылку решений на проверку, но посланное на проверку решение не будет автоматически отправлено на компиляцию и последующее тестирование. Вместо этого оно получит статус “Available for testing”, в котором будет находится до тех пор, пока не будет пересужено каким-либо способом.

Данная возможность полезна, когда требуется уменьшить нагрузку на сервер турнира (особенно, если сервер турнира одновременно выполняет компиляцию и тестирование решений) в последние минуты турнира, когда поток решений особенно интенсивен. Посылку со статусом “Available for testing” можно пересудить одним из следующих способов:

  • Выбрав опцию “Rejudge” в строке состояния данной посылки на главной странице программы master.
  • Выбрав опцию “Rejudge” в режиме просмотра посылки (“View source”), доступном из главной страницы программы master.
  • Нажав на кнопку “Rejudge all” (см. ниже). При этом будут пересужены все решения, находящиеся в базе посылок.
  • Выбрав соответствующую задачу и нажав на кнопку “Rejudge!” в разделе “Rejudge problem” (см. ниже). В этом случае будут пересужены все решения указанной задачи.
  • Нажав на кнопку “Judge suspended runs” (см. ниже). В этом случае будут пересужены все решения в базе посылок, которые имеют статус “Available for testing”.

В режиме приостановленного тестирования решений участников в разделе состояния турнира (25) выводится дополнительная строка “Testing of team’s submits is suspended”, доступная и участника турнира. В этом режиме кнопка “Suspend testing” заменяется на кнопку “Resume testing”, нажав на которую можно выключить режим приостановленного тестирования решений участников.

Для выполнения этой операции пользователем, в конфигурационном файле турнира contest.xml в элементе cap для него должен быть установлен бит CONTROL_CONTEST.

21. Кнопка “Regenerate user passwords” генерирует случайные пароли участников турнира для всех непривилегированных участников. Пароли привилегированных участников остаются без изменений. В системе ejudge каждый пользователь может иметь два независимых пароля: реги- страционный пароль и пароль участника турнира. Регистрационный пароль генериру- ется автоматически при регистрации пользователя в системе ejudge и отправляется электронной почтой на адрес, указанный при регистрации. Пользователь может изме- нить этот пароль с помощью CGI-программы register. Регистрационный пароль ис- пользуется для входа в программу register, а также привилегированные программы master и judge, если пользователь имеет соответствующие привилегии. Регистраци- онный пароль используется для входа в программу team, если не установлен пароль участника. Пароль участника турнира устанавливается администратором турнира. Пароль участ- ника турнира действует для входа в программу team. В текущей версии системы ejudge пароль участника турнира един для всех турниров. Если задан и пароль участника, и регистрационный пароль, для входа в программу team необходимо использовать пароль участника. По нажатию на кнопку “Regenerate user passwords” генерируются случайные пароли. Поскольку операция генерации пароля необратима, после нажатия на данную кноп- ку будет выдана страница подтверждения операции. Для выполнения обновления ре- зультатов на странице подтверждения необходимо нажать на кнопку “Yes, generate passwords!”. После генерации паролей страница со всеми сгенерированными паролями отображается веб-браузером. При этом сбрасываются все идентификаторы сессий, со- зданные для участников турнира. Таким образом, всем участникам турнира придётся заново ввести своё регистрационное имя и пароль. Для выполнения этой операции пользователем, в конфигурационном файле тур- нира contest.xml в элементе cap для него должен быть установлен бит GENERATE_TEAM_PASSWORDS. 22. Кнопка “Regenerate register user passwords” генерирует случайные регистрационные па- роли для всех непривилегированных участников турнира. Пароли привилегированных участников остаются без изменений. Поскольку операция генерации паролей необра- тима, после нажатия на данную кнопку будет выдана страница подтверждения опера- ции. Для выполнения обновления результатов на странице подтверждения необходимо нажать на кнопку “Yes, generate passwords!”. После генерации паролей страница со все- ми сгенерированными паролями отображается веб-браузером. При этом сбрасываются все идентификаторы сессий, созданные для участников турнира. Таким образом, всем участникам турнира придётся заново ввести своё регистрационное имя и пароль. Для выполнения этой операции пользователем, в конфигурационном файле тур- нира contest.xml в элементе cap для него должен быть установлен бит GENERATE_TEAM_PASSWORDS. 23. Кнопка “Clear team passwords!” сбрасывает пароли участников турнира для всех непри- вилегированных участников турнира. Поскольку операция сброса паролей необратима, после нажатия на данную кнопку будет выдана страница подтверждения операции. Для выполнения обновления результатов на странице подтверждения необходимо нажать на кнопку “Yes, clear passwords!”. После этого пароль участника турнира считается не 302 установленным, и для входа в программу team может использоваться регистрационный пароль. Для выполнения этой операции пользователем, в конфигурационном файле тур- нира contest.xml в элементе cap для него должен быть установлен бит GENERATE_TEAM_PASSWORDS. 24. Кнопка “Reload server” действует только тогда, когда сервер турнира serve работает под управлением программы super-serve. Тогда нажатие на эту кнопку приводит к немедленному завершению работы программ serve и run, обслуживающих данных турнир. Они будут немедленно перезапущены, и в результате сервер турнира будет перезагружен и конфигурационные файлы считаны заново. В режиме самостоятельной работы программы serve на нажатие этой кнопки будет выдано сообщение об ошибке. Для выполнения этой операции пользователем, в конфигурационном файле тур- нира contest.xml в элементе cap для него должен быть установлен бит CONTROL_CONTEST. 25. Здесь выводится текущее состояние сервера. Если в текущий момент времени отобра- жение текущих результатов турнира заморожено, выводится сообщение “Standings are frozen”. Кроме того дополнительно выводятся сообщения о приостановке обслужива- ния клиентов и о приостановке проверки решений. 26. Кнопка “Suspend printing” позволяет приостановить обслуживание запросов на печать, поступающих от непривилегированных участников соревнования. Запросы на печать привилегированных пользователей обслуживаются как обычно. Кнопка отображается, только если глобальная конфигурационная переменная enable_printing конфигу- рационного файла serve.cfg установлена в значение true. После нажатия на данную кнопку сервер турнира переходит в режим приостановки обслуживания запросов на печать. В этом режиме все запросы на печать, поступа- ющие от непривилегированных клиентов, немедленно отвергаются. Кроме этого, в CGI-программе team перестаёт отображаться ссылка “Print”, позволяющая участникам печатать исходный текст посылок. Кнопка “Suspend printing” заменяется на кнопку “Resume printing” нажатие на которую выключает режим приостановки обслуживания запросов на печать.