लेबल का लाइफ़साइकल

लेबल, फ़ील्ड, और विकल्पों की लाइफ़साइकल में, ये अलग-अलग स्थितियों में होते हैं. इसके अलावा, लेबल के अलग-अलग वर्शन हो सकते हैं. यहां दिए गए डायग्राम में, लेबल की लाइफ़साइकल के बारे में बताया गया है. इसमें वर्शन की जानकारी भी शामिल है:

लेबल के लाइफ़साइकल का डायग्राम.
तीसरी इमेज. किसी लेबल की लाइफ़साइकल
  1. लेबल बनाना (create())—लेबल बनाया जाता है और इसे डेटाबेस में revision_id=1 के तौर पर सेव किया जाता है. लेबल की स्थिति UNPUBLISHED_DRAFT होती है. इस स्थिति में:
    • उपयोगकर्ता लेबल नहीं देख सकते
    • उपयोगकर्ता, Drive के आइटम पर लेबल लागू नहीं कर सकते.
  2. (ज़रूरी नहीं) लेबल, फ़ील्ड या विकल्प को अपडेट करना (delta())— हर अपडेट को डेटाबेस में सेव किया जाता है. भले ही, उसे पब्लिश न किया गया हो. साथ ही, लेबल का वर्शन बढ़ जाता है.
  3. लेबल पब्लिश करना (publish())—लेबल की स्थिति PUBLISHED होती है और उपयोगकर्ता लेबल लागू कर सकते हैं. लेबल पब्लिश करने पर, उसका वर्शन बढ़ जाता है.
  4. (ज़रूरी नहीं) लेबल, फ़ील्ड या विकल्प को अपडेट करना (delta())— लेबल, फ़ील्ड या विकल्प को अपडेट किया जाता है और इसे डेटाबेस में ड्राफ़्ट लेबल के तौर पर सेव किया जाता है. लेबल की स्थिति PUBLISHED होती है. साथ ही, hasUnpublishedChanges=true का मतलब है कि ड्राफ़्ट में बदलाव किए गए हैं, लेकिन ये उपयोगकर्ताओं के लिए उपलब्ध नहीं हैं. हर अपडेट के बाद, लेबल का वर्शन बढ़ जाता है.
  5. (ज़रूरी नहीं) लेबल पब्लिश करना (publish())—अगर उपलब्ध हो, तो सबसे नया ड्राफ़्ट पब्लिश किया जाता है. लेबल की स्थिति PUBLISHED होती है और उपयोगकर्ता लेबल लागू कर सकते हैं. लेबल पब्लिश करने पर, उसका वर्शन बढ़ जाता है.
  6. लेबल बंद करना (disable())—लेबल की स्थिति DISABLED होती है. हालांकि, उपयोगकर्ता एपीआई के ज़रिए लेबल लागू कर सकते हैं. हालांकि, बंद किया गया लेबल यूज़र इंटरफ़ेस (यूआई) में तब तक नहीं दिखता, जब तक उसे दिखाने के लिए कॉन्फ़िगर न किया गया हो. लेबल को बंद करने पर, उसका वर्शन बढ़ जाता है.
  7. लेबल चालू करना (enable())—लेबल की स्थिति PUBLISHED हो जाती है और उपयोगकर्ता लेबल लागू कर सकते हैं. लेबल पब्लिश करने पर, उसका वर्शन बढ़ जाता है.
  8. लेबल मिटाना (delete())—लेबल की स्थिति DELETED होती है और इसे लागू नहीं किया जा सकता. मिटाए गए लेबल को बाद में पूरी तरह हटा दिया जाता है.

यह जानना ज़रूरी है कि लेबल में कोई भी अपडेट करने पर, उसका वर्शन बढ़ जाता है. इसके अलावा, अगर लेबल पहले से पब्लिश किया गया है और n अपडेट के बाद उसे फिर से पब्लिश किया जाता है, तो पब्लिश किए गए लेबल का वर्शन, वर्शन + n + 1 होगा. यहां n का मतलब है, लगातार किए गए अपडेट की संख्या.