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

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

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