НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
175 of 182 menu

Таблица workflow

Таблица workflow является центральной таблицей модуля Workflow в Drupal. Она хранит определения рабочих процессов, которые представляют собой наборы состояний и переходов между ними. Каждый тип контента (нода, комментарий, пользовательский объект) может быть связан с определенным рабочим процессом для управления его жизненным циклом.

Поля

Поле Тип данных Описание
wid serial Уникальный идентификатор рабочего процесса. Первичный ключ таблицы.
name varchar(255) Название рабочего процесса. Используется для идентификации в административном интерфейсе.
tab_roles int Флаг, определяющий, показывать ли вкладку рабочего процесса на странице редактирования контента. 1 - показывать, 0 - скрыть.
options text Дополнительные настройки рабочего процесса в сериализованном формате. Могут включать настройки комментариев, уведомлений и другие параметры.

Как это работает

Каждый рабочий процесс представляет собой конечный автомат состояний, через которые проходит контент. При создании рабочего процесса администратор определяет начальное состояние (например, "Черновик"), промежуточные состояния ("На проверке", "Одобрено") и конечное состояние ("Опубликовано").

Таблица workflow хранит только метаданные рабочих процессов. Конкретные состояния и переходы хранятся в связанных таблицах: workflow_states и workflow_transitions.

Рабочие процессы могут быть привязаны к типам контента через административный интерфейс или программно. Когда контент создается или редактируется, система проверяет, какой рабочий процесс связан с данным типом контента, и отображает доступные переходы между состояниями в зависимости от роли пользователя.

Поле options хранит сериализованный массив настроек, которые могут включать:

  • Настройки комментариев при смене состояния
  • Настройки уведомлений по email
  • Правила автоматического перехода состояний
  • Настройки отображения рабочего процесса в интерфейсе

Пример SQL-запроса

Получить список всех рабочих процессов с их настройками можно следующим запросом:

SELECT wid, name, tab_roles, options FROM workflow ORDER BY name;

Найти рабочий процесс по имени:

SELECT wid, name, tab_roles, options FROM workflow WHERE name = 'Editorial';

Смотрите также

  • таблицу workflow_states,
    которая хранит состояния рабочих процессов
  • таблицу workflow_transitions,
    которая хранит переходы между состояниями
  • таблицу workflow_node_history,
    которая хранит историю изменений состояний
  • таблицу workflow_scheduled_transition,
    которая хранит запланированные переходы состояний
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить