Etykiety, pola i opcje przechodzą przez określone stany w trakcie swojego cyklu życia. Etykiety mogą też mieć różne wersje. Poniższy diagram przedstawia cykl życia etykiety, w tym wersjonowanie:
- Utwórz etykietę (
create()) – etykieta jest tworzona i przechowywana w bazie danych jakorevision_id=1. Etykieta ma stanUNPUBLISHED_DRAFT. W tym stanie:- użytkownicy nie mogą wyświetlać etykiety,
- użytkownicy nie mogą stosować etykiety do elementów na Dysku.
- (Opcjonalnie) Zaktualizuj etykietę, pole lub opcję (
delta()) – każda aktualizacja, nawet przed opublikowaniem, jest przechowywana w bazie danych, a wersja etykiety jest zwiększana. - Opublikuj etykietę (
publish()) – etykieta ma stanPUBLISHEDi użytkownicy mogą ją stosować. Opublikowanie etykiety zwiększa jej wersję. - (Opcjonalnie) Zaktualizuj etykietę, pole lub opcję (
delta()) – etykieta, pole lub opcja jest aktualizowana i przechowywana w bazie danych jako wersja robocza. Etykieta ma stanPUBLISHEDzhasUnpublishedChanges=true, co oznacza, że istnieją zmiany w wersji roboczej, ale nie są one dostępne dla użytkowników. Każda aktualizacja zwiększa wersję etykiety. - (Opcjonalnie) Opublikuj etykietę (
publish()) – jeśli jest dostępna, publikowana jest najnowsza wersja robocza. Etykieta ma stanPUBLISHEDi użytkownicy mogą ją stosować. Opublikowanie etykiety zwiększa jej wersję. - Wyłącz etykietę (
disable()) – etykieta ma stanDISABLED, ale użytkownicy mogą ją stosować za pomocą interfejsu API. Wyłączona etykieta nie jest jednak wyświetlana w interfejsie, chyba że jest skonfigurowana tak, aby się wyświetlała. Wycofanie etykiety zwiększa jej wersję. - Włącz etykietę (
enable()) – etykieta wraca do stanuPUBLISHEDi użytkownicy mogą ją stosować. Opublikowanie etykiety zwiększa jej wersję. - Usuń etykietę (
delete()) – etykieta ma stanDELETEDi nie można jej zastosować. Usunięte etykiety są ostatecznie usuwane.
Należy podkreślić, że każda aktualizacja etykiety zwiększa jej wersję. Jeśli etykieta została już opublikowana, ponowne opublikowanie jej po n aktualizacjach oznacza, że jej opublikowany numer wersji to wersja + n + 1 kolejnych aktualizacji.