ป้ายกำกับ ช่อง และตัวเลือกจะผ่านสถานะต่างๆ ตลอดอายุการใช้งาน นอกจากนี้ ป้ายกำกับอาจมีเวอร์ชันที่แตกต่างกัน แผนภาพต่อไปนี้แสดงวงจรของป้ายกำกับ ซึ่งรวมถึงการแก้ไข
- สร้างป้ายกำกับ (
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 ซึ่งเป็นจำนวนการอัปเดตต่อเนื่อง