मैं किसी विशिष्ट मॉड्यूल के अपडेट के लिए जाँच करने से कैसे बचूँ?


35

एक मौजूदा परियोजना में मुझे कुछ मॉड्यूल (नोड पदानुक्रम, कार्यक्षेत्र पहुंच और कुछ और) से जीवन को पैच करना पड़ा है। ये मॉड्यूल अब परियोजना की ज़रूरतों के लिए बिल्कुल सही हैं और भविष्य के अपडेट के साथ कोर के साथ टूटने की संभावना नहीं है।

यह कहा जा रहा है, जब ऐप को ग्राहकों को सौंप दिया जाता है, तो सिस्टम में पूर्ण (उपयोगकर्ता 1) की पहुंच होगी और इसलिए इन मॉड्यूल के अपडेट उपलब्ध होने पर उन्हें चेतावनी दी जाएगी। और वे जाएगा उन्हें कोई फर्क नहीं पड़ता कि कितनी बार मैं उन्हें करने के लिए नहीं भीख माँगती हूँ अद्यतन करते हैं, (ओह कितना आसान जीवन ग्राहकों के बिना होगा!)।

क्या .infoइन मॉड्यूल के अपडेट की जांच नहीं करने के लिए अपडेट मैनेजर को मनाने के लिए एक तरीका (शायद मॉड्यूल की फाइलों में) है?

संपादित करें

मुझे उस project status urlकुंजी के बारे में पता है जो .infoफ़ाइल के लिए उपलब्ध है, इसलिए मुझे लगता है कि मैं इसे एक गैर-मौजूद URL पर सेट कर सकता हूं, लेकिन यदि संभव हो तो मैं इसे साफ तरीके से करूंगा।

जवाबों:


31

आपको लागू करने की आवश्यकता है hook_update_projects_alter()

डेटा लाने और संस्करणों की तुलना करने से पहले परियोजनाओं की सूची को बदल दें।

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


19

projectसे कुंजी .info फ़ाइल drupal.org पर पैकेजिंग स्क्रिप्ट द्वारा जोड़ा जाता क्या परियोजना मॉड्यूल से है पहचान करने के लिए। प्राथमिक उपयोग अद्यतन स्थिति मॉड्यूल के लिए स्थापित पैकेजों के संस्करणों की निगरानी और नए संस्करण उपलब्ध होने पर प्रशासकों को सूचित करने के लिए है।

आप केवल इस मॉड्यूल में अपडेट के लिए .info फ़ाइल और Drupal स्टॉप जाँच को हटा दें या टिप्पणी करें ।


क्या इसे गलत माना गया क्योंकि यह गलत है या कोई अन्य कारण है?
mpdonadio

यह IMO, सबसे अच्छा और आसान तरीका है!
आयुष

1
@MPD का उपयोग projectमैन्युअल रूप से डॉक्स में हतोत्साहित किया जाता है - जो कि गिरावट का कारण हो सकता है।
मोलॉट

यह एकमात्र तरीका था जिसे मैं एक थीम के अनुकूलित संस्करण के लिए जाँच करना रोक सकता था। मैं, निश्चित रूप से इसे "सही तरीके से" करना चाहूंगा, लेकिन यह काम किया है और npc कोडिंग का पुन: उपयोग कर रहा है, लेकिन THEMENAME_update_projects_alter के साथ नहीं किया।
nedwardss

3
@edwards का उपयोग MYMODULE_या THEMENAME_केवल उस स्थान को इंगित करता है जिसे इस कोड को रखा जाना चाहिए। कस्टम मॉड्यूल के बजाय थीम फ़ंक्शन फ़ाइल में इस कोड का उपयोग करके, इसे एक अलग चरण में संसाधित किया जा सकता है और उम्मीद के मुताबिक प्रदर्शन नहीं कर सकता है। थीम को $projectsचर में शामिल किया जाना चाहिए ।
emc

14

चुने हुए उत्तर की मदद के लिए एक कोड नमूना प्रदान करना:

function MYMODULE_update_projects_alter(&$projects){
    unset($projects['slug_of_the_module_you_want_to_disable']);
    //dsm($projects);  // view a list of projects
}

$projects[]अक्षम करने के लिए चर में मॉड्यूल नाम दर्ज करें । यदि आप सुनिश्चित नहीं हैं कि स्लग क्या है (लोअरकेस और अंडरस्कोर होगा), उस dsm()कॉल का उपयोग करें या print_r()मॉड्यूल की सूची का प्रिंट आउट लें।


1
एक नोट - slugबस मॉड्यूल का एक तकनीकी नाम है जो मॉड्यूल .infoफ़ाइल के नाम के समान है । इसलिए आपको प्रोजेक्ट्स सरणी को केवल मॉड्यूल फ़ोल्डर में डंप करने की आवश्यकता नहीं है। ज्यादातर मामलों में नाम मॉड्यूल फ़ोल्डर का नाम समान है।
नक्स

1
@Nux "अधिकांश मामले" कुछ समय के लिए प्रतिउत्पादक है जो स्लग मॉड्यूल नाम से मेल नहीं खाता है। पहली बार स्लग को देखने और उपयोग करने से, हम दोनों डेवलपर को शिक्षित करते हैं और संभावित समस्याओं की संख्या को कम करते हैं।
emc

Drupal से प्रयुक्त शब्द स्लग नहीं बल्कि मशीन नाम हैस्लग कुछ सीएमएस के समकक्ष के रूप में प्रयोग किया जाता है से प्रामाणिक URL या पथ उर्फ ,
kiamlaluno

12

आप इसे दो तरह से कर सकते हैं।

  • drush pm-updatecode --lock = मॉड्यूल_to_ignore
  • Update_advanced मॉड्यूल का उपयोग करें । यह आपको मॉड्यूल को चिह्नित करने की अनुमति देता है जिसे आप मॉड्यूल प्रशासन पृष्ठ पर अनदेखा करना चाहते हैं।

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


drush कमांड वास्तव में वही है जिसकी मुझे तलाश थी, धन्यवाद!
अफर

यह मदद के drush help upcलिए देगा --lock: --lock = <foo, bar> अपडेट के दौरान निर्दिष्ट परियोजनाओं को विचार से हटाने के लिए एक लगातार लॉक जोड़ें। ताले को --unlock पैरामीटर के साथ हटाया जा सकता है, या विशेष रूप से प्रोजेक्ट को नाम-अपडेट या pm-updatecode के पैरामीटर के रूप में नामांकित करके ओवरराइड किया जा सकता है। लॉक शाम-डाउनलोड को प्रभावित नहीं करता है।
यजीर रामिरेज़

2

मुझे मॉड्यूल अपडेट के साथ एक ही मुद्दा मिलता है, मैंने स्थापित किया अपडेट अक्षम मॉड्यूल अच्छा काम कर रहा है।

यह एक छोटा प्रशासनिक मॉड्यूल है जो साइट प्रशासकों को अपडेट सेटिंग्स फॉर्म (/ व्यवस्थापक / रिपोर्ट / अपडेट / सेटिंग्स) पर हुक_अपडेट_प्रोजेक्ट_लेटर () की कार्यक्षमता को उजागर करके कुछ विषयों और मॉड्यूल पर अपडेट के लिए जाँच को अक्षम करने देता है। यह विषयों और मॉड्यूल के साथ-साथ कस्टम मॉड्यूल, पैच मॉड्यूल और साइट-विशिष्ट सुविधाओं के मॉड्यूल का स्वत: पता लगाने के लिए मनमाने ढंग से चयन की अनुमति देता है।

यहाँ छवि विवरण दर्ज करें


0

असल में, आपने एक कांटा बनाया, है ना? तो आपको चाहिए:

  1. अपना कांटा निशान शामिल करने के लिए इसका नाम बदलें
  2. जानकारी फ़ाइल में, project status urlउस मॉड्यूल के अपने रिपॉजिटरी में सेट करें।

अंतिम लेकिन कम से कम, यदि यह समर्थित नहीं है, लेकिन किसी अन्य मॉड्यूल के पक्ष में पदावनत नहीं किया गया था, तो सह-अनुचर बनने के लिए विचार करें और समुदाय के साथ अपने सुधारों को साझा करें।


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