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

From EjudgeWiki

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

Время выхода: 26 июня 2015 г.

Предыдущая версия Следующая версия

После инсталляции не забудьте выполнить ejudge-upgrade-web!

При конфигурировании системы проверяется наличие библиотеки libmongo-client, и если она обнаружена, компилируется поддержка хранения состояния пользователя турнира в базе Mongo.

В XML конфигурационном файле турнира поддерживается атрибут id="auto" для задания идентификатора турнира. В этом случае Id турнира определяется по имени файла.

В конфигурационном файле турнира serve.cfg может отсутствовать Id турнира (contest_id). В этом случае он определяется автоматически по имени файла.

Улучшение совместимости по формату DWARF с разными версиями Linux и разными компиляторами.

В конфигурационном файле ejudge.xml поддерживается элемент <default_xuser_plugin> позволяющий задавать плагин по умолчанию для хранения состояния пользователей турнира.

ej-compile

Глобальные конфигурационные переменные compile_max_vm_size, compile_max_stack_size, compile_max_file_size хранят 64-битные значения и на 32-битной, и на 64-битной платформе. Если установленные ограничения превышают возможности платформы (например, на i386 установлен лимит адресного пространства 8 гб), они игнорируются.

Конфигурационные переменные языкового процессора max_vm_size, max_stack_size, max_file_size также всегда хранят 64-битные значения и обрабатываются аналогично описанным выше.

Улучшена поддержка gfortran на Ubuntu.

Улучшена поддержка kumir2.

ej-contest

Поддерживается хранение текущего состояния обычного пользователя в базе данных MongoDB. По умолчанию эта возможность отключена.

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

Добавлена глобальная конфигурационная переменная show_sha1. Если она установлена, участнику будет отображаться SHA1 от его посылок (в сокращенной форме).

Добавлена конфигурационная переменная задачи ok_status. Она позволяет установить статус, который получают посылки, проходящие все тесты. По умолчанию этот статус - OK. Если включена опция use_ac_not_ok, то этот статус равен PR, а с помощью ok_status можно установить любой статус.

Пользовательский интерфейс участника турнира использует jquery вместо dojo.

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

Конфигурационная переменная stand_hide_time наследуется из абстрактной задачи.

Конфигурационные переменные задачи max_vm_size, max_stack_size, max_file_size всегда хранятся как 64-битные значения. Если платформа не позволяет установить заданные ограничения (например, на i386 установлен лимит адресного пространства равный 8гб), тестирование завершится со статусом CF.

При генерации случайных паролей используются только 32 символа (визуально отличающиеся строчные латинские буквы и цифры), при этом длина пароля сокращена с 16 до 8 символов, таким образом, для генерации пароля используется 40 случайных бит.

ej-page-gen

Реализован простой макропроцессор. Макросы определяются с помощью конструкции

<!#define NAME
BODY
#!>

В теле макроса можно использовать подстановки @1, @2 ... @3, которые будут заменяться на значения параметров при вызове макроса. Макросы вызываются с помощью конструкции

<!@expand NAME ARGS !>

В качестве аргументов в настоящее время поддерживаются только строки.

Поддерживается больше типов данных Си, больше атрибутов элементов.

ej-super-run

Информация, выведенная всеми запускаемыми программами (тестируемая программа, чекер, интерактор, и т. д.) кодируется в BASE64, если она не является корректным UTF-8 текстом.

ej-super-server

При сохранении конфигурационных файлов после редактирования используется новая возможность по неявному указанию Id турнира в файле. То есть при сохранении XML файла используется значение "auto" атрибута id, а при сохранении serve.cfg переменная contest_id не сохраняется.

Переработан интерфейс просмотра списка пользователей. Интерфейс реализован с помощью jquery grid. Доступен поиск и сортировка по полям. Снимок экрана

Переработан интерфейс редактирования настроек турнира. Снимок экрана 1 Снимок экрана 2 Снимок экрана 3

Удален интерфейс редактирования настроек турнира, основанный на dojo (он ранее был доступен по ссылке "New edit").