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

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

תרשים של מחזור החיים של תוויות.
איור 3. מחזור החיים של תווית
  1. Create a label (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 של העדכונים הבאים.