Difference between revisions of "Изменения в версии 2.3.12"
(New page: Навигация: Главная страница/Система ejudge/Разработка/Изменения в версии 2.3.12) |
|||
Line 1: | Line 1: | ||
Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Разработка]]/[[Изменения в версии 2.3.12]] | Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Разработка]]/[[Изменения в версии 2.3.12]] | ||
+ | |||
+ | Корректно поддерживаются Google Chrome и другие браузеры на движке WebKit. | ||
+ | |||
+ | Упрощены конфигурационные настройки для использования MySQL. Теперь общие параметры подключения к БД, такие как имя базы, логин, пароль задаются в секции конфигурирования плагина <tt>mysql_common</tt> следующим образом: | ||
+ | |||
+ | <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> | ||
+ | |||
+ | Обратите внимание, что пароли для доступа к БД могут быть вынесены в отдельный файл с помощью <tt><password_file></tt>. Указанный файл может быть доступен на чтение только пользователю, из-под которого работают серверные программы ejudge. Если не указан абсолютный путь к файлу, он ищется в том же каталоге, в котором расположен <tt>ejudge.xml</tt>. | ||
+ | |||
+ | Файл пароля должен содержать две строки: в первой строке записывается логин пользователя для доступа к MySQL, во второй строке записывается пароль. | ||
+ | |||
+ | Для всех конфигурационных переменных, требующих задания времени, например, <tt><registration_deadline></tt> и пр., поддерживаются различные форматы задания времени: | ||
+ | |||
+ | 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" | ||
+ | тогда будет сохранено текущее значение этой переменной окружения. |
Revision as of 21:43, 18 November 2008
Навигация: Главная страница/Система 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"
тогда будет сохранено текущее значение этой переменной окружения.