Разработка: workflows/tags — различия между версиями
(Новая страница: «{{Infobox_Plugin | name = tags | type = workflows }} =workflow/tags - Статусы тегов= Плагин рабочих процессов предназнач...») |
|||
(не показаны 2 промежуточные версии этого же участника) | |||
Строка 7: | Строка 7: | ||
Работает в паре с модулем storage/tags. | Работает в паре с модулем storage/tags. | ||
Позволяет организовать смену статуса тега в зависимости от текущего статуса. | Позволяет организовать смену статуса тега в зависимости от текущего статуса. | ||
+ | |||
+ | ==Права плагина== | ||
+ | * changestatus - право на смену статуса объектов | ||
==Возможные статусы:== | ==Возможные статусы:== | ||
Строка 15: | Строка 18: | ||
* Удален (deleted) - удаленный тег. | * Удален (deleted) - удаленный тег. | ||
− | + | ==Метастатусы== | |
* Активный: new, active, notavailable, failed | * Активный: new, active, notavailable, failed | ||
* Актуальный: new, active, notavailable, failed | * Актуальный: new, active, notavailable, failed | ||
Строка 24: | Строка 27: | ||
Правила описания маршрутов: описания возможностей перехода в новый статус на основании текущего статуса и условия, действительные только при переходе в новый статус из текущего статуса, группируются по текущему статусу, описания возможностей перехода в новый статус не зависящие от текущего статуса группируются по новому статусу. | Правила описания маршрутов: описания возможностей перехода в новый статус на основании текущего статуса и условия, действительные только при переходе в новый статус из текущего статуса, группируются по текущему статусу, описания возможностей перехода в новый статус не зависящие от текущего статуса группируются по новому статусу. | ||
− | ===Не просчитанный=== | + | === Не просчитанный === |
Возможные переходы ИЗ этого статуса: | Возможные переходы ИЗ этого статуса: | ||
+ | * Не просчитанный | ||
* Активный | * Активный | ||
* Идет просчет | * Идет просчет | ||
Строка 31: | Строка 35: | ||
* Удален | * Удален | ||
− | ===Активный=== | + | === Активный === |
Возможные переходы ИЗ этого статуса: | Возможные переходы ИЗ этого статуса: | ||
− | * | + | * Активный |
* Идет просчет | * Идет просчет | ||
* Ошибка при просчете | * Ошибка при просчете | ||
* Удален | * Удален | ||
− | ===Идет просчет=== | + | === Идет просчет === |
Возможные переходы ИЗ этого статуса: | Возможные переходы ИЗ этого статуса: | ||
− | |||
* Активный | * Активный | ||
+ | * Идет просчет | ||
* Ошибка при просчете | * Ошибка при просчете | ||
* Удален | * Удален | ||
− | ===Ошибка при просчете=== | + | === Ошибка при просчете === |
Возможные переходы ИЗ этого статуса: | Возможные переходы ИЗ этого статуса: | ||
− | |||
* Активный | * Активный | ||
* Идет просчет | * Идет просчет | ||
+ | * Ошибка при просчете | ||
* Удален | * Удален | ||
− | ===Удален=== | + | === Удален === |
Это конечный статус. | Это конечный статус. | ||
Текущая версия на 14:06, 11 декабря 2014
Плагин | |
Название | tags |
Тип | workflows |
Содержание
workflow/tags - Статусы тегов
Плагин рабочих процессов предназначенный для смены статусов тегов. Работает в паре с модулем storage/tags. Позволяет организовать смену статуса тега в зависимости от текущего статуса.
Права плагина
- changestatus - право на смену статуса объектов
Возможные статусы:
- Не просчитанный (new) - новый тег, для которого еще не производился просчет связей.
- Активный (active) - тег, который был успешно просчитан.
- Идет просчет (notavailable) - тег, для которого в данный момент производится просчет связей.
- Ошибка при просчете (failed) - тег, при просчете ссылок которого произошла ошибка.
- Удален (deleted) - удаленный тег.
Метастатусы
- Активный: new, active, notavailable, failed
- Актуальный: new, active, notavailable, failed
- Реальный: new, active, notavailable, failed
- Мусорный: deleted
Маршруты статусов
Правила описания маршрутов: описания возможностей перехода в новый статус на основании текущего статуса и условия, действительные только при переходе в новый статус из текущего статуса, группируются по текущему статусу, описания возможностей перехода в новый статус не зависящие от текущего статуса группируются по новому статусу.
Не просчитанный
Возможные переходы ИЗ этого статуса:
- Не просчитанный
- Активный
- Идет просчет
- Ошибка при просчете
- Удален
Активный
Возможные переходы ИЗ этого статуса:
- Активный
- Идет просчет
- Ошибка при просчете
- Удален
Идет просчет
Возможные переходы ИЗ этого статуса:
- Активный
- Идет просчет
- Ошибка при просчете
- Удален
Ошибка при просчете
Возможные переходы ИЗ этого статуса:
- Активный
- Идет просчет
- Ошибка при просчете
- Удален
Удален
Это конечный статус.
API
get_list()
Получить список всех возможных статусов для проводки
Аргументы:
- (нет)
Возвращаемые значения:
- Массив, со списком всех возможных статусов в формате "Обозначение" => "Название статуса"
get_name()
Получить название статуса по его обозначению в Базе Данных
Аргументы:
- (string) $status - обозначение статуса латинскими буквами
Возвращаемые значения:
- (string|bool) - имя этого статуса, либо false, если он не обнаружен в списке допустимых
get_available()
Получить список статусов, в которые может перейти объект.
Аргументы:
- $id - id объекта в таблице
Возвращаемые значения:
- (array|bool) - массив возможных состояний в формате ('Обозначение' => 'Название статуса') или false в случае когда запись не найдена. В случае, когда переход из этого статуса невозможен - возвращается пустой массив.
change()
Сменить статус на указанный.
Аргументы:
- (int) $id - id объекта в Базе Данных
- (string) $status - обозначение статуса латинскими буквами
- (array) $opt - Массив, где содержатся дополнительные параметры для смены статуса. По умолчанию null.
Возвращаемые значения:
- (bool) true - если статус удалось изменить, или false в случае ошибки
При обращении к функции change() выполняются дополнительные действия, указанные выше, в разделе "Маршруты статусов". При каждом изменении статуса данные записываются в таблицу statushistory.
init()
Запускается при вставке в Базу Данных новой записи. Автоматически назначает добавленной записи статус "Не просчитанный" (new).
Аргументы:
- $id - id только что созданной записи в таблице
Возвращаемые значения:
- (bool) true если статус успешно назначен или false в случае ошибки
Перехватываемые события
Тип плагина | Код плагина | Код события | Пояснение |
---|---|---|---|
storage | tags | insert | Событие добавления записи, произведем инициализацию объекта - добавим начальный статус new |
storage | tags | soft_delete | Событие мягкого удаления записи, произведем смену статуса объекта на deleted |