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