Difference between revisions of "Изменения в версии 2.3.12"

From EjudgeWiki
 
(One intermediate revision by the same user not shown)
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>&lt;sched_time&gt;</tt>, который позволяет задавать запланированное время старта турнира в конфигурационном файле. При создании таблиц турнира запланированное время старта копируется в таблицы турнира, после чего может изменяться администратором турнира.
  
Добавлен атрибут "disable_member_delete" элемента <contest> вместо флага DISABLE_MEMBER_DELETE. Элемент <client_flags> поддерживается для совместимости при чтении, но при записи XML-файла элемент <client_flags> уничтожается.
+
Добавлен атрибут <tt>"disable_member_delete"</tt> элемента <tt>&lt;contest&gt;</tt> вместо флага <tt>DISABLE_MEMBER_DELETE</tt>. Элемент <tt>&gt;client_flags&gt;</tt> поддерживается для совместимости при чтении, но при записи XML-файла элемент <tt>&lt;client_flags&gt;</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:
 
В случае, если пользователь, зарегистрированный по процедуре упрощенной регистрации, пытается зарегистрироваться на обычный турнир, выводится соответствующее сообщение об ошибке.
 
В случае, если пользователь, зарегистрированный по процедуре упрощенной регистрации, пытается зарегистрироваться на обычный турнир, выводится соответствующее сообщение об ошибке.
  
Добавлена глобальная конфигурационная переменная `notify_clar_reply' (Global settings/Contestant's
+
Добавлена глобальная конфигурационная переменная <tt>notify_clar_reply</tt> (Global settings/Contestant's
 
capabilities/Enable e-mail clar notifications). Если она установлена, то при отправке пользователю сообщения от жюри, ответа на сообщение пользователя или комментария к посылке пользователя, ему отсылается уведомительное письмо по электронной почте. Уведомления по почте не рассылаются для сообщений, отправляемых всем участникам.
 
capabilities/Enable e-mail clar notifications). Если она установлена, то при отправке пользователю сообщения от жюри, ответа на сообщение пользователя или комментария к посылке пользователя, ему отсылается уведомительное письмо по электронной почте. Уведомления по почте не рассылаются для сообщений, отправляемых всем участникам.
  
Добавлена глобальная конфигурационная переменная `notify_status_change' (Global settings/Contestant's
+
Добавлена глобальная конфигурационная переменная <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 ===
  
Поддерживается редактирование параметра задачи `xml_file'.
+
Поддерживается редактирование параметра задачи <tt>xml_file</tt>.
  
 
При попытке редактирования турнира, который уже открыт на редактирование другим пользователем выдается соответствующее сообщение.
 
При попытке редактирования турнира, который уже открыт на редактирование другим пользователем выдается соответствующее сообщение.
Line 89: Line 90:
 
=== run ===
 
=== run ===
  
Если в параметре `start_env' указано просто имя переменной без значения, например,
+
Если в параметре <tt>start_env</tt> указано просто имя переменной без значения, например,
 
  start_env="PATH"
 
  start_env="PATH"
 
тогда будет сохранено текущее значение этой переменной окружения.
 
тогда будет сохранено текущее значение этой переменной окружения.

Latest revision as of 06:50, 10 April 2011

Навигация: Главная страница/Система 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"

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