Ярлыки, поля и варианты выбора проходят через определенные состояния на протяжении всей своей жизни. Кроме того, этикетки могут иметь разные версии. На следующей диаграмме показан жизненный цикл этикетки, включая изменение:
- Создать метку (
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 количества последовательных обновлений.