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

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

תרשים של מחזור החיים של התוויות.
איור 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 מספר העדכונים הרצופים.