प्लगइन एसवीएन और अपडेट एपीआई - प्लगइन्स की पहचान कैसे की जाती है?


11

एक बात जो मेरे लिए कभी भी स्पष्ट नहीं हुई है (विशेषकर जब से मैंने रिपॉजिटरी को एक प्लगइन सबमिट नहीं किया है) यह है कि एक प्लगइन का अद्वितीय "आईडी" (स्लग) कैसे उत्पन्न होता है (अर्थात यह सूची )।

  1. क्या यह लेखक द्वारा SVN प्रस्तुत करने के बिंदु पर, या मॉडरेटर द्वारा पसंद किया जाता है?
  2. क्या यह स्वच्छता प्लगइन नाम (शीर्षक) है?
  3. क्या यह है plugin_basename?
  4. क्या यह मुख्य प्लगइन फ़ाइल (निर्देशिका नाम के बिना) है?
  5. कुछ और?

मैं उत्सुक हूं कि प्लगइन की कौन सी विशेषता (s) इसे एसवीएन समकक्ष से लिंक करती है (यदि यह एक है) प्लगइन अपडेट एपीआई के लिए?

मैं पूछता हूं, आंशिक रूप से मेरे स्वभाव से बाहर जानना चाहता हूं, लेकिन यह भी सुनिश्चित करें कि (कुछ हद तक) कैसे सुनिश्चित करें, मेरे स्वयं के एक-बंद प्लगइन्स एसवीएन में एक के साथ संघर्ष नहीं करेंगे।

उदाहरण के लिए, यदि यह केवल 3) था, तो मैं एक अत्यधिक विशिष्ट निर्देशिका नाम का उपयोग कर सकता था, लेकिन मेरा प्लगइन नाम (शीर्षक) संक्षिप्त 'एन स्वीट' रखें।


NB "मानक" फ़ाइल का नामकरण सम्मेलन प्रतीत होता है [my-plugin-name]/[my-plugin-name].php, मैं शौकीन हो गया हूं [my-plugin-name]/plugin.php

यह मेरे सभी प्लगइन्स को कुछ स्थिरता देता है, यह स्पष्ट है कि यह "बूटलोडर" (मुख्य) फ़ाइल है, और एक छोटे दृष्टिकोण से मैं निर्देशिका नाम के दोहराव से नफरत करता हूं।

यह एक और कारण है जो मैं सवाल पूछता हूं, क्योंकि 4) मुझे खत्म कर देगा। इसके अलावा मैं इस "मानक" पर भी आपके विचार सुनना चाहता हूँ :)


जवाबों:


6

एक प्लगइन सबमिट करते समय, स्लग को सबमिट किए गए प्लगइन नाम बन जाता है। प्लगइन का "नाम" इसके बाद बदल सकता है, लेकिन स्लग हमेशा के लिए अधिक रहता है।

जब वर्डप्रेस को एक प्लगइन अपडेट की जांच करने की आवश्यकता होती है, तो उसे प्लगइन की सभी हेडर जानकारी मिलती है और निर्देशिका नाम जो प्लगइन में है, और वर्डप्रेस.ऑर्ग को भेजता है।

निर्देशिका में प्लगइन्स के खिलाफ मैच बनाने के लिए वर्तमान में तीन कारकों का उपयोग किया जाता है। ध्यान दें कि मैं "वर्तमान में" कहता हूं, क्योंकि यह हर बार बदलता है क्योंकि हम मिलान एल्गोरिदम को बेहतर बनाने की कोशिश करते हैं।

  1. प्लगइन निर्देशिका का नाम अक्सर प्लगइन का "स्लग" होता है। कम से कम, यह है अगर आप इसे निर्देशिका से स्थापित करने के लिए शुरू करते हैं। तो हम उस निर्देशिका के नाम के साथ स्लग की जाँच करते हैं। यह एक महान संकेतक नहीं है, लेकिन यह मदद करता है।

  2. प्लगइन हेडर में "नाम" भी खोजा जाता है, क्योंकि प्लगइन निर्देशिका में नाम अद्वितीय होना चाहिए। यदि उस सटीक नाम पर कोई मेल नहीं है, तो नाम एक स्लग का उत्पादन करने के लिए स्वच्छता है, और हम केवल मामले में, उस स्लग के लिए भी खोज करते हैं। यह हमेशा काम नहीं करता है।

  3. हेडर में "प्लगइन यूआरआई" एक मैच के लिए भी जाँच की जाती है। चूँकि हम निर्देशिका के सभी प्लगइन्स के लिए उस मूल्य को जानते हैं, तो इसे प्रत्येक प्लगइन के लिए यथोचित अद्वितीय माना जा सकता है। इस प्रकार, प्लगइन लेखकों को एक प्लगइन यूआरआई में डालने की सलाह दी जाती है जो एक डोमेन को नियंत्रित करता है और एक यूआरएल जो प्लगइन के लिए अद्वितीय है।

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

इन तीनों वस्तुओं के मैच जितने करीब आते हैं, उतनी ही संभावना है कि यह प्लगइन से मेल खाता है। लेकिन किसी भी परिणाम को वापस करने के लिए इन पर कम से कम एक सटीक मिलान अवश्य पाया जाना चाहिए।

कस्टम वन-ऑफ प्लग इन के लिए, मैं प्लगइन नाम में साइट नाम का उपयोग करना चाहता हूं। यह मुझे संगठन के साथ भी मदद करता है। तो मेरा एक बंद प्लगइन नाम हो सकता है "ottopress.com - जो भी हो उसके साथ समस्या ठीक करें"। अपने डोमेन से मिलान करने के लिए निर्देशिका के किसी भी प्लगइन के लिए बिलकुल भी नहीं।


बहुत बढ़िया! मुझे नहीं लगता कि मैं इस उत्तर की सराहना करने वाला एकमात्र व्यक्ति
होऊंगा

2

चूंकि एसवीएन प्रविष्टि स्पष्ट रूप से बनाई गई है इससे पहले कि आप पहली बार अपना प्लगइन करें - यह प्रवेश के लिए आपके प्रारंभिक अनुरोध पर आधारित है। मुझे नहीं पता कि प्रक्रिया तकनीकी है या मैनुअल, शायद दोनों का एक सा।

अद्यतन उद्देश्यों के लिए जानकारी का गुच्छा प्रस्तुत किया गया है और रिपॉजिटरी मैच का निर्धारण करने की कोशिश करता है - प्लगइन के नाम, निर्देशिका नाम, वर्तमान संस्करण और संभवतः अधिक के आधार पर। मुझे पता नहीं है कि क्या सटीक एल्गोरिदम कभी प्रकाशित हुआ था।


1
मुझे याद है @ otto42 अतीत में यह दर्शाता है कि इस प्रक्रिया में ऑथरई का उपयोग एक अद्वितीय टोकन के रूप में किया जाता है, क्योंकि प्लगिन स्लग क्लैश हो सकता है, प्लगिन स्लग और ऑथुरि का संयोजन लगभग कभी नहीं होगा।
चिप बैनेट

चीयर्स लोग - तो यह बहुत स्पष्ट है कि यह केवल एक विशेष विशेषता नहीं है। फिर भी एल्गोरिथ्म को देखने के लिए एक अंतर्दृष्टि होगी। मेरी फ़ाइल के नामकरण सम्मेलन में कोई विचार?
TheDeadMedic

@ TheDeadMedic फ़ाइल नाम सामान्य रूप से बहुत मायने नहीं रखता है, मुझे नहीं लगता कि यह अकेले अद्यतन तर्क को भ्रमित करने के लिए पर्याप्त होगा।
दुर्लभ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.