Difference between revisions of "Interface:Элементы отображения журнала посылок"

From EjudgeWiki
 
Line 1: Line 1:
 
Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Использование]]/[[Веб-интерфейс пользователя]]/[[interface:Элементы отображения журнала посылок|Элементы отображения журнала посылок]]
 
Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Использование]]/[[Веб-интерфейс пользователя]]/[[interface:Элементы отображения журнала посылок|Элементы отображения журнала посылок]]
  
На рис. 4.8 показаны элементы управления журналом посылок, доступные администратору турнира. Все элементы управления описываются далее.
 
  
1. Ссылки быстрой навигации подробно описаны выше.
+
На рис. 4.7 приведена часть главной страницы, генерируемой CGI-программой <tt>master</tt>,
 +
на которой находятся элементы просмотра и управления журналом посылок. Эти элементы
 +
управления доступны как в течение турнира, так и после его завершения. Все элементы
 +
подробно описаны ниже.
  
2. Команда “Rejudge all” вызывает перетестирование всех посылок, которые могут быть
+
1. Здесь показывается текущая статистика по посылкам текущего турнира. “Total
перетестированы. Посылка может быть перетестирована при выполнении следующих
+
submissions” — это общее количество посылок в базе посылок. “Filtered” — количество
условий:
+
посылок после фильтрации с помощью выражения фильтра посылок. “Shown” —
* поле is_readonly посылки установлено в значение ''false'';
+
количество отображённых посылок. Если в выражении фильтра посылок не указано
* поле is_imported посылки установлено в значение ''false'';
+
количество отображаемых посылок, отображается 20 последних посылок.
* посылка выполнена по задаче, для которой конфигурационная переменная
 
<tt>[[serve.cfg:problem:disable_testing|disable_testing]]</tt> секции описания задачи конфигурационного файла турнира
 
serve.cfg установлена в значение ''false'' (значение по умолчанию).
 
  
После нажатия на кнопку “Rejudge all” будет выдана страница подтверждения операции. Для действительного выполнения операции на странице подтверждения необходимо нажать кнопку “Yes, rejudge all”.
+
2. В этом поле ввода задаётся выражение фильтра посылок. Чтобы выражение фильтра
 +
посылок было применено, необходимо нажать кнопку “View” (5). Чтобы сбросить выражение фильтра, необходимо нажать на кнопку “Reset filter” (6). Если выражение
 +
фильтра не определено, фильтр посылок отключён.
  
Команда пересуживания всех посылок доступна только привилегированным пользователям, у которых в данном турнире установлен бит полномочий <tt>EDIT_RUN</tt>.
+
3. Это поле ввода позволяет задать посылку, которая будет отображаться первой в списке
 +
посылок.
  
3. Команда “Judge suspended runs” отправляет на тестирование все посылки, которые
+
4. Это поле ввода позволяет задать посылку, которая будет отображаться последней в
могут быть перетестированы (см. выше) и которые в базе посылок имеют статус
+
списке посылок. Данное поле ввода совместно с полем ввода (3) позволяет задать
<tt>ACCEPTED</tt>. Команда может применяться для тестирования всех посылок, которые были
+
диапазон отображаемых посылок. Пусть значение поля “First run” равно ''A'', а значение
накоплены в период приостановленного тестирования, включённый командой “Suspend
+
поля “Last run” равно B. Выбор диапазона просмотра производится после фильтрации
testing” администратора турнира.
+
посылок в соответствии с установленным фильтром посылок. Пусть после применения
 +
фильтра посылок осталось ''N'' посылок, удовлетворяющих этому фильтру. Посылки
 +
нумеруются от 0 и до ''N'' −1.
  
После нажатия на кнопку “Judge suspended runs” будет сгенерирована страница подтверждения операции. Для действительного выполнения операции на странице подтверждения необходимо нажать кнопку “Yes, judge”.
+
Если значение ''A'' или ''B'' отрицательно, то соответствующее значение преобразуется
 +
в порядковый номер посылки среди отобранных посылок по формуле ''N +A''. Таким
 +
образом, номер посылки −1 обозначает последнюю посылку среди отобранных.
 +
Пусть ''A′'', ''B′'' — номера посылок после описанного выше преобразования. Тогда если
 +
''A′'' > ''B′'', то посылки выводятся в обратном порядке от посылки с большим номером
 +
к посылке с меньшим номером, то есть от более «молодой» к более «старой». Более
 +
старая посылка будет размещаться внизу страницы. Если ''A′'' &le;''B′'', то посылки выводятся
 +
в прямом порядке от посылки с меньшим номером к посылке с большим номером, то
 +
есть от более «старой» к более «молодой». Более новая посылка будет размещаться
 +
внизу страницы.
  
Данная команда доступна только привилегированным пользователям, у которых в данном турнире установлен бит полномочий <tt>EDIT_RUN</tt>.
+
5. К помощью кнопки “View” включается фильтр посылок (2) и выбор диапазона отображаемых посылок (3) и (4).
  
4. Команда “Squeeze runs” выполняет «чистку» базы посылок. Из неё удаляются все записи со статусом <tt>EMPTY</tt>. При этом у оставшихся посылок может измениться их номер,
+
6. С помощью кнопки “Reset filter” текущие установки фильтра посылок и диапазона
что требует изменения пути, по которому сохраняются исходный код программы и протоколы тестирования в соответствующих архивных каталогах. Если в базе посылок нет
+
отображаемых посылок сбрасываются в значения по умолчанию. По умолчанию фильтр
записей со статусом <tt>EMPTY</tt>, состояние базы посылок не изменяется.
+
посылок отключён, то есть отображаются все посылки. Отображается не более 20
 +
последних посылок в обратном порядке (от более «молодой» к более «старой»).
  
После нажатия на кнопку “Squeeze runs” запрашивается подтверждение выполнения
+
Следующие элементы отображения используются для показа информации о посылках.
данной операции. Чтобы операция была выполнена на странице подтверждения необходимо нажать на кнопку “Yes, squeeze runs”.
 
  
Данная команда доступна только привилегированным пользователям, у которых в данном турнире установлен бит полномочий <tt>CONTROL_CONTEST</tt>.
+
7. В столбце “Run ID” отображается порядковый номер посылки в базе посылок. Первая
 +
посылка имеет номер 0.
  
5. Команда “Rejudge problem” позволяет пересудить посылки по выбранной задаче. Пересуживаются только пересуживаемые посылки (см. выше) по пересуживаемым задачам.
+
8. В столбце “Time” отображается время от начала турнира до момента получения этой
 +
посылки. Для турниров неограниченной продолжительности предпочтительнее показывать не время, прошедшее от начала турнира, а астрономическое время. Для этого
 +
необходимо установить в значение ''true'' значение глобальной конфигурационной переменной <tt>[[serve.cfg:global:show_astr_time|show_astr_time]]</tt> конфигурационного файла турнира <tt>[[serve.cfg]]</tt>.
  
Необходимо в меню выбрать требуемую задачу, затем нажать на кнопку “Rejudge”.
+
9. В столбце “Size” показывается размер программы в данной посылки в байтах.
Обратите внимание, что подтверждение операции не запрашивается.
 
  
Данная команда доступна только привилегированным пользователям, у которых в данном турнире установлен бит полномочий <tt>EDIT_RUN</tt>.
+
10. В столбце “IP” показывается IP-адрес компьютера, с которого была послана посылка.
  
6. Команда “Import and Merge XML runlog” позволяет проимпортировать в идущий
+
11. В столбце “Team ID” отображается идентификатор участника турнира. Идентификатор
турнир базу посылок во внутреннем XML-формате. Для включения возможности импортирования базы посылок глобальная конфигурационная переменная
+
участника турнира — это целое число, большее 0.
<tt>[[serve.cfg:global:enable_runlog_merge|enable_runlog_merge]]</tt> конфигурационного файла турнира <tt>[[serve.cfg]]</tt> должна
 
быть установлена в значение ''true''.
 
  
Данная команда доступна только привилегированным пользователям, у которых в данном турнире установлен бит полномочий <tt>IMPORT_XML_RUNS</tt>.
+
12. В столбце “Team name” отображается имя участника турнира. Имя участника вводится
 +
самим участником турнира при его регистрации на турнир с помощью CGI-программы
 +
register. Если участник турнира не установил имя участника, используется регистрационное имя (login) участника.
  
База посылок во внутреннем XML-формате генерируется с помощью команды “Write
+
13. В столбце “Problem” отображается короткое имя задачи, решаемой данной посылкой.
XML runs (internal format)” администратора турнира. База посылок во внутреннем формате не содержит информации об участниках, языках программирования и задачах, а
+
Короткое имя задачи берётся из значения конфигурационной переменной <tt>[[serve.cfg:problem:short_name|short_name]]</tt>
только их идентификаторы в записях о посылках, поэтому задачи, языки программирования и участники должны быть согласованы во всех точках проведения турнира,
+
раздела описания задачи конфигурационного файла <tt>[[serve.cfg]]</tt>. Если по тем или
обменивающихся информацией о посылках. Если при импорте будет обнаружено рассогласование, импорт не будет выполнен.
+
иным причинам идентификатору задачи, хранящемуся в базе данных, не соответствует
 +
никакой задачи, печатается числовой идентификатор задачи.
  
При импорте база посылок будет автоматически упорядочена в порядке возрастания
+
14. В столбце “Language” отображается короткое имя языка программирования, использованного в данной посылке. Короткое имя языка программирования берётся из значения
астрономического времени приёма посылки и (для одинакового времени) в порядке
+
конфигурационной переменной <tt>[[serve.cfg:language:short_name|short_name]]</tt> раздела описания языка программирования конфигурационного файла <tt>[[serve.cfg]]</tt>. Если по тем или иным причинам идентификатору языка программирования, хранящемуся в базе данных, не соответствует
возрастания идентификатора участника турнира. При импорте учитывается значение
+
никакого языка, печатается числовой идентификатор языка программирования.
поля <tt>is_imported</tt> и флага <tt>authoritative</tt> импортируемой записи. Если в импортируемой базе посылок и локальной базе посылок обнаруживается запись, у которой
 
совпадают время приёма посылки <tt>timestamp</tt>, идентификатор участника <tt>team</tt>, идентификатор языка программирования <tt>language</tt> и идентификатор задачи <tt>problem</tt>,
 
конфликт разрешается следующим образом:
 
* Если флаг <tt>is_imported</tt> не установлен, и флаг <tt>authoritative</tt> импортируемой посылки также не установлен, локальная посылка имеет приоритет (сохраняет в результирующем журнале посылок), импортируемая посылка игнорируется.
 
* Если флаг <tt>is_imported</tt> установлен, и флаг <tt>authoritative</tt> не установлен, локальная посылка имеет приоритет, а в случае несовпадения какого-либо из оставшихся полей локальной и импортируемой посылок выдаётся диагностическое сообщение.
 
* Если флаг <tt>is_imported</tt> не установлен, и флаг <tt>authoritative</tt> импортируемой посылки установлен, локальная посылка имеет приоритет. Такая ситуация возможна, когда импортируется собственный журнал посылок данного сервера
 
турнира. При несовпадении какого либо из оставшихся полей локальной и импортируемой посылки выдаётся диагностическое сообщение.
 
* Если флаг <tt>is_imported</tt> установлен, и флаг <tt>authoritative</tt> импортируемой посылки также установлен, импортируемая посылка имеет приоритет.
 
  
7. Элементы управления 7—10 предназначены для посылки программ на проверку в привилегированном режиме. Чтобы иметь возможность посылать программы на проверку в
+
15. В столбце “Result” отображается статус данной посылки. Возможное множество значений статуса посылки зависит от типов турнира. Все возможные значения статуса
привилегированном режиме у пользователя должен быть установлен бит <tt>SUBMIT_RUN</tt>
+
перечислены в таблице [[Вердикты тестирования|Статус посылки]].
полномочий в файле конфигурации турнира <tt>[[contest.xml]]</tt>.
 
  
У привилегированных посылок автоматически устанавливается флаг <tt>is_hidden</tt>, то
+
16. В столбце “Failed test” показывается минимальный номер теста, на котором тестируемая
есть они не участвуют в подсчёте результата и не отображаются в таблице результатов.
+
программа дала неверный результат. В случае решения, прошедшего все тесты, либо
 +
решения, получившего статус “Compilation error”, “Ignored”, “Accepted for testing”, в
 +
данном столбце выводится <tt>N/A</tt>. Такое правило действует только для турниров в режиме
 +
''ACM''.
  
С другой стороны, привилегированные посылки могут выполняться до начала турнира
+
Для турниров в режиме ''KIROV'' и ''OLYMPIAD'' этот столбец называется “Passed tests”
и после его завершения. Изменить флаг <tt>is_hidden</tt> посылки можно при редактировании данных посылки с помощью интерфейса администратора CGI-программы <tt>master</tt>
+
и показывает количество тестов, на которых программа дала правильный ответ. В
(см. ниже).
+
случаях, когда это неприменимо (см. выше), выводится <tt>N/A</tt>. В указанных режимах
 +
турнира в таблице посылок добавляется новый столбец “Score”, в котором отображается
 +
количество баллов, полученное за данную попытку. Количество баллов отображается
 +
в формате ''S1(A) = S2'', где ''S1'' — количество баллов заработанное на тестах, ''A'' — номер
 +
попытки, ''S2'' — количество баллов с учётом штрафа за попытку.
  
С помощью элемента “Problem” необходимо выбрать задачу для сдачи. Если задача
+
17. В столбце “New result” выводится список возможных статусов посылки, которые можно
вариантная (то есть значение конфигурационной переменной <tt>[[serve.cfg:problem:variant_num|variant_num]]</tt> конфигурационного файла <tt>[[serve.cfg]]</tt> больше нуля), привилегированный пользователь может
+
установить с помощью кнопки “change” (18). Список возможных статусов зависит от
выбрать любой вариант задачи. Крайний срок сдачи задачи (см. конфигурационную переменную задачи <tt>[[serve.cfg:problem:deadline|deadline]]</tt>) игнорируется, то есть для сдачи доступны даже задачи,
+
режима турнира.
крайний срок сдачи которых истёк.
 
  
Элементы меню выбора имеют вид ''“S — L”'', где ''S'' — это короткое имя задачи, определяемое конфигурационной переменной short_name раздела описания задачи, а ''L'' —
+
18. С помощью кнопки “change” можно установить статус посылки, выбранный с помощью
это длинное имя, определяемое конфигурационной переменной <tt>[[serve.cfg:problem:long_name|long_name]]</tt>. Для вариантных задач элементы меню выбора имеют вид ''“S-V — L”'', где ''V'' — номер варианта
+
меню “New result” (17).
(целое число от 1 до значения конфигурационной переменной <tt>[[serve.cfg:problem:variant_num|variant_num]]</tt>.
 
  
8. С помощью элемента ввода “Language” необходимо выбрать язык программирования.
+
19. Ссылка “View source” позволяет переключиться в режим просмотра исходного текста
 +
посылки и полной служебной информации об этой посылки. Также в режиме просмотра
 +
исходного текста посылки возможно редактирование служебной информации.
  
Привилегированному пользователю доступны все языки программирования, включая
+
20. Ссылка “View report” позволяет переключиться в режим просмотра протокола тестирования посылки.
языки, у которых установлена конфигурационная переменная <tt>[[serve.cfg:language:disabled|disabled]]</tt> секции описания языка программирования конфигурационного файла задачи <tt>[[serve.cfg]]</tt>.
 
  
Элементы меню выбора имеют вид ''“S — L”'', где ''S'' — это короткое языка программирования, определяемое конфигурационной переменной <tt>[[serve.cfg:language:short_name|short_name]]</tt> раздела описания
+
21. Ссылки быстрой навигации подробно описаны выше.
языка программирования, а ''L'' — это длинное имя, определяемое конфигурационной
 
переменной <tt>[[serve.cfg:language:long_name|long_name]]</tt>.
 
 
 
9. С помощью элемента “File” необходимо выбрать файл с исходным текстом программы.
 
Для этого нужно нажать на кнопку “Browse”, и с помощью стандартного диалога
 
выбора файла выбрать файл с исходным текстом программы.
 
 
 
10. При нажатии на кнопку “Send” программа будет передана серверу турнира, который
 
занесёт её в базу посылок и начнёт её обработку.
 
 
 
11. Кнопка “Rejudge displayed runs” отправляет на перетестирование все посылки, которые
 
отображаются в данном окне в соответствии с выражением фильтра. Все остальные
 
команды пересуживания посылок являются, по сути, частными случаями данной команды.
 

Latest revision as of 11:41, 24 February 2012

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


На рис. 4.7 приведена часть главной страницы, генерируемой CGI-программой master, на которой находятся элементы просмотра и управления журналом посылок. Эти элементы управления доступны как в течение турнира, так и после его завершения. Все элементы подробно описаны ниже.

1. Здесь показывается текущая статистика по посылкам текущего турнира. “Total submissions” — это общее количество посылок в базе посылок. “Filtered” — количество посылок после фильтрации с помощью выражения фильтра посылок. “Shown” — количество отображённых посылок. Если в выражении фильтра посылок не указано количество отображаемых посылок, отображается 20 последних посылок.

2. В этом поле ввода задаётся выражение фильтра посылок. Чтобы выражение фильтра посылок было применено, необходимо нажать кнопку “View” (5). Чтобы сбросить выражение фильтра, необходимо нажать на кнопку “Reset filter” (6). Если выражение фильтра не определено, фильтр посылок отключён.

3. Это поле ввода позволяет задать посылку, которая будет отображаться первой в списке посылок.

4. Это поле ввода позволяет задать посылку, которая будет отображаться последней в списке посылок. Данное поле ввода совместно с полем ввода (3) позволяет задать диапазон отображаемых посылок. Пусть значение поля “First run” равно A, а значение поля “Last run” равно B. Выбор диапазона просмотра производится после фильтрации посылок в соответствии с установленным фильтром посылок. Пусть после применения фильтра посылок осталось N посылок, удовлетворяющих этому фильтру. Посылки нумеруются от 0 и до N −1.

Если значение A или B отрицательно, то соответствующее значение преобразуется в порядковый номер посылки среди отобранных посылок по формуле N +A. Таким образом, номер посылки −1 обозначает последнюю посылку среди отобранных. Пусть A′, B′ — номера посылок после описанного выше преобразования. Тогда если A′ > B′, то посылки выводятся в обратном порядке от посылки с большим номером к посылке с меньшим номером, то есть от более «молодой» к более «старой». Более старая посылка будет размещаться внизу страницы. Если A′B′, то посылки выводятся в прямом порядке от посылки с меньшим номером к посылке с большим номером, то есть от более «старой» к более «молодой». Более новая посылка будет размещаться внизу страницы.

5. К помощью кнопки “View” включается фильтр посылок (2) и выбор диапазона отображаемых посылок (3) и (4).

6. С помощью кнопки “Reset filter” текущие установки фильтра посылок и диапазона отображаемых посылок сбрасываются в значения по умолчанию. По умолчанию фильтр посылок отключён, то есть отображаются все посылки. Отображается не более 20 последних посылок в обратном порядке (от более «молодой» к более «старой»).

Следующие элементы отображения используются для показа информации о посылках.

7. В столбце “Run ID” отображается порядковый номер посылки в базе посылок. Первая посылка имеет номер 0.

8. В столбце “Time” отображается время от начала турнира до момента получения этой посылки. Для турниров неограниченной продолжительности предпочтительнее показывать не время, прошедшее от начала турнира, а астрономическое время. Для этого необходимо установить в значение true значение глобальной конфигурационной переменной show_astr_time конфигурационного файла турнира serve.cfg.

9. В столбце “Size” показывается размер программы в данной посылки в байтах.

10. В столбце “IP” показывается IP-адрес компьютера, с которого была послана посылка.

11. В столбце “Team ID” отображается идентификатор участника турнира. Идентификатор участника турнира — это целое число, большее 0.

12. В столбце “Team name” отображается имя участника турнира. Имя участника вводится самим участником турнира при его регистрации на турнир с помощью CGI-программы register. Если участник турнира не установил имя участника, используется регистрационное имя (login) участника.

13. В столбце “Problem” отображается короткое имя задачи, решаемой данной посылкой. Короткое имя задачи берётся из значения конфигурационной переменной short_name раздела описания задачи конфигурационного файла serve.cfg. Если по тем или иным причинам идентификатору задачи, хранящемуся в базе данных, не соответствует никакой задачи, печатается числовой идентификатор задачи.

14. В столбце “Language” отображается короткое имя языка программирования, использованного в данной посылке. Короткое имя языка программирования берётся из значения конфигурационной переменной short_name раздела описания языка программирования конфигурационного файла serve.cfg. Если по тем или иным причинам идентификатору языка программирования, хранящемуся в базе данных, не соответствует никакого языка, печатается числовой идентификатор языка программирования.

15. В столбце “Result” отображается статус данной посылки. Возможное множество значений статуса посылки зависит от типов турнира. Все возможные значения статуса перечислены в таблице Статус посылки.

16. В столбце “Failed test” показывается минимальный номер теста, на котором тестируемая программа дала неверный результат. В случае решения, прошедшего все тесты, либо решения, получившего статус “Compilation error”, “Ignored”, “Accepted for testing”, в данном столбце выводится N/A. Такое правило действует только для турниров в режиме ACM.

Для турниров в режиме KIROV и OLYMPIAD этот столбец называется “Passed tests” и показывает количество тестов, на которых программа дала правильный ответ. В случаях, когда это неприменимо (см. выше), выводится N/A. В указанных режимах турнира в таблице посылок добавляется новый столбец “Score”, в котором отображается количество баллов, полученное за данную попытку. Количество баллов отображается в формате S1(A) = S2, где S1 — количество баллов заработанное на тестах, A — номер попытки, S2 — количество баллов с учётом штрафа за попытку.

17. В столбце “New result” выводится список возможных статусов посылки, которые можно установить с помощью кнопки “change” (18). Список возможных статусов зависит от режима турнира.

18. С помощью кнопки “change” можно установить статус посылки, выбранный с помощью меню “New result” (17).

19. Ссылка “View source” позволяет переключиться в режим просмотра исходного текста посылки и полной служебной информации об этой посылки. Также в режиме просмотра исходного текста посылки возможно редактирование служебной информации.

20. Ссылка “View report” позволяет переключиться в режим просмотра протокола тестирования посылки.

21. Ссылки быстрой навигации подробно описаны выше.