एक्सटेंशन इंस्टॉलेशन और परिणाम
एक एक्स्टेंसिबल सिस्टम होने का विचार बहुत अच्छा है, लेकिन जैसा कि हम डेवलपर्स जानते हैं, यह उतना आसान नहीं है। कई चीजें (और, दुर्भाग्य से, कर सकती हैं) गलत हो जाती हैं।
अवलोकन
मैं विस्तार से इंस्टॉल करने के कारण संभावित मुद्दों की सूची के साथ शुरू करूँगा। फिर, मैं अपना मुख्य बिंदु बनाऊंगा और उन निष्कर्षों को व्यक्तिगत रूप से बताऊंगा जो मैं व्यक्तिगत रूप से करता हूं, और आखिरकार मैं एक समाधान सुझाऊंगा। (यह शायद लंबे समय तक मिल जाएगा, पहले से माफी। मैं जितना संभव हो उतना कम लिखने की कोशिश करूंगा और अभी भी विषय को कवर करूंगा।)
तो आरंभ करने के लिए, यहां विस्तार स्थापना के कारण पाए जाने वाले सामान्य मुद्दों की एक सूची दी गई है।
सुरक्षा
Magento Connect पर एक्सटेंशन स्वीकार किए जाने से पहले कोई कोड समीक्षा नहीं की गई है। परिणामस्वरूप, कई एक्सटेंशन में भेद्यताएं होती हैं। कई कारण हैं, जैसे अनुभवहीन या आलसी डेवलपर्स, असुरक्षित तृतीय पक्ष कोड का उपयोग, और कुछ एक्सटेंशन में दुर्भावनापूर्ण रूप से हानिकारक कोड भी शामिल हैं। रिमोट कोड निष्पादन, SQL इंजेक्शन और डाउनटाइम एक वास्तविकता है। परिणाम ग्राहक डेटा, खो भुगतान क्रेडेंशियल्स, खो राजस्व, खो समय और विश्वास खो दिया है।
प्रदर्शन
एक एक्सटेंशन एक साइट पर या एक डेवलपर उदाहरण पर ठीक काम कर सकता है, लेकिन एक अलग कैटलॉग या ग्राहक आधार के साथ, यह गंभीर प्रदर्शन मुद्दों का कारण बन सकता है। संस्थाओं के अकुशल लोडिंग, अनऑफिमाइज्ड एसक्यूएल जॉन्स, अजाक्स अनुरोधों की एक उच्च संख्या, विशेषता विकल्पों या विशेषताओं की एक उच्च संख्या और कई और अधिक से लेकर कई ठोस कारण हो सकते हैं। जैसा कि हर मर्चेंट कॉल हमें डेवलपर्स, प्रदर्शन मामलों को बताता है। इससे मर्चेंट रेवेन्यू खर्च होता है।
संघर्ष
यहां तक कि सिर्फ दो एक्सटेंशन, यहां तक कि जब सर्वोत्तम प्रथाओं का उपयोग करके विकसित किया जाता है, तो संघर्ष हो सकता है। यह ज्यादातर उसी तरह से है जिस तरह से मैगेंटो फ्रेमवर्क कॉन्फ़िगरेशन एक्सएमएल का विलय करता है। सबसे अच्छे मामले में ये टकराव एक स्टैक ट्रेस या एक रिक्त स्क्रीन के माध्यम से दिखाई देते हैं, सबसे खराब स्थिति में साइट अजीब और कठिन डिबग व्यवहार को रोकती है। एक व्यापारी एक डेवलपर की मदद के बिना मुद्दों को ठीक करने और विरोधी एक्सटेंशन कोएक्सिस्ट बनाने में सक्षम नहीं होगा। इससे समय और पैसा खर्च होता है।
upgradability
अपग्रेड नहीं करना कोई विकल्प नहीं है, अगर केवल सुरक्षा कारणों से। व्यक्तिगत कोड आधार और Magento ढांचे के हिस्से के रूप में एक्सटेंशन बनाए रखने की आवश्यकता है। यदि एक्सटेंशन का उपयोग किया जा रहा है और मूल डेवलपर एक्सटेंशन को बनाए रखना जारी नहीं रखता है, तो कुछ अन्य डेवलपर को कार्यभार संभालना होगा। डेवलपर के पास नहीं होने से अक्सर व्यापारी के लिए अपग्रेड करना असंभव हो जाता है, जिसके कारण साइट्स धीमी हो जाती हैं, फिर उन्हें सुरक्षा के मुद्दों का फायदा उठाना पड़ता है और इस तरह राजस्व की हानि होती है।
तानाना
एक मौजूदा साइट पर नई सुविधाओं को जोड़ने से अधिक से अधिक जटिल और इस प्रकार महंगा हो जाता है, क्योंकि सिस्टम में प्रत्येक एक्सटेंशन अपने तकनीकी ऋण को जोड़ता है। समग्र ऋण बहुत बड़ा है तो प्रत्येक व्यक्ति का विस्तार संयुक्त जटिलता भी बड़ा है तो प्रत्येक अपने आप ही। नई सुविधाओं और परिवर्तनों के साथ आसानी से प्रयोग नहीं करने के कारण एक व्यापारी को बहुत अधिक राजस्व का नुकसान होता है।
विस्थापना
एक्सटेंशन को अनइंस्टॉल करने पर मैगेंटो में निम्नलिखित चीजें टूट जाती हैं:
- डेटाबेस रिकॉर्ड अनइंस्टॉल किए गए एक्सटेंशन (उदाहरण के लिए इंडेक्सर्स या विशेषता बैकएंड मॉडल) में एक वर्ग का जिक्र करता है। यहां तक कि सर्वोत्तम प्रथाओं का अनुसरण करने वाले एक्सटेंशन भी इसके लिए प्रवण हैं।
- कोर कोड को अधिलेखित करने वाले एक्सटेंशन को अनइंस्टॉल करना मूल फ़ाइल को गायब करने वाले Magento को छोड़ देता है। यह केवल तभी होता है जब कोई एक्सटेंशन सर्वोत्तम प्रथाओं का पालन नहीं करता है, लेकिन यह एक तथ्य है कि कई एक्सटेंशन खराब हैं।
कोर्स की साइट टूटने से पैसे खर्च होते हैं।
Magento कनेक्ट करें
उपरोक्त मुद्दों की सूची को देखते हुए, कोई भी व्यक्ति किसी साइट पर काम करने के लिए गैर-डेवलपर से एक्सटेंशन स्थापित करने और मूल्यांकन करने की अपेक्षा कैसे कर सकता है?
कोई साफ स्वच्छ अनइंस्टॉल नहीं है, इसलिए अक्सर टूटी हुई स्थापना की मरम्मत भी नहीं की जा सकती है। एकमात्र विकल्प यह है कि पहले से ही पूर्ण बैकअप बना लें, और फिर कुछ गलत होने पर मैन्युअल रोलबैक करें। क्या कोई गैर-तकनीकी व्यक्ति ऐसा कर सकता है? मेरे अनुभव में, नहीं।
चलो मान लें कि सब कुछ ठीक लग रहा है । क्या व्यापारी सब कुछ ठीक है जानता है ?
सुरक्षा का क्या? प्रदर्शन के मुद्दों के बारे में क्या? उन्नयन के मुद्दों के बारे में क्या? कोई तरीका नहीं
है कि कोई गैर-डेवलपर इन चीजों का मूल्यांकन कर सके।
मैगेंटो कनेक्ट संदेश संदेश यह है कि एक डेवलपर के बिना मैगेंटो को स्थापित करके अपने मैगेंटो स्टोर का विस्तार करना आसान है। बिक्री पिच में किसी को बताना मुश्किल हो सकता है कि मामला है, लेकिन यह केवल सच नहीं है।
जो कुछ मैं अनुभव करता हूं, वह यह है कि संचार में एक डेवलपर की आवश्यकता केवल निहित होती है और संप्रेषित नहीं होती है। एक परिणाम के रूप में कई दुकान मालिक एक्सटेंशन स्थापित करके अपनी दुकान तोड़ते हैं। कि पैसे, समय, तंत्रिकाओं और Magento और डेवलपर प्रतिष्ठा की लागत।
मुझे अपनी कक्षाओं में एक स्पष्ट इंटरफ़ेस रखना पसंद है, और मुझे विश्वास है कि यह अच्छा होगा यदि Magento के लिए डेवलपर की आवश्यकता को भी स्पष्ट रूप से सूचित किया जाएगा।
निष्कर्ष
यह पारिस्थितिकी तंत्र के लिए बिल्कुल भी अच्छा नहीं है, भले ही टूटी हुई साइटों को ठीक करना कुछ Magento डेवलपर्स के लिए आय प्रदान करता है। उसी पैसे का उपयोग व्यापारियों के ग्राहकों के लिए वास्तविक मूल्य बनाने के लिए किया जा सकता है।
ट्विटर पर किसी ने कहा कि व्यापारी बड़े हो गए हैं, जो अपने आप तय कर सकते हैं कि वे विस्तार स्थापित करते हैं या नहीं। मैं असहमत हूं। यदि एक व्यापारी एक ही समय में एक डेवलपर नहीं है, तो वह अपने दम पर निर्णय नहीं ले सकता है।
Magento Connect में गैर-तकनीकी लोगों के लिए खुद को पैर में गोली मारना आसान नहीं होना चाहिए।
व्यक्तिगत रूप से मैं बीमार हूं और एक्सटेंशन के कारण मैगेंटो इंस्टॉलेशन को देखकर थक गया हूं। मैं उन चीजों को बनाना पसंद करता हूं जो सिर्फ एक गंदगी को साफ करती हैं।
मैं अपने एक्सटेंशन को Magento Connect से हटाने के बारे में सोच रहा हूं क्योंकि मैं किसी भी त्रुटिपूर्ण विचार का समर्थन नहीं करना चाहता।
उपाय
मेरी राय में इसका समाधान आसान और सस्ता है। यह अभी तक एक और नया एक्सटेंशन मार्केटप्लेस , कमर्शियल या फ्री बनाने के बारे में नहीं है । यह कोई तकनीकी समस्या नहीं है, यह संचार के बारे में है।
यदि Magento Connect यह बताता है कि यह एक डेवलपर संसाधन है, और स्थापना से पहले एक्सटेंशन की समीक्षा की जानी चाहिए, और केवल डेवलपर्स को एक्सटेंशन स्थापित करना चाहिए, यह एक गैर-मुद्दा होगा। व्यापारी जो अभी भी एक्सटेंशन इंस्टॉल करते हैं, वे जोखिमों को जानते हैं।
तो यहाँ तीन सरल कदम हैं जो Magento को अधिक व्यापारी के अनुकूल बना देगा:
- Magento के व्यवस्थापक इंटरफ़ेस (जैसे डाउनलोडर) के माध्यम से एक्सटेंशन इंस्टॉल करने का विकल्प निकालें।
- Magento पर स्पष्ट रूप से और दृश्य रूप से कनेक्ट करें कनेक्ट करें कि किसी भी एक्सटेंशन को डाउनलोड, समीक्षा और इंस्टॉल करना एक डेवलपर का काम है।
- किसी साइट पर स्थापित किए जाने वाले किसी भी एक्सटेंशन की पूर्ण समीक्षा करने के लिए डेवलपर्स को शिक्षित करें ।
शब्दों को खत्म करना
मुझे शेयरिंग एक्सटेंशन पसंद हैं। मुझे ओपन सोर्स पसंद है। मुझे लगता है कि Magento डेवलपर समुदाय कमाल है !!
एक्सटेंशन की समीक्षा करना सीखने का एक शानदार तरीका है। Magento Connect बुरा नहीं है, बस यह संदेश गैर-तकनीकी लोगों के लिए है।
प्रत्येक Magento साइट एक आवेदन पत्र है। यह अद्वितीय है और इसे एक अद्वितीय विकास प्रयास के रूप में माना जाना चाहिए।
पारिस्थितिकी तंत्र में यह आम सहमति होनी चाहिए कि एक्सटेंशन उपयोगी हो सकते हैं, लेकिन उन्हें अधिक बार स्थापित करने के लिए कोड को लिखने या संशोधित करने की आवश्यकता नहीं होगी, और इस प्रकार एक डेवलपर की आवश्यकता होती है।
EDIT : मैंने अपने ब्लॉग पर कुछ कम तकनीकी पृष्ठभूमि की जानकारी पोस्ट की ।