SciCMS Core поддерживает три способа отслеживания (перехвата) жизненного цикла (ЖЦ) сущностей - хуки, вызов кастомных методов и продвижение (promotion). Для реализации бизнес-логики в этих методах сущность должна иметь имплементацию (класс-обработчик) на сервере, подробнее см. в документации SciCMS Core.
Клиентское приложение, в свою очередь, позволяет настраивать спецификацию ЖЦ сущности и выполнять продвижение записей в рамках этого ЖЦ. Пункт меню для управления ЖЦ - Администрирование/Жизненные циклы. Для редактирования спецификации используется библиотека diagram-js:
Продвижение в рамках ЖЦ выполняется нажатием на кнопку Переместить. При этом появляется список доступных этапов ЖЦ, на которую может быть перемещена запись с текущего этапа:
Если на сервере имеется класс-обработчик ЖЦ, то вызывается метод promote
этого обработчика.
Данный метод может выполнять любую бизнес-логику (отправки оповещений, постановка заданий в очередь, запись в БД и пр.).
Значение нового этапа ЖЦ сохраняется в поле Состояние ЖЦ записи.