תווית מחזור החיים

תוויות, שדות ובחירות עוברים מצבים ספציפיים במהלך החיים שלהם. בנוסף, לתוויות יכולות להיות גרסאות שונות. בתרשים הבא מוצג מחזור החיים של התווית, כולל גרסאות:

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

חשוב להדגיש שכל עדכון של תווית מגדיל את הגרסה שלה. אם התווית כבר פורסמה, פרסום שלה שוב אחרי n עדכונים יגרום לכך שמספר הגרסה שיפורסם יהיה מספר הגרסה + n + 1 (מספר העדכונים הרצופים).