Редактор схем публикации предназначен для задания схем публикации разделов. Схема публикации привязывается к шаблону. Т.е. все разделы, созданные по одному шаблону имеют одну и ту же схему публикации.
Схема публикации задается, как перечень переходов из статуса в статус, которые могут осуществляться для раздела. При этом для каждого перехода задается начальный и конечный статус. Начальный – этот тот статус, в котором раздел пребывает до осуществления перехода, конечный – это статус, в который раздел попадает по завершении перехода. Рассмотрим пример:
Предположим, статья сначала создается в статусе «Черновик». Затем ее отправляют на вычитку главному редактору, т.е. переводят в статус «На проверке». Главный редактор может эту статью как опубликовать, т.е. перевести в статус «Опубликовано», так и отправить на доработку, т.е. перевести в статус «В доработке». После доработки статья снова попадает на вычитку главному редактору. Схема переходов для этого случая приведена на рисунке:
Для этого случая необходимо будет задать следующие переходы:
| Исходный статус | Финальный статус |
|---|---|
| Черновик | Черновик |
| На проверке | На проверке |
| Опубликовано | На проверке |
| В доработке | В доработке |
| На проверке | Опубликовано |
При попытке задать переход, в исходный статус которого нет перехода, выдается сообщение об ошибке, и переход не сохраняется.
Например, если для шаблона задана такая схема переходов: null ->1, 1->2, 2->3, 2->4, 5->6. В этом случае переход 5->6 является некорректным, т.к. в его исходный статус (5) перехода в схеме нет.
При удалении перехода также проводится аналогичная проверка. Если в результате удаления получается некорректная схема переходов, удаление не производится. Для каждого перехода задается перечень ролей, которые имеют право его осуществить.