Изменения в версии 2.3.12
Навигация: Главная страница/Система ejudge/Разработка/История версий/Изменения в версии 2.3.12
Contents
Общие изменения
Корректно поддерживаются Google Chrome и другие браузеры на движке WebKit.
Упрощены конфигурационные настройки для использования MySQL. Теперь общие параметры подключения к БД, такие как имя базы, логин, пароль задаются в секции конфигурирования плагина mysql_common следующим образом:
<plugins> <plugin type="common" name="mysql" load="yes"> <config> <password_file>ejudge_password.txt</password_file> <database>ejudge</database> </config> </plugin> <plugin type="rldb" name="mysql" load="yes"> <config/> </plugin> <plugin type="cldb" name="mysql" load="yes"> <config/> </plugin> <plugin type="uldb" name="mysql" load="yes" default="yes"> <config/> </plugin> </plugins>
Обратите внимание, что пароли для доступа к БД могут быть вынесены в отдельный файл с помощью <password_file>. Указанный файл может быть доступен на чтение только пользователю, из-под которого работают серверные программы ejudge. Если не указан абсолютный путь к файлу, он ищется в том же каталоге, в котором расположен ejudge.xml.
Файл пароля должен содержать две строки: в первой строке записывается логин пользователя для доступа к MySQL, во второй строке записывается пароль.
Для всех конфигурационных переменных, требующих задания времени, например, <registration_deadline> и пр., поддерживаются различные форматы задания времени:
2008/11/18 16:20:33 (формат по умолчанию) 16:20:33 2008/11/18 16:20 (если дата опущена, подразумевается сегодня) 2008/11/18 (если время опущено, подразумевается 00:00:00) 2008-11-18 16:20:33 (формат дат MySQL) 16:20 18/11 (подразумевается текущий год)
Клиентская часть теперь использует dojo-1.2 вместо dojo-0.4.
Исправлены несколько ошибок при разборе IP-адресов и масок.
ejudge-upgrade-web
Этот скрипт обновляет каталог ejudge веб-сервера, необходимый для работы клиентской веб-части. Скрипт скачивает dojo-1.2, инсталлирует его в каталоге $(HTDOCS)/ejudge, а также создает необходимые символические ссылки на файлы и CGI-программы. Если на веб-сервере не используются виртуальные хосты, и при конфигурировании ejudge были правильно указаны значения опций --with-httpd-htdocs-dir и --with-httpd-cgi-bin-dir, скрипт можно запускать без аргументов:
ejudge-upgrade-web
В противном случае можно указать каталог корня документов и CGI-программ, например так:
ejudge-upgrade-web /var/www/html /var/www/cgi-bin
У пользователя, запускающего скрипт должно быть достаточно прав для записи в эти каталоги. Скачанный архив dojo-1.2 сохраняется в домашнем каталоге пользователя и не скачивается повторно, если он уже существует там.
contest.xml
Добавлен новый элемент <sched_time>, который позволяет задавать запланированное время старта турнира в конфигурационном файле. При создании таблиц турнира запланированное время старта копируется в таблицы турнира, после чего может изменяться администратором турнира.
Добавлен атрибут "disable_member_delete" элемента <contest> вместо флага DISABLE_MEMBER_DELETE. Элемент >client_flags> поддерживается для совместимости при чтении, но при записи XML-файла элемент <client_flags> уничтожается.
Флаг IGNORE_TIME_SKEW удален, но поддерживается при чтении. Флаг DISABLE_TEAM удален, но поддерживается при чтении.
Атрибут "enable_forgot_password" переименован в "enable_password_recovery". Атрибут "enable_forgot_password" поддерживается для совместимости, но при записи XML-файла заменяется на "enable_password_recovery".
Атрибут "new_managed" переименован в "managed".
В правах пользователей поддерживаются специальные множества прав OBSERVER_SET, JUDGE_SET, MASTER_SET, которые заменяют собой набор прав соответствующих уровней доступа.
userlist-server
Если в турнире разрешено восстановление паролей, то успешное восстановление пароля сбрасывает флаг упрощенной регистрации пользователя. Таким образом, пользователь сможет участвовать в любых турнирах, а не только допускающих упрощенную регистрацию.
new-server
Исправлены проблемы в отображении списка сообщений при включенном режиме "только неотвеченные".
В случае, если пользователь, зарегистрированный по процедуре упрощенной регистрации, пытается зарегистрироваться на обычный турнир, выводится соответствующее сообщение об ошибке.
Добавлена глобальная конфигурационная переменная notify_clar_reply (Global settings/Contestant's capabilities/Enable e-mail clar notifications). Если она установлена, то при отправке пользователю сообщения от жюри, ответа на сообщение пользователя или комментария к посылке пользователя, ему отсылается уведомительное письмо по электронной почте. Уведомления по почте не рассылаются для сообщений, отправляемых всем участникам.
Добавлена глобальная конфигурационная переменная notify_status_change (Global settings/Contestant's capabilities/Enable e-mail status change notifications). Если она установлена, то при изменении статуса посылки пользователя ему по электронной почте направляется уведомительное письмо.
serve-control
Поддерживается редактирование параметра задачи xml_file.
При попытке редактирования турнира, который уже открыт на редактирование другим пользователем выдается соответствующее сообщение.
Если турнир открыт на редактирование в другой сессии того же самого пользователя, он может либо сбросить результаты редактирования из другой сессии, либо продолжить редактирование из другой сессии. В другой сессии дальнейшее редактирование становится невозможным.
run
Если в параметре start_env указано просто имя переменной без значения, например,
start_env="PATH"
тогда будет сохранено текущее значение этой переменной окружения.