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