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

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

แผนภาพวงจรการใช้งานป้ายกำกับ
รูปที่ 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 + จำนวนการอัปเดตติดต่อกัน 1 รายการ