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