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

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

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