Изменения в версии 2.3.13

From EjudgeWiki

Навигация: Главная страница/Система ejudge/Разработка/История версий/Изменения в версии 2.3.13

Общие изменения

Улучшен запуск и остановка ejudge. Программы проверяют, что они уже запущены, по списку процессов и никогда не запускаются, если уже работают.

Для единообразия переименованы многие программы: командный интерфейс пользователя:

       new-server-cmd          ->      ejudge-contests-cmd
       edit-userlist           ->      ejudge-edit-users
       execute                 ->      ejudge-execute
       job-server-cmd          ->      ejudge-jobs-cmd

серверные программы:

       compile                 ->      ej-compile
       compile-control         ->      ej-compile-control
       new-server              ->      ej-contests
       new-server-control      ->      ej-contests-control
       convert-clars           ->      ej-convert-clars
       convert-runs            ->      ej-convert-runs
       job-server              ->      ej-jobs
       job-server-control      ->      ej-jobs-control
       run                     ->      ej-run
       serve                   ->      ej-serve
       super-serve             ->      ej-super-server
       super-serve-control     ->      ej-super-server-control
       userlist-server         ->      ej-users
       userlist-server-control ->      ej-users-control

ej-contests

Добавлены новые переменные stand_column, stand_name, internal_name секции описания задачи.

Переменная stand_name позволяет задавать название столбца задачи в таблице текущих результатов турнира. Если переменная не определена, то в качестве названия столбца используется короткое имя задачи short_name.

Переменная stand_column позволяет отображать результаты по данной задаче в столбце, относящемся к другой задаче, имя которой задается в значении переменной. Столбец, относящийся к задаче с установленным значением stand_column, не показывается. Значением stand_column должно быть либо значение stand_name, либо значение short_name некоторой другой задачи, у которой не должна быть установлена stand_column. Например:

[problem]
short_name = "A-1"
stand_name = "A"
[problem]
short_name = "A-2"
stand_column = "A"
[problem]
short_name = "A-3"
stand_column = "A"

Результаты по задачам "A-1", "A-2" и "A-3" будут отображены в столбце "A". Отдельных столбцов для "A-2" и "A-3" в таблице не будет. Переменной `stand_name' соответствует форматная подстановка %PS.

Значение переменной internal_name может использоваться в качестве компоненты пути к тестам или проверяющим программам. Этой переменной соответствует форматная подстановка %PL. Пример использования:

[problem]
short_name = "A"
internal_name = "abc"
long_name = "An Abc problem"
test_dir = "%PL"

В этом случае файлы с тестами будут размещаться не в каталоге tests/A, а в каталоге tests/abc.

На странице привилегированных пользователей доступны ссылки "View users for IP addresses" и "View IP addresses for users". По первой ссылке отображается таблица, в которой для каждого IP-адреса в турнире перечисляется список пользователей, входивших с этого адреса. По второй ссылке отображается таблица, в которой для каждого пользователя перечисляется список IP-адресов, с которых он заходил в турнир.

Добавление новых записей по CSV-таблице (ссылка "Add new runs in CSV format") возможно в трех режимах:

  • "Create new submits, fail if a submit already exists" - в котором добавляются только новые записи
  • "Modify existing submits, fail if a submit does not exist" - в котором только модифицируются существующие записи
  • "Create non-existing submits and modify existing submits" - если запись существует, то она модифицируется, а в противном случае создается.

При ручной установке статуса посылки в OK автоматически устанавливается максимальное количество баллов за задачу.

На странице просмотра непривилегированных пользователей выводится информация о суммарном числе посылок и о суммарном размере посылок.

В XML-условиях задач поддерживаются подстановки переменных в вариантах ответов.

Поддерживаются интерактивные задачи. В интерактивных задачах ход тестирования определяется не только фиксированными тестовыми данными, но и выводом тестируемой программы. Для интерактивных задач параллельно с тестируемой программой запускается программа-интерактор. Стандартный вывод тестируемой программы направляется на стандартный ввод программы-интерактора, а стандартный ввод тестируемой программы соединяется со стандартным выводом программы-интерактора. Правила описания программы-интерактора описаны на странице: программы-интеракторы.

Для интерактивных задач должна быть установлена переменная interactor_cmd раздела описания задачи. Кроме того, может быть установлена переменная interactor_env для установки массива переменных окружения.

ej-super-server

Полностью реализовано новое редактирование настроек турнира. Особенность нового режима редактирования - не нужно нажимать на кнопку "Change" при изменении значения параметра.