Для автоматизации управления содержимым сайта в Plone 3.0 была введена новая возможность — Content rules (Правила для содержимого). Эти правила позволяют определять действие, автоматически выполняемое при изменении состояния триггера — величины, принимающей значение Правда или Ложь. Правило определяется взаимодействием трех его составляющих: если произошло определенное событие и при этом некоторое условие приняло истинное значение, то будет выполнено определенное действие.
Определение правила состоит из нескольких этапов:
Вызов форм для управления и создания правил производится на странице, показанной на Рис. 7.1, доступной в разделе Установки сайта через ссылку Правила контента.
Все правила имеют глобальный характер, т.е. весь набор правил действует на все объекты сайта. Установка действия правил или их выключение производится при помощи опции Включить глобально на панели Глобальные настройки. Условия действия каждого правила и определение его действия для каждого конкретного объекта определяются раздельно в соответствующих формах.
На панели Правила содержимого отображается список всех созданных правил, условия отображения которых определяются опцией списка Показать.
Создание нового правила и определение его свойств производится через специальную форму (см. Рис. 7.2), доступную после нажатия кнопки Добавить правило содержимого в форме управления правилами.
Свойства Заголовок и Описание обычны для всех типов. Более интересны и важны свойства Активно и Остановить выполнение правил (Stop executing rules). Глобальный характер правил затрудняет отладку приложения и не позволяет гибко менять набор действующих правил для сайта. Свойства Активно и Остановить выполнение правил позволяют управлять действием как отдельного правила, так и группы правил.
Включение или отключение опции Активно включает или выключает правило, что позволяет при отладке сайта включать и тестировать правила последовательно.
Установка опции Остановить выполнение правил выключает действие всех правил после выполнения текущего.
Набор событий, используемых для определения правил содержимого, выбирается из списка Запускающее событие (Triggering event) и включает в себя:
После сохранения свойств правила пользователь автоматически перемещается в форму управления, где в соответствующем списке появится ссылка на созданное правило.
Перейдя по ссылке, соответствующей нужному правилу, через специальную форму (см. Рис. 7.3), можно определить действия, назначаемые правилу.
Выбор действия сопровождается уточнением условий, ограничивающих круг объектов, для которых оно совершается.
Список Добавить условие содержит опции, после выбора которых открывается соответствующая форма настройки.
Через специальную форму (см. Рис. 7.4) производится выбор одного или нескольких типов относительно действий, с которыми создается правило.
Через специальную форму (см. Рис. 7.5) производится выбор расширения файла, связанного с объектом типа File, относительно действий, с которыми создается правило.
Через специальную форму (см. Рис. 7.6) производится выбор состояния объекта, для которого будет отслеживаться наступление события и выполняться соответствующее действие.
Через специальную форму (см. Рис. 7.7) производится выбор групп пользователей, действия которых будут отслеживаться.
Через специальную форму (см. Рис. 7.7) производится выбор ролей пользователя, действия которых будут отслеживаться.
Действие, назначаемое правилу, выбирается из списка Добавить действие. Этот список включает действия:
Выбор этой опции позволяет производить запись об происшедшем событии в
указанный файл отчета. Отчет сохраняется в подкаталоге
log каталога экземпляра
сервера. Определение наименования файла отчета и
шаблона записи производится через специальную форму
(см. Рис. 7.9).
Выбор этой опции позволяет сформировать сообщение о состоянии объекта и передать его пользователю при совершении события. Настройка параметров сообщения производится через специальную форму (см. Рис. 7.10).
В поле Сообщение определяется текст сообщения, а из списка Message type — тип сообщения. Доступны стили сообщения, условно обозначенные следующим образом:
Выбор папки для сохранения объектов производится через специальную форму (см. Рис. 7.11).
Текстовое поле Папка назначения позволяет указать целевую папку двумя способами:
Ввести в поле путь к папке. Путь указывается относительно корневой папки портала.
Ввести в поле поисковый запрос и нажать кнопку Поиск. В этом случае производится поиск по названиям папок и результирующий список выводится в форму, после чего возможен или прямой выбор папки из списка, просмотр выбранной папки (нажатие кнопки Просмотр), или переход к родительской папке и выбор целевой папки из ее содержимого. Переход производится нажатием кнопки Parent. На Рис. 7.11 приведен пример выполнения поискового запроса.
Выбор папки для перемещения объектов производится через специальную форму (см. Рис. 7.12).
Текстовое поле Папка назначения позволяет указать целевую папку двумя способами:
Ввести в поле путь к папке. Путь указывается относительно корневой папки портала.
Ввести в поле поисковый запрос и нажать кнопку Поиск. В этом случае производится поиск по названиям папок и результирующий список выводится в форму, после чего возможен или прямой выбор папки из списка, просмотр выбранной папки (нажатие кнопки Просмотр) или переход к родительской папке и выбор целевой папки из ее содержимого. Переход производится нажатием кнопки Parent. На Рис. 7.12 приведен пример выполнения поискового запроса.
Для данного действия формы настройки нет.
Производится перевод объекта в одно из состояний, определяемое
workflow для данного типа объектов.
Выбор состояния объекта производится через специальную форму (см. Рис. 7.13).
Производится отправка сообщения. Адрес, тема и текст сообщения определяются через специальную форму настройки сообщения электронной почты (см. Рис. 7.14).
Для правила можно определить несколько условий и действий одновременно. Таким образом можно определить правило, применимое к нескольким группам различных объектов и выполняющее несколько действий одновременно. На Рис. 7.15 приведен пример определения такого правила.
В нижней части формы находится ссылка на папку, к содержимому которой применено данное правило.
Назначение правила для папки производится через вкладку Правила (см. Рис. 7.16).
Назначение правила производится выбором необходимых правил управления из списка Установить правило здесь (Assign rule here). В списке представлены все правила, которые глобально определены на сайте и для которых установлена опция активности.
Для лучшей организации хранения данных иногда возникает необходимость предотвратить добавление объектов определенных типов в разделы сайта. Так, например, при создании фотоальбома необходимо разрешить добавление только объектов типа Изображение.
Для определения списка типов, доступных для добавления в каталог, необходимо перейти в нужный каталог и из меню Добавить новый элемент выбрать опцию Дополнительно. В появившемся окне (см. Рис. 7.17) можно определить ограничения на типы добавляемых объектов.
Только объекты отмеченных типов будут доступны для добавления в папку, где определены эти ограничения.