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

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

लेबल के लाइफ़साइकल का डायग्राम.
तीसरी इमेज. किसी लेबल की लाइफ़साइकल
  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 का मतलब है, लगातार किए गए अपडेट की संख्या.