मैं दो फ़ीचर मॉड्यूल के बीच इस संघर्ष को कैसे हल करूं?


16

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

यद्यपि फ़ीचर मॉड्यूल को एक साथ काम करने का इरादा है, उन्हें दोनों को एक ही साइट पर मौजूद होने की आवश्यकता नहीं है। प्रत्येक अन्य विभिन्न विशेषताओं के साथ भी काम कर सकता है। वे दोनों फ़िल्टरिंग आदि के लिए वर्गीकरण और क्षेत्रों का उपयोग करते हैं, इसलिए यह समझ में आता है कि वे प्रत्येक घटक को अपनी फीचर परिभाषा में शामिल करते हैं। क्या मैं:

  • मॉड्यूल में से फ़ील्ड और टैक्सोनॉमी निकालें, और दूसरे पर निर्भरता घोषित करें? यह वांछनीय नहीं है क्योंकि प्रत्येक दूसरे के बिना काम कर सकता है।
  • सुविधाओं के दो संस्करण बनाएं, एक स्वतंत्र उपयोग के लिए, और एक सहयोग के लिए।
  • खेतों और वर्गीकरण को एक अलग विशेषता के रूप में परिभाषित करें?
  • संघर्ष को अनदेखा करें और मॉड्यूल को सक्षम करें? (यदि मैं करता हूं, तो क्या वे दोनों क्षेत्र साझा करेंगे?)
  • एक और समाधान?

मैंने अभी तक इसका परीक्षण नहीं किया है, लेकिन दोनों में से किसी एक फीचर मॉड्यूल को अक्षम या अनइंस्टॉल करने से डेटाबेस अन्य फ़ील्ड्स को हटा देगा, भले ही यह अन्य मोड्स हो?

जवाबों:


16

अन्य दो स्वतंत्र विशेषताओं द्वारा उपयोग किए जाने वाले घटकों (*) को परिभाषित करने वाला तीसरा फ़ीचर बनाएं।

अन्य दो विशेषताओं में, उन घटकों को हटा दें जो अब तीसरे फ़ीचर द्वारा दावा किए गए हैं, और इसके बजाय, तीसरे फ़ीचर को एक निर्भरता के रूप में सूचीबद्ध करें।

गूंज 'डिग्राफ जी {लेबल = "निर्भरता ग्राफ";  संरचनात्मक [लेबल = "संरचनात्मक विशेषता \ n (फ़ील्ड, वर्गीकरण)"];  "फ़ीचर A \ n (सामग्री प्रकार)" -> संरचनात्मक;  "फ़ीचर B \ n (सामग्री प्रकार)" -> संरचनात्मक;  }; '  |  बिंदु -Tng> निर्भरता। png

(*) Drupal 7 के लिए फीचर्स में, हालांकि, यह कार्यक्षमता अभी तक प्रतिबद्ध नहीं है - http://drupal.org/node/1064472 देखें , और वहां प्रस्तावित कोड की समीक्षा करने में मदद करें। - यह पैच 7.x-2.x की विशेषताओं के लिए प्रतिबद्ध है।


1
हाँ, यह निश्चित रूप से काम करेगा। यद्यपि यदि वह सुविधाएँ उपयोगकर्ताओं को ऐसा करने के लिए मजबूर करती है, तो यह एक असंगत समाधान है। सुविधाएँ एक फ़ीचर को पैकेज करने की क्षमता प्रदान करती हैं, और फिर हमें इसे पूरी तरह से करने नहीं देती हैं। अलग फ़ीचर मॉड्यूल के बीच साझा फ़ील्ड समस्या नहीं होनी चाहिए। धन्यवाद
Ashlar

3
@ अशलर: लेकिन क्या होगा यदि पहली दो विशेषताओं में से प्रत्येक में फ़ील्ड्स की परिभाषाएँ भिन्न हों - तो परस्पर विरोधी परिभाषाएँ कैसे हल होंगी? इसके अलावा, सामान्य तौर पर, एक ही जानकारी की कई आधिकारिक परिभाषाएँ होना समस्याग्रस्त है । फ़ील्ड साझा करना कोई समस्या नहीं है, लेकिन कई अधिकारियों का यह निर्दिष्ट करना कि वे फ़ील्ड क्या हैं, एक समस्या है।
21

2
नहीं, मैं कह रहा हूं कि आपको संरचनात्मक विशेषता में फ़ील्ड को एक बार परिभाषित करना चाहिए (और इस प्रकार क्षेत्र के संभावित मानों को एक बार परिभाषित करें ) - और उस सामग्री के प्रत्येक प्रकार के क्षेत्र में संदर्भ दें। (ऐक ... मुझे बस एहसास हुआ कि मैंने जो प्रस्ताव दिया था वह drupal.org/node/1064472 पर पैच को लागू करता है, जिसे मैं उल्लेख करना भूल गया। संपादित उत्तर।)
6

1
शुक्रिया स्मोक्रीस। लिंक बहुत मददगार था। मुझे इस बात की गलत धारणा थी कि क्षेत्र / उदाहरण को कैसे संभाला जाता है। आपका जवाब अब मेरे लिए समझ में आता है, और पैच के लिए लिंक मुझे बालों को बाहर निकालने से बचाएगा :)
Ashlar

1
D7 फीचर्स के लिए उल्लेखित पैच अब drupal.org/node/1064472#comment-7235792 पर
danbohea

1

इस समाधान ने मेरे लिए बहुत अच्छा काम किया, एक तीसरी विशेषता बनाने की तुलना में विभिन्न साइटों को निर्यात करने के लिए कहीं अधिक मजबूत, जो एक अन्य असंबंधित साइट में अनाथ खेतों का निर्माण करेगा।

http://drupal.org/node/1698290


0

एक समाधान जो मेरे लिए काम करता था, वह था कि दो फीचर्स को एक बड़े फीचर में शामिल किया जाए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.