תוויות, שדות ואפשרויות בחירה עוברים למצבים ספציפיים בחיים שלהם. בנוסף, יכול להיות שיופיעו גרסאות שונות של התוויות. בתרשים הבא מוצג מחזור החיים של התווית, כולל תיקון:
- יצירת תווית (
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 מספר העדכונים הרצופים.