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

From EjudgeWiki
Revision as of 06:50, 10 April 2011 by Cher (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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

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

Корректно поддерживаются 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"

тогда будет сохранено текущее значение этой переменной окружения.