Модуль добавляет новый тип атрибута AttributeAlarmClock (будильник) для использования в XML-модели данных. Атрибут позволяет выполнять заданные действия в указанное время и запускать триггеры для отправки уведомлений.
Для работы модуля требуется установка расширенного компилятора:
- Переименовать папку alarm-clock-attribute-master в alarm-clock-attribute, если качали zip.
- Загрузить папку с модулем в /itop/extensions/.
- Скопировать с заменой файл /itop/extensions/alarm-clock-attribute/setup/compiler.class.inc.php в папку /itop/setup. Не забудьте сохранить оригинальную версию компилятора!
- Запустить процедуру обновления iTop.
ВНИМАНИЕ: модуль должен быть указан в зависимостях других модулей, которые используют атрибут AttributeAlarmClock.
<field id="name" xsi:type="AttributeAlarmClock">
<sql>name</sql>
<default_value/>
<is_null_allowed>true</is_null_allowed>
<actions> <!-- Обязательный атрибут, даже если внутри пусто -->
<action>
<verb>MethodName</verb> <!-- Название метода текущего объекта -->
<params> <!-- Обязательный атрибут -->
<param xsi:type="bool|int|float|string|reference">ev_escalate</param> <!-- Параметры, передаваемые методу -->
<param>Param2</param> <!-- По умолчанию xsi:type="string" -->
</params>
</action>
<action>
<verb>AnotherMethodName</verb>
<params>
<param>param1</param>
<param>param2</param>
</params>
</action>
</actions>
</field>
Пример использования: https://github.com/itop-itsm-ru/alarm-clock-attribute-example.
Модуль добавляет новый класс триггера Триггер на будильник (TriggerOnAlarmClock), который срабатывает после срабатывания соответствующего будильника.
Триггер имеет один дополнительный параметр Будильник, в котором указывается код атрибута отслеживаемого будильника.
Пример:
Будильник: end_warranty_date
В поле Будильник через SQL REGEXP можно указать несколько будильников.
Пример:
Будильник: ^end_warranty_date$|^next_check_date$
Такой триггер будет запускаться при срабатывании любого из указанных будильников.
Модуль добавляет дополнительные плейсхолдеры в уведомления:
-
$alarm->attcode$ - название поля сработавшего будильника, например Дата окончания гарантии; -
$alarm->value$ - время срабатывания будильника в формате 2014-06-12 12:00:00.