標籤生命週期

標籤、欄位和選項會在生活中經歷特定狀態。 此外,標籤可能有不同的修訂版本。下圖顯示標籤生命週期,包括修訂版本:

標籤生命週期圖表。
圖 3. 標籤的生命週期
  1. Create a label (create()) (建立標籤):這個標籤是以 revision_id=1 的形式建立,並儲存在資料庫中。這個標籤的狀態為 UNPUBLISHED_DRAFT。在這個狀態下:
    • 使用者無法查看標籤
    • 使用者無法將標籤套用至雲端硬碟項目。
  2. (選用) 更新標籤、欄位或選項 (delta()):每次更新 (即使在發布前) 都會儲存在資料庫中,標籤的修訂版本也會遞增。
  3. 發布標籤 (publish()) - 標籤顯示 PUBLISHED 狀態,使用者可以套用該標籤。發布標籤會使修訂版本遞增。
  4. (選用) 更新標籤、欄位或選項 (delta()):標籤、欄位或選項會更新,並以草稿標籤儲存在資料庫中。標籤的 PUBLISHED 狀態是 hasUnpublishedChanges=true,表示目前有草稿變更,但使用者無法存取。每次更新都會遞增標籤的修訂版本。
  5. (選用) 發布標籤 (publish()):如果有,系統會發布最新的草稿。標籤狀態為 PUBLISHED,且使用者可以套用該標籤。發布標籤時,其版本也會遞增。
  6. 停用標籤 (disable()) - 標籤的狀態為 DISABLED,但使用者可透過 API 套用標籤。不過,除非設定顯示,否則停用的標籤不會顯示在 UI 中。淘汰標籤會使修訂版本增加。
  7. 啟用標籤 (enable()):標籤返回 PUBLISHED 狀態,使用者可以套用該標籤。發布標籤會使修訂版本遞增。
  8. 刪除標籤 (delete()) - 標籤的狀態為 DELETED,因此無法套用。系統最終會清除已刪除的標籤。

請務必強調,每更新標籤都會增加標籤的修訂版本。如果標籤已發布,則在 n 更新後再次發布,表示其已發布的修訂版本編號為修訂版本 + n + 1 次連續更新。