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

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

लेबल के लाइफ़साइकल का डायग्राम.
तीसरी इमेज. लेबल की लाइफ़साइकल
  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 होगी.