Difference between revisions of "Изменения в версии 2.3.12"
Line 1: | Line 1: | ||
Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Разработка]]/[[Изменения в версии 2.3.12]] | Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Разработка]]/[[Изменения в версии 2.3.12]] | ||
+ | |||
+ | === Общие изменения === | ||
Корректно поддерживаются Google Chrome и другие браузеры на движке WebKit. | Корректно поддерживаются Google Chrome и другие браузеры на движке WebKit. | ||
Line 42: | Line 44: | ||
=== ejudge-upgrade-web === | === ejudge-upgrade-web === | ||
− | Этот скрипт обновляет каталог ejudge веб-сервера, необходимый для работы клиентской веб-части. Скрипт скачивает dojo-1.2, инсталлирует его в каталоге $(HTDOCS)/ejudge, а также создает необходимые символические ссылки на файлы и CGI-программы. Если на веб-сервере не используются виртуальные хосты, и при конфигурировании ejudge были правильно указаны значения опций --with-httpd-htdocs-dir и --with-httpd-cgi-bin-dir, скрипт можно запускать без аргументов: | + | Этот скрипт обновляет каталог <tt>ejudge</tt> веб-сервера, необходимый для работы клиентской веб-части. Скрипт скачивает dojo-1.2, инсталлирует его в каталоге <tt>$(HTDOCS)/ejudge</tt>, а также создает необходимые символические ссылки на файлы и CGI-программы. Если на веб-сервере не используются виртуальные хосты, и при конфигурировании ejudge были правильно указаны значения опций <tt>--with-httpd-htdocs-dir</tt> и <tt>--with-httpd-cgi-bin-dir</tt>, скрипт можно запускать без аргументов: |
ejudge-upgrade-web | ejudge-upgrade-web | ||
В противном случае можно указать каталог корня документов и CGI-программ, например так: | В противном случае можно указать каталог корня документов и CGI-программ, например так: | ||
Line 50: | Line 52: | ||
=== contest.xml === | === contest.xml === | ||
− | Добавлен новый элемент <sched_time>, который позволяет задавать запланированное время старта турнира в конфигурационном файле. При создании таблиц турнира запланированное время старта копируется в таблицы турнира, после чего может изменяться администратором турнира. | + | Добавлен новый элемент <tt><sched_time></tt>, который позволяет задавать запланированное время старта турнира в конфигурационном файле. При создании таблиц турнира запланированное время старта копируется в таблицы турнира, после чего может изменяться администратором турнира. |
− | Добавлен атрибут "disable_member_delete" элемента <contest> вместо флага DISABLE_MEMBER_DELETE. Элемент <client_flags> поддерживается для совместимости при чтении, но при записи XML-файла элемент <client_flags> уничтожается. | + | Добавлен атрибут <tt>"disable_member_delete"</tt> элемента <tt><contest></tt> вместо флага <tt>DISABLE_MEMBER_DELETE</tt>. Элемент <tt>>client_flags></tt> поддерживается для совместимости при чтении, но при записи XML-файла элемент <tt><client_flags></tt> уничтожается. |
− | Флаг IGNORE_TIME_SKEW удален, но поддерживается при чтении. Флаг DISABLE_TEAM удален, но поддерживается при чтении. | + | Флаг <tt>IGNORE_TIME_SKEW</tt> удален, но поддерживается при чтении. Флаг <tt>DISABLE_TEAM</tt> удален, но поддерживается при чтении. |
− | Атрибут "enable_forgot_password" переименован в "enable_password_recovery". Атрибут "enable_forgot_password" | + | Атрибут <tt>"enable_forgot_password"</tt> переименован в <tt>"enable_password_recovery"</tt>. Атрибут <tt>"enable_forgot_password"</tt> поддерживается для совместимости, но при записи XML-файла заменяется на <tt>"enable_password_recovery"</tt>. |
− | поддерживается для совместимости, но при записи XML-файла заменяется на "enable_password_recovery". | ||
− | Атрибут "new_managed" переименован в "managed". | + | Атрибут <tt>"new_managed"</tt> переименован в <tt>"managed"</tt>. |
− | В правах пользователей поддерживаются специальные множества прав OBSERVER_SET, JUDGE_SET, MASTER_SET, которые заменяют собой набор прав соответствующих уровней доступа. | + | В правах пользователей поддерживаются специальные множества прав <tt>OBSERVER_SET</tt>, <tt>JUDGE_SET</tt>, <tt>MASTER_SET</tt>, которые заменяют собой набор прав соответствующих уровней доступа. |
=== userlist-server === | === userlist-server === | ||
Line 73: | Line 74: | ||
В случае, если пользователь, зарегистрированный по процедуре упрощенной регистрации, пытается зарегистрироваться на обычный турнир, выводится соответствующее сообщение об ошибке. | В случае, если пользователь, зарегистрированный по процедуре упрощенной регистрации, пытается зарегистрироваться на обычный турнир, выводится соответствующее сообщение об ошибке. | ||
− | Добавлена глобальная конфигурационная переменная | + | Добавлена глобальная конфигурационная переменная <tt>notify_clar_reply</tt> (Global settings/Contestant's |
capabilities/Enable e-mail clar notifications). Если она установлена, то при отправке пользователю сообщения от жюри, ответа на сообщение пользователя или комментария к посылке пользователя, ему отсылается уведомительное письмо по электронной почте. Уведомления по почте не рассылаются для сообщений, отправляемых всем участникам. | capabilities/Enable e-mail clar notifications). Если она установлена, то при отправке пользователю сообщения от жюри, ответа на сообщение пользователя или комментария к посылке пользователя, ему отсылается уведомительное письмо по электронной почте. Уведомления по почте не рассылаются для сообщений, отправляемых всем участникам. | ||
− | Добавлена глобальная конфигурационная переменная | + | Добавлена глобальная конфигурационная переменная <tt>notify_status_change</tt> (Global settings/Contestant's |
capabilities/Enable e-mail status change notifications). Если она установлена, то при изменении статуса посылки пользователя ему по электронной почте направляется уведомительное письмо. | capabilities/Enable e-mail status change notifications). Если она установлена, то при изменении статуса посылки пользователя ему по электронной почте направляется уведомительное письмо. | ||
=== serve-control === | === serve-control === | ||
− | Поддерживается редактирование параметра задачи | + | Поддерживается редактирование параметра задачи <tt>xml_file</tt>. |
При попытке редактирования турнира, который уже открыт на редактирование другим пользователем выдается соответствующее сообщение. | При попытке редактирования турнира, который уже открыт на редактирование другим пользователем выдается соответствующее сообщение. | ||
Line 89: | Line 90: | ||
=== run === | === run === | ||
− | Если в параметре | + | Если в параметре <tt>start_env</tt> указано просто имя переменной без значения, например, |
start_env="PATH" | start_env="PATH" | ||
тогда будет сохранено текущее значение этой переменной окружения. | тогда будет сохранено текущее значение этой переменной окружения. |
Revision as of 21:48, 18 November 2008
Навигация: Главная страница/Система 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"
тогда будет сохранено текущее значение этой переменной окружения.