यह दस्तावेज़ उन डेवलपर के लिए है जिन्होंने पहले Blockly को इस्तेमाल किया था और वे लाइब्रेरी में बदलाव किए बिना, Blockly की हाल की रिलीज़ पर अपडेट करना चाहते हैं. हालांकि, यह काम मुश्किल लग रहा है, लेकिन ऐसे कुछ चरण हैं जिन्हें अपनाकर, इस प्रोसेस को आसानी से मैनेज किया जा सकता है.
अनफ़ॉर्किंग के बारे में जानें
मुख्य लाइन ब्लॉकली का इस्तेमाल करने का मतलब है कि आप हाल ही में रिलीज़ किया गया ब्लॉकली वर्शन इस्तेमाल कर रहे हैं. साथ ही, आपके सभी कस्टमाइज़ेशन बिना मंकीपैचिंग के सार्वजनिक ब्लॉकली एपीआई का इस्तेमाल करते हैं. मेनलाइन एपीआई के साथ अपने फ़ोर्क की पसंद के मुताबिक फ़ंक्शन लागू करने के लिए, अनफ़ोर्क करना ज़रूरी है.
अनफ़ोर्किंग केस
अक्सर, आपकी साइट को फ़ोर्क करने की दो सामान्य वजहें हो सकती हैं. साथ ही, मेनलाइन पर वापस जाने के तरीकों के बारे में भी यहां बताया गया है:
- आपने किसी भी कोड को बदले बिना अपने खुद के ब्लॉक और जनरेटर बनाए हैं: इस स्थिति में, कस्टम ब्लॉक और जनरेटर को ब्लॉक किया गया डेटा स्टोर करने की जगह से बाहर और अपने ऐप्लिकेशन के कोड में ले जाया जा सकता है. इसके बाद, आप Blockly का वर्शन अपडेट कर पाएंगे.
- आपने Blockly में कस्टम फ़ंक्शन जोड़े. इसके लिए, Blockly में कोई कोड नहीं बदला: उदाहरण के लिए, आपने कस्टम फ़ील्ड या हेल्पर तरीके जोड़े, जिनका इस्तेमाल सिर्फ़ आपके ऐप्लिकेशन में किया जाता है. इस स्थिति से बचने के लिए, इस कस्टम कोड को Blockly में डेटा स्टोर करने की जगह से बाहर, अपने ऐप्लिकेशन में ले जाएं. इसके बाद, आप Blockly का वर्शन अपडेट कर पाएंगे.
एक्सटेंसिव अनफ़ोर्किंग केस
फ़ॉर्क्ड फ़ंक्शनलिटी का पता लगाएं
उपयोगकर्ताओं को लगता है कि वे ब्लॉकली को पैच कर रहे हैं. इसकी वजह यह है कि उपयोगकर्ता अपनी पसंद के मुताबिक ऐसी सुविधा बनाते हैं जो उस समय अपस्ट्रीम में शामिल नहीं थी. अगर आपका फ़ोर्क काफ़ी पुराना हो गया है, तो हो सकता है कि हमने आपकी ज़रूरत के मुताबिक, प्लगिन या कोर में पहले ही कुछ सुविधाएं जोड़ दी हों. आपने अपने फ़ोर्क में कौनसी सुविधाएं जोड़ी हैं, यह जानने से आपको उन सुविधाओं के लिए एक रोडमैप मिल सकता है जिन्हें अपडेट करने की ज़रूरत है.
आर्किटेक्चर को समझें
फ़ोर्क आधारित एपीआई का इस्तेमाल करने वाली सुविधाओं को समझने के बाद, इन बातों को ध्यान में रखें:
- फ़ोर्क का इस्तेमाल करने वाली हर सुविधा के लिए, क्या कोई ऐसा तरीका है जिससे Blockly API का इस्तेमाल किया जा सके?
- अगर आपको लगता है कि ब्लॉकली एपीआई का इस्तेमाल करके इस सुविधा की नकल नहीं की जा सकती, तो कृपया फ़ोरम के ज़रिए हमसे संपर्क करें या GitHub पर समस्या की शिकायत करें. हमारी टीम फिर आपके कस्टमाइज़ेशन को चालू करने के लिए, एपीआई जोड़ने की जांच करेगी.
अपना रास्ता तय करें
अगला कदम है, फ़ोर्क का इस्तेमाल करने वाली सुविधाओं के लिए ब्लॉकली पर आधारित नए आर्किटेक्चर को लागू करने की प्रोसेस शुरू करना. इसके लिए दो मुख्य तरीके अपनाए जा सकते हैं:
- ब्लॉकी अपग्रेड करें और देखें कि कौनसे ब्रेक हैं: आपको अपने कोड में वे एरिया तुरंत दिखेंगे जिन्हें अपडेट करना है. अपने डेवलपमेंट में गाइड करने के लिए, इसका इस्तेमाल कस्टम व्यवहार के साथ किया जा सकता है.
- Blockly से अपनी सुविधाओं को अलग करने के लिए अपने कोड को रीफ़ैक्टर करें: इसके लिए, आपको इस बारे में अच्छी तरह से समझना ज़रूरी है कि कौनसी सुविधाएं आपके फ़ोर्क के हिसाब से पसंद की गई हैं और किन सुविधाओं को Blockly ने बनाया है. जब आपका कोड पूरी तरह से अलग हो जाए, तो Blockly के पुराने वर्शन को नए वर्शन से बदलें. इसके बाद, इंटिग्रेशन से जुड़ी बाकी समस्याओं को ठीक करें.
आगे बढ़ते हुए
यहां कुछ नियम दिए गए हैं जिनका पालन आपको आने वाले समय में, Blockly डेवलपर के तौर पर करना चाहिए:
- आम तौर पर, आपको Blockly नेमस्पेस में नई क्लास नहीं जोड़नी चाहिए. आपके पास कस्टम फ़ील्ड या रजिस्ट्रेशन करने के लिए उपलब्ध अन्य क्लास को रजिस्टर करने का विकल्प होता है. इसके लिए, ब्लॉकली रिपॉज़िटरी या ब्लॉकली नेमस्पेस में इसकी जानकारी देना ज़रूरी नहीं होता.
- अपना ऐप्लिकेशन बनाने के लिए, आपको Blockly के बिल्ड टूल पर भरोसा नहीं करना चाहिए. हम अपने बिल्ड टूल को सार्वजनिक API का हिस्सा नहीं मानते हैं, इसलिए हम उनमें ऐसे बदलाव कर सकते हैं जिनसे आपका ऐप्लिकेशन खराब हो जाए. अगर आप ऐप्लिकेशन तैयार करना चाहते हैं, तो उसकी ज़िम्मेदारी आपकी है.
हमसे संपर्क करें
ब्लॉकली, ब्लॉकली फ़ोरम के ज़रिए हमेशा उपलब्ध रहता है! अगर अनफ़ॉरकिंग प्रोसेस के दौरान आपको कोई समस्या आती है, तो उसे बेझिझक वहां पोस्ट करें. हम आपकी मदद करेंगे.