วงจรของป้ายกํากับ

ป้ายกำกับ ช่อง และตัวเลือกต่างๆ จะดำเนินไปตามสถานะเฉพาะต่างๆ ตลอดชีวิต นอกจากนี้ ป้ายกำกับอาจมีการแก้ไขที่แตกต่างกัน แผนภาพต่อไปนี้แสดงวงจรการทำงานของป้ายกำกับ รวมถึงการแก้ไข

แผนภาพวงจรของป้ายกำกับ
ภาพที่ 3 วงจรของป้ายกำกับ
  1. สร้างป้ายกำกับ (create()) - ระบบจะสร้างป้ายกำกับและจัดเก็บไว้ในฐานข้อมูลเป็น revision_id=1 ป้ายกำกับมีสถานะ UNPUBLISHED_DRAFT ในสถานะนี้
    • ผู้ใช้ดูป้ายกำกับไม่ได้
    • ผู้ใช้จะใช้ป้ายกำกับดังกล่าวกับรายการในไดรฟ์ไม่ได้
  2. (ไม่บังคับ) อัปเดตป้ายกำกับ ช่อง หรือตัวเลือก (delta()) - ระบบจะจัดเก็บการอัปเดตทุกครั้ง (แม้ว่าจะเผยแพร่แล้ว) ในฐานข้อมูล และจะมีการแก้ไขของป้ายกำกับเพิ่มขึ้น
  3. เผยแพร่ป้ายกำกับ (publish()) - ป้ายกำกับมีสถานะ PUBLISHED และผู้ใช้จะใช้ป้ายกำกับนี้ได้ การเผยแพร่ป้ายกำกับจะเป็นการเพิ่มการแก้ไข
  4. (ไม่บังคับ) อัปเดตป้ายกํากับ ช่อง หรือตัวเลือก (delta()) - ระบบจะอัปเดตป้ายกํากับ ช่อง หรือตัวเลือก และจัดเก็บไว้ในฐานข้อมูลเป็นป้ายกํากับฉบับร่าง ป้ายกำกับมีสถานะ PUBLISHED โดยมี hasUnpublishedChanges=true หมายความว่ามีการเปลี่ยนแปลงฉบับร่าง แต่ผู้ใช้ไม่พร้อมใช้งาน การอัปเดตแต่ละครั้ง จะเพิ่มการแก้ไขของป้ายกำกับ
  5. (ไม่บังคับ) เผยแพร่ป้ายกำกับ (publish()) - ระบบจะเผยแพร่ฉบับร่างล่าสุด หากมี ป้ายกำกับมีสถานะ PUBLISHED และผู้ใช้จะใช้ป้ายกำกับได้ การเผยแพร่ป้ายกำกับจะเป็นการเพิ่มเวอร์ชัน
  6. ปิดใช้ป้ายกำกับ (disable()) - ป้ายกำกับมีสถานะ DISABLED แต่ผู้ใช้จะใช้ป้ายกำกับผ่าน API ได้ อย่างไรก็ตาม ป้ายกำกับที่ปิดใช้จะไม่แสดงใน UI เว้นแต่จะมีการกำหนดค่าให้แสดง การเลิกใช้ป้ายกำกับจะเป็นการเพิ่ม การแก้ไขของป้ายกำกับนั้น
  7. เปิดใช้ป้ายกำกับ (enable()) - ป้ายกำกับจะกลับไปเป็นสถานะ PUBLISHED และผู้ใช้จะใช้ป้ายกำกับนั้นได้ การเผยแพร่ป้ายกำกับจะเป็นการเพิ่มการแก้ไข
  8. ลบป้ายกำกับ (delete()) - ป้ายกำกับมีสถานะ DELETED และจะใช้ไม่ได้ ป้ายกำกับที่ลบแล้วจะถูกลบถาวรในที่สุด

ควรเน้นย้ำว่าการอัปเดตป้ายกำกับทุกครั้งจะเป็นการเพิ่มการแก้ไขของป้ายกำกับ และถ้าเผยแพร่ป้ายกำกับแล้ว การเผยแพร่อีกครั้งหลังจากการอัปเดต n หมายความว่าหมายเลขการแก้ไขที่เผยแพร่คือการแก้ไข + n + จำนวนการอัปเดตต่อเนื่องกัน