標籤、欄位和選項在生活中會經歷特定狀態。此外,標籤也可能有不同的修訂版本。下圖顯示標籤生命週期,包括修訂版本:
- 建立標籤 (
create()
):標籤以revision_id=1
的形式建立並儲存在資料庫中。標籤的狀態為UNPUBLISHED_DRAFT
。在以下狀態下:- 使用者無法查看標籤
- 使用者無法將標籤套用至雲端硬碟項目。
- (選用) 更新標籤、欄位或選項 (
delta()
):每次更新 (即使在發布前) 都會儲存在資料庫中,標籤的修訂版本也會遞增。 - 發布標籤 (
publish()
):標籤的狀態為PUBLISHED
,使用者可以套用標籤。發布標籤會遞增修訂版本。 - (選用) 更新標籤、欄位或選項 (
delta()
):更新標籤、欄位或選項,並以草稿標籤的形式儲存在資料庫中。該標籤的狀態為PUBLISHED
且帶有hasUnpublishedChanges=true
,表示有草稿變更,但使用者無法查看。每次更新都會遞增標籤的修訂版本。 - (選用) 發布標籤 (
publish()
):如有,系統會發布最新的草稿。該標籤的狀態為PUBLISHED
,而使用者可以套用標籤。發布標籤會遞增版本。 - 停用標籤 (
disable()
):標籤的狀態為DISABLED
,但使用者可以透過 API 套用標籤。然而,除非設為顯示,否則已停用的標籤不會顯示在 UI 中。淘汰標籤會遞增修訂版本。 - 啟用標籤 (
enable()
):標籤將傳回PUBLISHED
狀態,且使用者可以套用標籤。發布標籤會遞增修訂版本。 - 刪除標籤 (
delete()
) - 標籤的狀態為DELETED
,無法套用。系統最終會清除已刪除的標籤。
請務必強調,每次更新標籤都會增加標籤的修訂版本。如果標籤已發布,則在「n」n更新後再次發布,代表其發布的修訂版本編號為修訂版本 +「n」n+ 1 次後續更新。