वर्शन मैनेज करना

Magdalena Skarbińska
Magdalena Skarbińska
Demián Renzulli
Demián Renzulli

आइसोलेटेड वेब ऐप्लिकेशन (आईडब्ल्यूए), वेब प्लैटफ़ॉर्म पर ज़्यादा भरोसेमंद, सुरक्षित, और वर्शन-डिस्क्रीट रनटाइम एनवायरमेंट उपलब्ध कराते हैं. प्रोडक्शन एनवायरमेंट में, खास तौर पर मैनेज किए गए एंटरप्राइज़ में, एडमिन और डेवलपर को सॉफ़्टवेयर डिप्लॉयमेंट पर बेहतर कंट्रोल की ज़रूरत होती है.

इन ज़रूरी शर्तों को पूरा करने के लिए, Chrome, IWAs के लिए वर्शन मैनेजमेंट की कई सुविधाएं उपलब्ध कराता है. इनमें अपडेट चैनल, वर्शन पिन करना, और वर्शन डाउनग्रेड करना शामिल हैं. इन सुविधाओं की मदद से, डिप्लॉयमेंट का अनुमान लगाया जा सकता है और उपयोगकर्ताओं के ग्रुप के लिए तुरंत रिकवरी कंट्रोल मिलते हैं.

उपलब्धता

वर्शन मैनेजमेंट का तरीका इस बात पर निर्भर करता है कि आईडब्ल्यूए को एडमिन मैनेज करता है या उपयोगकर्ता सीधे तौर पर इंस्टॉल करता है:

  • मैनेज किए गए आईडब्ल्यूए: एडमिन से जुड़ी सुविधाएं (जैसे, नीति के हिसाब से पिन करना और डाउनग्रेड करना) Chrome 133 से उपलब्ध हैं.
  • मैनेज नहीं किए गए (उपयोगकर्ता के इंस्टॉल किए गए) आईडब्ल्यूए: उपयोगकर्ता के लिए उपलब्ध सुविधाओं (जैसे कि मैन्युअल तरीके से चैनल चुनना) का इस्तेमाल Chrome 150 से किया जा सकता है.

सेशन टाइप की ज़रूरी शर्तें

वर्शन मैनेजमेंट से जुड़ी सभी सुविधाएं, ChromeOS के सभी सेशन टाइप के साथ काम करती हैं. इनमें अपडेट चैनल और वर्शन पिन करने की सुविधा भी शामिल है. इसमें इस तरह का कॉन्टेंट शामिल है:

  • स्टैंडर्ड मैनेज किए गए उपयोगकर्ता सेशन
  • मैनेज किए जा रहे गेस्ट सेशन (एमजीएस)
  • कीऑस्क मोड के लिए खास तौर पर बनाए गए एनवायरमेंट

चैनल अपडेट करें

अपडेट चैनल का इस्तेमाल करके डेवलपर, ऐप्लिकेशन के कुछ बिल्ड को अलग-अलग डिप्लॉयमेंट और टेस्टिंग ऑडियंस के लिए सेगमेंट कर सकते हैं. चैनल कॉन्फ़िगर करने के लिए, ऐप्लिकेशन अपडेट मेनिफ़ेस्ट में हर वर्शन की एंट्री में, चैनलों का एक वैकल्पिक कलेक्शन फ़ील्ड जोड़ें. चैनल के इन नामों में, प्लैटफ़ॉर्म के तय किए गए कीवर्ड (जैसे, canary या stable) का इस्तेमाल करना ज़रूरी नहीं है. इसके बजाय, डेवलपर की ओर से तय किए गए आइडेंटिफ़ायर का इस्तेमाल किया जा सकता है. इन्हें लोअरकेस ASCII अल्फ़ान्यूमेरिक स्ट्रिंग के तौर पर फ़ॉर्मैट किया जाना चाहिए. इनमें हाइफ़न या अंडरस्कोर शामिल हो सकते हैं, लेकिन स्पेस नहीं हो सकते. अगर किसी वर्शन की एंट्री में चैनल फ़ील्ड को पूरी तरह से हटा दिया जाता है, तो Chrome डिफ़ॉल्ट रूप से "डिफ़ॉल्ट" चैनल के लिए इसकी उपलब्धता सेट कर देता है. आखिर में, एडमिन की नीति में तय किया गया चैनल का नाम, मेनिफ़ेस्ट में तय की गई स्ट्रिंग से पूरी तरह मेल खाना चाहिए. टाइपोग्राफ़िकल से जुड़ी किसी भी गड़बड़ी या कॉन्फ़िगरेशन के मेल न खाने पर, ज़रूरी शर्तें पूरी करने वाला कोई भी वर्शन नहीं पहचाना जाएगा. इससे उन क्लाइंट के लिए अपडेट रुक जाएंगे.

मेनिफ़ेस्ट कॉन्फ़िगरेशन

चैनलों को कॉन्फ़िगर करने के लिए, अपने वेब ऐप्लिकेशन मेनिफ़ेस्ट में हर वर्शन एंट्री में एक वैकल्पिक channels ऐरे जोड़ें. इन बातों का ध्यान रखें:

  • चैनल मैपिंग: अगर वर्शन की एंट्री में channels ऐरे तय किया गया है, तो वह वर्शन सिर्फ़ उन चैनलों पर इंस्टॉल किया जा सकता है जिनके बारे में बताया गया है.
  • डिफ़ॉल्ट फ़ॉलबैक: अगर किसी वर्शन एंट्री में channels फ़ील्ड को पूरी तरह से हटा दिया जाता है, तो Chrome यह मान लेता है कि वर्शन सिर्फ़ default चैनल से जुड़ा है.
  • स्ट्रिंग का पूरी तरह मेल खाना: क्लाइंट-साइड की नीति के कॉन्फ़िगरेशन में बताए गए चैनल के नाम, अपडेट मेनिफ़ेस्ट में तय की गई स्ट्रिंग से पूरी तरह मेल खाने चाहिए. यह केस-सेंसिटिव (अक्षर के कैपिटल या स्मॉल होने से फ़र्क़ पड़ता है) होता है. अगर कोई वर्शन, टारगेट किए गए चैनल के नाम से मेल नहीं खाता है, तो ऐप्लिकेशन को ज़रूरी अपडेट नहीं मिलेंगे.

मेनिफ़ेस्ट अपडेट करने का उदाहरण

यहां दिए गए उदाहरण में, अपडेट मेनिफ़ेस्ट दिखाया गया है. यह मेनिफ़ेस्ट, रिलीज़ के कई चैनलों के साथ काम करता है:

{
  "versions": [
    {
      "version": "0.1.0",
      "src": "https://github.com/chromeos/iwa-sink/releases/download/v0.1.0/iwa-sink.swbn",
      "channels": ["delta"]
    },
    {
      "version": "0.2.0",
      "src": "https://github.com/chromeos/iwa-sink/releases/download/v0.2.0/iwa-sink.swbn",
      "channels": ["delta", "default"]
    },
    {
      "version": "0.3.0",
      "src": "https://github.com/chromeos/iwa-sink/releases/download/v0.3.0/iwa-sink.swbn",
      "channels": ["beta", "delta"]
    },
    {
      "version": "0.4.0",
      "src": "https://github.com/chromeos/iwa-sink/releases/download/v0.4.0/iwa-sink.swbn"
    }
  ]
}

इस मेनिफ़ेस्ट के आधार पर, टारगेट किए गए हर चैनल के लिए ये वर्शन उपलब्ध हैं:

  • default: 0.2.0,0.4.0 (जिसमें कोई चैनल नहीं है और डिफ़ॉल्ट रूप से डिफ़ॉल्ट पर सेट है)
  • डेल्टा: 0.1.0, 0.2.0, 0.3.0
  • beta: 0.3.0

IWA अपडेट इंजन, ऐप्लिकेशन के अपडेट मेनिफ़ेस्ट में मौजूद channels फ़ील्ड को देखकर, रिलीज़ के खास चैनलों को टारगेट करने की सुविधा देता है.

वर्शन पिन करने की सुविधा

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

किसी आइसोलेटेड वेब ऐप्लिकेशन (आईडब्ल्यूए) को किसी खास रिलीज़ बिल्ड पर फ़्रीज़ करने के लिए, एंटरप्राइज़ एडमिन IsolatedWebAppInstallForceList नीति में pinned_version प्रॉपर्टी को कॉन्फ़िगर कर सकते हैं. इस सुविधा को मुख्य रूप से, Google Admin Console में मौजूद इंटरैक्टिव यूज़र इंटरफ़ेस (यूआई) कंट्रोल के ज़रिए मैनेज किया जाता है. इसके लिए, IWA इंस्टॉल करने के स्टैंडर्ड वर्कफ़्लो के तहत, ऐप्लिकेशन की जानकारी वाले पैनल में जाना होता है. हालांकि, एडमिन के पास इन नीति की वैल्यू को सीधे तौर पर रॉ JSON कॉन्फ़िगरेशन का इस्तेमाल करके डिप्लॉय करने का विकल्प भी होता है. जब एडमिन किसी मान्य वर्शन स्ट्रिंग को टारगेट कर लेता है, तब Chrome उस पैकेज को डाउनलोड कर लेता है. साथ ही, आगे होने वाले सभी ऑटोमैटिक अपडेट को ब्लॉक कर देता है.

खास व्यवहार और सीमाएं

  • अपडेट फिर से शुरू करना (अनपिन करना): अपने-आप अपडेट होने की सुविधा को फिर से चालू करने के लिए, pinned_version प्रॉपर्टी हटाएं या उसकी वैल्यू को नए टारगेट वर्शन में बदलें.
  • डिफ़ॉल्ट रूप से डाउनग्रेड नहीं किया जाता: pinned_version को मौजूदा इंस्टॉल किए गए वर्शन से कम वर्शन पर सेट करने से, रोलबैक ट्रिगर नहीं होगा. ऐसा तब तक होगा, जब तक allow_downgrades को साफ़ तौर पर चालू नहीं किया जाता.
  • पिन किए गए टारगेट उपलब्ध नहीं हैं: अगर कॉन्फ़िगर किया गया pinned_version, अपडेट के लिए तय किए गए चैनल में मौजूद नहीं है या इंस्टॉल किए गए वर्शन से पुराना है (डाउनग्रेड करने की सुविधा बंद है), तो Chrome, फ़िलहाल इंस्टॉल किए गए वर्शन को बनाए रखेगा और आगे के सभी अपडेट को ब्लॉक कर देगा.
  • नए डिप्लॉयमेंट: अगर किसी मैनेज किए जा रहे डिवाइस पर IWA इंस्टॉल नहीं है और पिन की गई बताई गई version को अपडेट मेनिफ़ेस्ट से नहीं पाया जा सकता या वह मौजूद नहीं है, तो IWA इंस्टॉल नहीं होगा.

वर्शन डाउनग्रेड किया जा रहा है

अगर डिप्लॉय किए गए नए अपडेट से कोई गंभीर गड़बड़ी या जोखिम की संभावना पैदा होती है, तो एडमिन को डिवाइसों को पिछली स्टेबल स्थिति में रोल बैक करना पड़ सकता है. Chrome, मैनेज किए जा रहे पहले से इंस्टॉल किए गए आईडब्ल्यूए को पुराने वर्शन पर डाउनग्रेड करने की सुविधा देता है. यह सुविधा, पहले इस प्लैटफ़ॉर्म पर उपलब्ध नहीं थी. पहले सिर्फ़ फ़ॉरवर्ड अपडेट की अनुमति थी.

नीचे दिए गए नीति से जुड़ी दोनों शर्तें पूरी होने पर ही, प्लान को डाउनग्रेड किया जा सकता है:

  1. pinned_version को किसी मान्य और पुराने वर्शन पर सेट किया गया हो.
  2. allow_downgrades को साफ़ तौर पर सही पर सेट किया गया है.

डाउनग्रेड करने की सुविधा कैसे काम करती है

  • ट्रिगर करने का तरीका: रोलबैक की प्रोसेस, अपडेट की जांच करने के सामान्य साइकल के दौरान होती है. यह साइकल हर 4 से 6 घंटे में चलता है.
  • तकनीकी जानकारी: Chrome, अपडेट मेनिफ़ेस्ट में बताए गए पुराने वेब बंडल (.swbn) का इस्तेमाल करके, आईडब्ल्यूए को पूरी तरह से फिर से इंस्टॉल करता है.

चैनल ट्रांज़िशन लॉजिक

किसी ऐप्लिकेशन के टारगेट किए गए चैनल को नीति के साथ स्विच करने पर, अपडेट इंजन इन खास बातों का पालन करता है:

पहला तरीका: ऐसे चैनल पर स्विच करना जिसमें पहले के वर्शन मौजूद हैं

  • अगर डाउनग्रेड करने की अनुमति है: अगर pinned_version, टारगेट चैनल पर मौजूद किसी पुराने वर्शन से मेल खाता है और allow_downgrades की वैल्यू true है, तो रोलबैक हो जाता है. साथ ही, स्थानीय उपयोगकर्ता का डेटा मिट जाता है.
  • अगर डाउनग्रेड करने की अनुमति नहीं है, तो: डाउनग्रेड नहीं किया जाएगा. डिवाइस पर, पहले से इंस्टॉल किया गया नया वर्शन बना रहेगा. यह सिर्फ़ तब अपडेट होगा, जब नए चैनल पर कोई नया वर्शन उपलब्ध होगा.

उदाहरण B: एक जैसे वर्शन वाले चैनल पर स्विच करना

  • कोई बदलाव नहीं: अगर नया चुना गया चैनल, इंस्टॉल किए गए मौजूदा वर्शन के बराबर वर्शन नंबर पर ले जाता है, तो Chrome, इंस्टॉल किए गए बंडल में कोई बदलाव नहीं करेगा.
  • बाइट-बाइट आइडेंटिटी का सिद्धांत: डेवलपर को यह पक्का करना होगा कि अलग-अलग चैनलों पर एक जैसे वर्शन नंबर वाले ऐप्लिकेशन में, बाइट से मैच करने वाले कोड सिग्नेचर मौजूद हों. अलग-अलग चैनलों पर एक ही वर्शन स्ट्रिंग के तहत अलग-अलग कोडबेस डिप्लॉय करने से, ऐप्लिकेशन की स्थिति अप्रत्याशित और अनियमित हो सकती है.

एडमिन की नीति को कॉन्फ़िगर करना

एंटरप्राइज़ वर्शन के कंट्रोल लागू करने के लिए, Google Admin Console प्लैटफ़ॉर्म का इस्तेमाल किया जाता है. इसके लिए, IsolatedWebAppInstallForceList नीति स्कीमा का इस्तेमाल किया जाता है. इन सेटिंग को सीधे तौर पर Admin Console में मौजूद यूज़र इंटरफ़ेस (यूआई) कंट्रोल के ज़रिए मैनेज किया जा सकता है. इसके अलावा, इन्हें JSON फ़ाइल में मौजूद नीति के कॉन्फ़िगरेशन का इस्तेमाल करके भी लागू किया जा सकता है.
नीति के कॉन्फ़िगरेशन के इस उदाहरण में, अपडेट चैनल, वर्शन पिन करने, और डाउनग्रेड करने के बारे में बताया गया है:

नीति की वैल्यू दिखाने का तरीका

[
  {
    "update_manifest_url": "https://awesome-kitchen-sink.glitch.me/update.json",
    "web_bundle_id": "aiv4bxauvcu3zvbu6r5yynoh4atkzqqaoeof5mwz54b4zfywcrjuoaacai",
    "channel": "beta",
    "pinned_version": "0.7.0",
    "allow_downgrades": true
  }
]

स्कीमा पैरामीटर के बारे में जानकारी

  • channel (string, optional): यह Chrome को निर्देश देता है कि वह अपडेट मेनिफ़ेस्ट में, इस चैनल को असाइन किए गए वर्शन का ही आकलन करे. अगर इसे शामिल नहीं किया जाता है, तो Chrome "default" चैनल का आकलन करता है.
  • pinned_version (string, optional): डिवाइस को साफ़ तौर पर बताई गई वर्शन स्ट्रिंग पर लॉक करता है. इसके बाद, बैकग्राउंड में अपने-आप होने वाले अपडेट बंद हो जाते हैं.
  • allow_downgrades (बूलियन, ज़रूरी नहीं): इससे रोलबैक की सुविधा चालू होती है. अगर इस नीति को 'सही है' पर सेट किया जाता है और इसे मान्य, पुराने pinned_version के साथ जोड़ा जाता है, तो Chrome, डाउनग्रेड किए गए वर्शन को फिर से इंस्टॉल करने की प्रोसेस शुरू करेगा. चेतावनी: इस पैरामीटर को 'सही है' पर सेट करने से, सभी स्टैंडर्ड फ़ॉरवर्ड अपडेट ब्लॉक हो जाएंगे. भले ही, pinned_version फ़ील्ड को शामिल न किया गया हो.

मैनेज नहीं किए गए (उपयोगकर्ता के इंस्टॉल किए गए) आईडब्ल्यूए (150 से)

उपयोगकर्ता के इंस्टॉल किए गए और मैनेज नहीं किए गए आइसोलेटेड वेब ऐप्लिकेशन के लिए, वर्शनिंग की सुविधा मैन्युअल तरीके से काम करती है. इसके लिए, उपयोगकर्ता के इंटरैक्शन ज़रूरी होते हैं:

इंस्टॉलेशन बंडल ──► उपयोगकर्ता चैनल चुनता है ──► चुने गए चैनल पर अपने-आप जांच होती है

अपने-आप अपडेट होने की सुविधा के लिए, मेनिफ़ेस्ट की ज़रूरी शर्तें

उपयोगकर्ता के इंस्टॉल किए गए आईडब्ल्यूए के लिए, बैकग्राउंड में समय-समय पर अपने-आप अपडेट की जांच करने और उन्हें पाने के लिए, ऐप्लिकेशन के लोकल वेब ऐप्लिकेशन मेनिफ़ेस्ट (/.well-known/manifest.webmanifest पर बंडल में पैकेज किया गया मेटाडेटा) में एक मान्य update_manifest_url फ़ील्ड होना चाहिए.

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

मैन्युअल तरीके से चैनल चुनने की सुविधा

अनमैनेज्ड IWA को पहली बार इंस्टॉल करते समय, ब्राउज़र अपडेट मेनिफ़ेस्ट की जांच करता है. अगर डेवलपर ने एक से ज़्यादा चैनल कॉन्फ़िगर किए हैं, तो ब्राउज़र उपलब्ध चैनल के विकल्प (जैसे, "Stable", "Beta") सीधे तौर पर उपयोगकर्ता को दिखाता है.

लाइफ़साइकल के मुख्य नियम

  1. पहली बार इंस्टॉल करने का सोर्स: इंस्टॉल करते समय उपयोगकर्ता ने जो भी चैनल चुना हो, पहली बार इंस्टॉल करने पर हमेशा उन फ़ाइलों को डिप्लॉय किया जाता है जो दिए गए इंस्टॉलेशन बंडल में पैकेज की गई हैं.
  2. बाद के अपडेट: इंस्टॉल हो जाने के बाद, आने वाले समय में अपडेट सिर्फ़ चुने गए चैनल से ही क्वेरी किए जाते हैं. ऐप्लिकेशन सिर्फ़ तब अपडेट होगा, जब टारगेट किए गए चैनल पर इंस्टॉल किए गए वर्शन से ज़्यादा वर्शन पब्लिश किया जाएगा.
  3. चैनल बदलना: इंस्टॉल करने के बाद, किसी दूसरे अपडेट चैनल पर स्विच करने के लिए, उपयोगकर्ता को आईडब्ल्यूए अनइंस्टॉल करना होगा. इसके बाद, उसे फिर से इंस्टॉल करना होगा. इंस्टॉल करने के दौरान, उसे चुना गया चैनल चुनना होगा.

मैनेज किए गए डिप्लॉयमेंट की जांच करने का तरीका

डिवाइसों को Chrome Enterprise Admin Console से मैनेज करने वाले एडमिन या सीधे तौर पर नीतियां कॉन्फ़िगर करने वाले एडमिन के लिए:

  1. संगठन की सेटिंग में जाकर, ऐप्लिकेशन की ज़्यादा जानकारी पैनल पर जाएं.
  2. पिन करने और चैनल के टारगेट की जांच करने के लिए, कॉन्फ़िगरेशन प्रॉपर्टी लागू करें. ये कंट्रोल, स्टैंडर्ड यूज़र सेशन, मैनेज किए गए गेस्ट सेशन (एमजीएस), और कियॉस्क के साथ पूरी तरह से काम करते हैं. इसलिए, सभी टारगेट डिप्लॉयमेंट एनवायरमेंट में व्यवहार की पुष्टि की जा सकती है.
  3. अपडेट की जांच को स्थानीय तौर पर देखने के लिए, chrome://web-app-internalsपर जाएं. इससे टेस्ट क्लाइंट पर अपडेट की जांच को मैन्युअल तरीके से लागू किया जा सकेगा. साथ ही, आने वाले मेनिफ़ेस्ट पैकेट का विश्लेषण किया जा सकेगा.

नतीजा

आइसोलेटेड वेब ऐप्लिकेशन का सुरक्षा आर्किटेक्चर, डेवलपर को बेहतर सुविधाएं देने के लिए डिज़ाइन किया गया है. साथ ही, यह ऐप्लिकेशन के लाइफ़साइकल के व्यवहारों पर सटीक अनुमान लगाने और उन्हें कंट्रोल करने की सुविधा देता है. Chrome के वर्शन मैनेजमेंट की सुविधाओं का इस्तेमाल करके, डेवलपर और आईटी एडमिन, डिप्लॉयमेंट की बेहतर पाइपलाइन बना सकते हैं. ये पाइपलाइन, अनुपालन के सख्त मानकों और ऑपरेशनल लक्ष्यों के मुताबिक होती हैं.

अपने ऐप्लिकेशन को अपडेट करने की रणनीति बनाते और उसे मैनेज करते समय, इन बुनियादी सिद्धांतों को ध्यान में रखें:

  • प्रोग्रेसिव चैनलों का इस्तेमाल करें: अपडेट चैनलों (जैसे कि beta, dev या कस्टम रिंग) की मदद से, टेलीमेट्री और सुझाव/राय/शिकायतें इकट्ठा की जा सकती हैं. इससे यह पक्का किया जाता है कि मुख्य अपडेट को डिफ़ॉल्ट चैनल पर आम लोगों के लिए उपलब्ध कराने से पहले, उनकी अच्छी तरह से पुष्टि की जाए.
  • स्थिरता के लिए पिन करना: अगर एंटरप्राइज़ का माहौल बहुत ज़्यादा व्यवस्थित है या नियमों का पालन करने पर ज़ोर दिया जाता है, तो अहम एंडपॉइंट को पुष्टि की गई, सटीक pinned_version पर लॉक करें. इससे, अचानक होने वाली गड़बड़ियों या वर्कफ़्लो में आने वाली रुकावटों से कार्रवाइयों को सुरक्षित रखा जा सकता है.
  • वर्शन को डाउनग्रेड करने की सुविधा का इस्तेमाल सिर्फ़ आपातकालीन स्थितियों में करें: यह समझें कि वर्शन को डाउनग्रेड करने की सुविधा, सुरक्षा से जुड़ी एक अहम सुविधा है. इससे पहले, ऐसा करना मुमकिन नहीं था. हालांकि, रोलबैक करने पर पूरा ऐप्लिकेशन फिर से इंस्टॉल हो जाता है. साथ ही, क्लाइंट के डिवाइस में सेव किया गया सारा डेटा (IndexedDB, LocalStorage, कुकी) मिट जाता है. इसलिए, इसका इस्तेमाल सिर्फ़ सुरक्षा से जुड़ी गंभीर समस्याओं को ठीक करने के लिए किया जाना चाहिए. सामान्य पैच के लिए, आने वाले समय में होने वाले छोटे अपडेट को डिप्लॉय करना हमेशा सबसे सही रणनीति होती है.
  • नीति के फ़्लैग के बारे में जानें: एडमिन के पास मौजूद स्विच के बारे में ध्यान रखें. allow_downgrades को चालू करने पर, सभी अपडेट रुक जाएंगे. भले ही, पिन को चालू न किया गया हो.
  • बाइट-बाइट की इंटिग्रिटी तय करना: पक्का करें कि अलग-अलग चैनलों पर डिप्लॉय किए गए एक जैसे वर्शन नंबर, बाइट के हिसाब से एक जैसे बंडलों से मैप हों. इससे, क्लाइंट के एक चैनल से दूसरे चैनल पर स्विच करने के दौरान, ऐप्लिकेशन की स्थिति में गड़बड़ी नहीं होगी.

इन सुविधाओं को सीधे तौर पर अपने अपडेट मेनिफ़ेस्ट और एंटरप्राइज़ नीति स्कीमा में इंटिग्रेट करके, यह पक्का किया जा सकता है कि अपडेट का फ़्लो भरोसेमंद, ऑडिट किया जा सकने वाला, और सुरक्षित हो. इससे, आइसोलेटेड वेब ऐप्लिकेशन के ईकोसिस्टम में भरोसेमंद होने की गारंटी बनी रहती है.