Метки, поля и варианты выбора проходят определённые состояния на протяжении своего жизненного цикла. Кроме того, метки могут иметь различные версии. На следующей диаграмме показан жизненный цикл метки, включая версии:
- Создание метки (
create()
) — метка создаётся и сохраняется в базе данных какrevision_id=1
. Метка имеет состояниеUNPUBLISHED_DRAFT
. В этом состоянии:- Пользователи не могут просматривать этикетку
- Пользователи не могут применять метку к элементам Диска.
- (необязательно) Обновите метку, поле или выбор (
delta()
) — каждое обновление, даже до его публикации, сохраняется в базе данных, а номер версии метки увеличивается. - Публикация метки (
publish()
) — метка имеет статусPUBLISHED
, и пользователи могут её применять. Публикация метки увеличивает её номер версии. - (необязательно) Обновить метку, поле или вариант (
delta()
) — метка, поле или вариант обновляются и сохраняются в базе данных как черновик метки. Метка имеет статусPUBLISHED
сhasUnpublishedChanges=true
что означает наличие черновиков изменений, но они недоступны пользователям. Каждое обновление увеличивает номер версии метки. - (необязательно) Опубликовать метку (
publish()
) — если доступно, публикуется самый последний черновик. Метка имеет статусPUBLISHED
, и пользователи могут её применить. Публикация метки увеличивает её версию. - Отключение метки (
disable()
) — метка имеет состояниеDISABLED
, хотя пользователи могут применить её через API. Однако отключённая метка не отображается в пользовательском интерфейсе, если не настроено её отображение. Отмена метки увеличивает её версию. - Включить метку (
enable()
) — метка возвращается в состояниеPUBLISHED
, и пользователи могут её применить. Публикация метки увеличивает её номер версии. - Удалить метку (
delete()
) — метка имеет статусDELETED
и не может быть применена. Удалённые метки в конечном итоге очищаются.
Важно подчеркнуть, что каждое обновление метки увеличивает её номер версии. И если метка уже была опубликована, её повторная публикация после n обновлений означает, что номер опубликованной версии равен номеру версии + n + 1.