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

From EjudgeWiki
Revision as of 20:24, 28 December 2008 by Cher (talk | contribs) (New page: === Общие изменения === Улучшен запуск и остановка ejudge. Программы проверяют, что они уже запущены, по спис...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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

Улучшен запуск и остановка 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-условиях задач поддерживаются подстановки переменных в вариантах ответов.

Поддерживаются интерактивные задачи. В интерактивных задачах ход тестирования определяется не только фиксированными тестовыми данными, но и выводом тестируемой программы. Для интерактивных задач параллельно с тестируемой программой запускается программа-интерактор. Стандартный вывод тестируемой программы направляется на стандартный ввод программы-интерактора, а стандартный ввод тестируемой программы соединяется со стандартным выводом программы-интерактора. Правила описания программы-интерактора описаны на странице: http://ejudge.ru/wiki/index.php/%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%B\ C%D1%8B-%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D1%8B

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

ej-super-server

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