इस दस्तावेज़ में, नया प्लग इन बनाने का तरीका बताया गया है. इस लेख में, पहले पक्ष के प्लग इन बनाने की प्रोसेस के बारे में बताया गया है. हालांकि, इसका इस्तेमाल तीसरे पक्ष के प्लग इन बनाने के लिए दिशा-निर्देश के तौर पर किया जा सकता है.
प्लग इन के बारे में खास जानकारी के लिए, प्लग इन देखें.
प्लग इन बनाने के बारे में खास जानकारी पाने के लिए, प्लग इन बनाने का तरीका बताने वाली हमारी बातचीत (2021) देखें.
पहले पक्ष की ऑडियंस बनाम तीसरे पक्ष की ऑडियंस
किसी प्लगिन का टारगेट उपयोगकर्ता वह डेवलपर होता है जो npm की मदद से प्लगिन ढूंढता है और उसका इस्तेमाल करता है.
पहले पक्ष के प्लग इन, Blockly टीम के साथ काम करते हैं और इन्हें npm पर @blockly
स्कोप के तहत पब्लिश किया जाता है. इन्हें कई तरह के Blockly ऐप्लिकेशन में इस्तेमाल करने के लिए डिज़ाइन किया गया है. साथ ही, ये ऐप्लिकेशन इस्तेमाल में आसान और भरोसेमंद हैं. इन्हें blockly-samples में सेव किया जाता है. मोटर की स्पीड सेट करने वाले फ़ील्ड का इस्तेमाल, रोबोटिक्स से जुड़े कई प्रोजेक्ट में किया जा सकता है. साथ ही, यह फ़ील्ड पहले पक्ष के प्लग इन के लिए भी एक अच्छा विकल्प है.
तीसरे पक्ष के प्लग इन को अलग से मैनेज और पब्लिश किया जाता है. ये ज़्यादा जटिल, ज़्यादा एक्सपेरिमेंटल या Blockly ऐप्लिकेशन की सीमित रेंज के लिए टारगेट किए गए हो सकते हैं. आपके डेटाबेस स्कीमा के मुताबिक तय किए गए किसी खास ऑब्जेक्ट में बदलाव करने के लिए, तीसरे पक्ष के प्लग इन के तौर पर फ़ील्ड का इस्तेमाल करना बेहतर होता है.
पहले पक्ष की ज़रूरी शर्तें
पहले पक्ष के प्लग इन को ये ज़रूरी शर्तें पूरी करनी होंगी:
- सभी मुख्य प्लैटफ़ॉर्म पर काम करना, बशर्ते Blockly टीम ने छूट न दी हो.
- Chrome, Firefox, Safari, Edge
- आपके पास कोई ऐसा लेखक हो जो पहले साल के लिए बग ठीक करने को तैयार हो.
- Blockly को मॉन्कीपैच न करें.
- एपीआई के बारे में साफ़ तौर पर जानकारी दी गई हो और उसका दस्तावेज़ उपलब्ध हो.
- Blockly कोर से निजी या पैकेज फ़ंक्शन को तब तक न कॉल करें, जब तक Blockly टीम से छूट न मिल जाए.
- आपके तय किए गए किसी सबक्लास पर, पैकेज फ़ंक्शन को बदलने की अनुमति है.
- अगर आपको छूट चाहिए, तो blockly-samples पर समस्या के तौर पर हमें बताएं.
- टेस्ट.
प्रक्रिया
प्लग इन को चार चरणों में मंज़ूरी मिलती है: सुझाव, चर्चा, लागू करना, और पब्लिश करना.
सुझाव
प्लग इन, सुझाव के तौर पर शुरू होता है. सुविधा का अनुरोध टेंप्लेट का इस्तेमाल करके, नई समस्या बनाकर प्लग इन का सुझाव दिया जा सकता है.
किसी सुविधा के लिए अनुरोध करने का तरीका जानें
सुविधा के अनुरोध से जुड़ी बुनियादी जानकारी के अलावा, प्लग इन के सुझाव में ये चीज़ें शामिल होनी चाहिए:
- वह एपीआई जिसे प्लगिन एक्सपोज़ करेगा.
- प्लग इन के साथ काम करने के लिए, Blockly के मुख्य वर्शन में जोड़े जाने वाले या बदले जाने वाले एपीआई.
- अगर प्लग इन में यूज़र इंटरफ़ेस (यूआई) की सुविधाएं शामिल हैं, तो स्क्रीनशॉट, GIF या मॉक-अप.
- इस बारे में जानकारी कि यह तीसरे पक्ष के प्लग इन के बजाय, पहले पक्ष का प्लग इन क्यों होना चाहिए.
Blockly टीम, मिलने वाले सुझावों की समीक्षा करती है. साथ ही, समस्या को ठीक करती है या इस बात से सहमत होती है कि यह पहले पक्ष का अच्छा प्लग इन होगा.
बातचीत
इसके बाद, प्लग इन चर्चा के चरण में चला जाता है. इस चरण में ये शामिल हैं:
- अपनी ज़रूरत के मुताबिक फ़ंक्शन के बारे में जानकारी.
- प्लग इन के एपीआई के बारे में जानकारी.
- लागू करने की योजना बनाना.
- टेस्ट के लिए प्लान बनाना.
- Blockly के कोर में एपीआई में हुए बदलावों के बारे में चर्चा.
- बड़े प्लग इन को लागू करने के चरणों में बांटना.
- प्लग इन का नाम, नाम रखने के हमारे तरीकों के आधार पर.
- पहले पक्ष की सभी ज़रूरी शर्तें पूरी की जाएंगी.
आम तौर पर, यह चर्चा GitHub की समस्या पर होती है. प्लग इन का दायरा जितना छोटा होगा, चर्चा का फ़ेज़ उतना ही तेज़ी से पूरा होगा. बड़े प्लग इन से कम्यूनिटी का ध्यान खींचा जा सकता है. साथ ही, सही समाधान के बारे में ज़्यादा राय मिल सकती है. अगर आपकी समस्या ठीक हो जाती है, तो बधाई! आपको ऐसी कोई चीज़ मिली है जिससे लोगों को दिलचस्पी है.
इस बात का ध्यान रखें कि बातचीत के आखिर में, डिज़ाइन से जुड़े सभी अहम फ़ैसले लिए जा चुके हों और लागू करने के चरणों की साफ़ तौर पर जानकारी दी गई हो. दोनों को समस्या के बारे में की गई टिप्पणियों में शामिल किया जाना चाहिए.
बातचीत के दौरान, हम यह तय कर सकते हैं कि प्लग इन तीसरे पक्ष का होना चाहिए और उसे @blockly
के दायरे में पब्लिश नहीं किया जाना चाहिए. ऐसे में, हम आपको इसकी वजह बताएंगे और समस्या को बंद कर देंगे.
चर्चा पूरी होने के बाद, Blockly टीम का कोई सदस्य यह नोट करता है कि इसे लागू करने के लिए तैयार है.
लागू करना
लागू करने के चरणों में ये शामिल हैं:
- टेंप्लेट से प्लग इन और उसकी डायरेक्ट्री को सेट अप करने के लिए,
npx @blockly/create-package
चलाना. ज़्यादा जानें... - प्लग इन के लिए मुख्य लॉजिक लागू करना.
- अगर ज़रूरी हो, तो यूज़र इंटरफ़ेस लागू करना.
- Mocha का इस्तेमाल करके, प्लग इन की जांच करना.
README
को शामिल करते हुए, प्लग इन का दस्तावेज़ बनाना.
अगर सुझाए गए किसी प्लग इन को लागू करने की मंज़ूरी मिल गई है और आपको उस पर काम करना है, तो समस्या पर टिप्पणी करें और पूछें कि क्या उसमें अब भी योगदान दिया जा सकता है.
एक से ज़्यादा योगदान देने वाले लोग, एक साथ बदलाव लागू कर सकते हैं. आपके पास, अपने फ़ॉर्क पर मिलकर प्लग-इन लागू करने का विकल्प है. इसके अलावा, इस रिपॉज़िटरी के लिए किए गए पुल अनुरोधों के ज़रिए भी ऐसा किया जा सकता है. अगर आपको इस रिपॉज़िटरी में मौजूद किसी प्लग इन पर मिलकर काम करना है, तो Blockly टीम से अपने लिए एक सुविधा वाली शाखा बनाने के लिए कहें.
प्लग इन को blockly-samples की master
शाखा में मौजूद gh-pages/index.md
फ़ाइल में जोड़ा जाना चाहिए. इससे वे हमारी प्लग इन साइट पर दिखेंगे. पहले पक्ष के प्लग इन, अपने टेस्ट पेज पर ले जाने चाहिए. तीसरे पक्ष के प्लग इन को भी इस पेज पर जोड़ा जा सकता है. साथ ही, इन प्लग इन के मालिक अपने हिसाब से किसी लिंक पर ले जा सकते हैं. जैसे, होस्ट किया गया डेमो या npm पेज.
पब्लिशिंग
आखिर में, पब्लिश करना. Blockly टीम, सभी प्लग इन के वर्शन और पब्लिश करने की प्रोसेस को मैनेज करने के लिए, Lerna का इस्तेमाल करती है.
हर गुरुवार को, ऐसे सभी प्लग इन पब्लिश किए जाते हैं जिनमें पिछली रिलीज़ के बाद बदलाव हुए हैं. अगर आपको किसी बदलाव को जल्द पब्लिश करना है, तो कृपया अपने पुश अनुरोध में इसकी जानकारी दें.
प्लग इन पब्लिश होने पर, प्लग इन साइट भी अपडेट हो जाती है.
जिन प्लग इन को पब्लिश नहीं किया जाना है उनके package.json
में private
का निशान लगाना चाहिए. ऐसा तब हो सकता है, जब कोई प्लग इन कोर Blockly में ऐसे बदलाव पर निर्भर हो जो अभी तक पब्लिश नहीं किया गया है. Core Blockly को हर तिमाही के आखिरी हफ़्ते (हर तीन महीने में एक बार) पब्लिश किया जाता है.