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