תוויות, שדות ואפשרויות עוברים מצבים ספציפיים במהלך החיים שלהם. בנוסף, יכול להיות שלתוויות יהיו גרסאות שונות. בתרשים הבא מוצג מחזור החיים של התווית, כולל ניהול גרסאות:
- יצירת תווית (
create()
) – התווית נוצרת ונשמרת במסד נתונים בתורrevision_id=1
. התווית במצבUNPUBLISHED_DRAFT
. במצב הזה:- המשתמשים לא יכולים לראות את התווית
- המשתמשים לא יכולים להחיל את התווית על פריטים ב-Drive.
- (אופציונלי) מעדכנים תווית, שדה או בחירה (
delta()
) – כל עדכון, גם לפני שהוא מתפרסם, נשמר במסד נתונים, והמספר של הגרסה של התווית גדל. - פרסום תווית (
publish()
) – התווית במצבPUBLISHED
והמשתמשים יכולים להחיל את התווית. פרסום התווית מגדיל את מספר הגרסה שלה. - (אופציונלי) עדכון תווית, שדה או בחירה (
delta()
) – התווית, השדה או הבחירה מתעדכנים ונשמרים במסד נתונים כתווית טיוטה. התווית כוללת את המצבPUBLISHED
עםhasUnpublishedChanges=true
, כלומר יש שינויים בטיוטה, אבל הם לא זמינים למשתמשים. כל עדכון מגדיל את מספר הגרסה של התווית. - (אופציונלי) פרסום תווית (
publish()
) – אם יש טיוטה, היא תפורסם. התווית במצבPUBLISHED
והמשתמשים יכולים להחיל אותה. כשמפרסמים את התווית, הגרסה שלה מתעדכנת. - השבתת תווית (
disable()
) – התווית במצבDISABLED
, אבל המשתמשים יכולים להוסיף את התווית דרך ה-API. עם זאת, תווית מושבתת לא מוצגת בממשק משתמש אלא אם היא מוגדרת להצגה. הוצאה משימוש של התווית מגדילה את מספר הגרסה שלה. - הפעלת תווית (
enable()
) – התווית חוזרת למצבPUBLISHED
והמשתמשים יכולים להחיל אותה. פרסום התווית מגדיל את מספר הגרסה שלה. - מחיקת תווית (
delete()
) – התווית במצבDELETED
ואי אפשר להחיל אותה. תוויות שנמחקו נמחקות באופן סופי.
חשוב להדגיש שכל עדכון של תווית מגדיל את מספר הגרסה של התווית. בנוסף, אם התווית כבר פורסמה, פרסום חוזר שלה אחרי n עדכונים פירושו שמספר הגרסה שפורסמה הוא גרסה + n + 1 מספר העדכונים הרצופים.