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

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

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