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

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

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