Drupal के लिए PHP5 घृणा के लिए संक्रमण योजना


8

पृष्ठभूमि

एक साल से अब मेरे ग्राहक अपेक्षाकृत जटिल इंट्रानेट पोर्टल सेवा (शेड्यूलिंग, वास्तविक ट्रैकिंग और रिपोर्टिंग, और अधिक) को Drupal में पोर्ट करने जा रहे हैं क्योंकि प्रधान कार्यालय ऐसा कहता है। यह निर्धारित करने के लिए बहुत कम प्रयास किया गया है कि क्या यह सही तकनीकी विकल्प है और यह मेरे ग्राहक या उनके मालिकों के नियंत्रण से परे है।

वर्तमान पोर्टल एक घृणा है जो फिर से फैक्टर होने की प्रक्रिया में है और मेरा मानना ​​है कि सबसे प्रभावी लागत योजना डॉक्ट्रिन 2 के माध्यम से एक डोमेन मॉडल परत में लाना होगा और सभी व्यवसाय और इनपुट सत्यापन तर्क का 99.9% मॉडल में रखना होगा। , जब तक यह एक कंकाल दृश्य और प्रमाणीकरण तर्क परत नहीं है, तब तक घृणा को दूर करना।

सवाल

किसी भी Drupal विशेषज्ञ के लिए, क्या यह एक व्यवहार्य दृष्टिकोण की तरह लगता है? Doctrine2 Drupal के साथ अच्छा खेल सकता है या Drupal उच्च स्तर के तर्क को डेटा के लिए बहुत अधिक एकीकरण की आवश्यकता है?

जवाबों:


9

हमने कुछ साइटें की हैं जहाँ हमने बाहरी सिस्टम को ड्रुपल से जोड़ा है जहाँ डेटा को बाहर के सिस्टम में रखना होता है। यह वही है जो मैं अपना अधिकतर समय काम करने में बिताता हूं।

जब हम ऐसा करते हैं, तो हम आम तौर पर अन्य सिस्टम में सामग्री को "स्टब आउट" करने के लिए एक सामग्री प्रकार बनाते हैं। सामग्री प्रकार में केवल नोड शीर्षक और अन्य सिस्टम में अद्वितीय पहचानकर्ता के लिए एक CCK फ़ील्ड शामिल है। इसके साथ ही बहुत सारे हैंक_नोडेपी फंक्शन। उदाहरण के लिए, loadहुक रिमोट सिस्टम को कॉल करेगा और डेटा को नोड में जोड़ देगा। खोज परिणामों में बाहरी डेटा प्राप्त करने के लिए आपको एक विधि तैयार करनी होगी। इसके लिए कुछ विधियाँ हैं, लेकिन यहाँ आने के लिए वे बहुत लंबी हैं।

जबकि कुछ डाउनसाइड हैं, हम इस काम को अच्छी तरह से करते हैं और सामान्य ड्रुपल सामग्री जैसे टिप्पणी, टैग आदि की अनुमति देते हैं।


अगर बाहरी होना है तो यह एक अच्छा तरीका है।
जेरेमी फ्रेंच

4

समय रेखा को देखते हुए, केवल समझदारी की बात यह है कि इसे Drupal 7 में बनाया जाना है। Drupal 7 की सबसे प्रमुख विशेषताओं में से एक है, संस्थाओं, DBNTG और फ़ील्ड्स।

एक त्वरित अवलोकन

  • एंटिटीज एक डेटा संरचना को परिभाषित करने का एक तरीका है। ड्रुपल के साथ निर्मित संस्थाओं के उदाहरण हैं, नोड्स (मुख्य सामग्री), उपयोगकर्ता, वर्गीकरण शब्द।
  • फ़ील्ड एक ऐसी चीज़ है जो एक इकाई से जुड़ी हो सकती है, जो डेटा भी रखती है। खेतों का उपयोग करने से डेटा को संभालने के लिए केवल एक ही स्थान होने का फायदा होता है और उन्हें विभिन्न तरीकों से विस्तारित किया जा सकता है। किसी फ़ील्ड का उदाहरण फ़ाइल अनुलग्नक या किसी अन्य निकाय का संदर्भ हो सकता है।
  • DBTNG (अगली पीढ़ी का डेटाबेस) वह है जिसे द्रुपाल समुदाय ने नए डेटाबेस एब्स्ट्रक्शन लेयर का नाम दिया था। इससे पहले, हम प्लेसहोल्डर्स के साथ क्वेरी करते थे (जो अभी भी समर्थित है), लेकिन अब अधिकांश क्वेश्चन क्लास के साथ बनाए जाते हैं। इसका एक कारण यह भी है कि फ़ील्ड्स को सेटिंग के आधार पर उनकी डेटाबेस तालिका प्राप्त होती है। यह कोड बनाने में मदद करता है जो काम करेगा, भले ही फ़ील्ड (सेटिंग्स) अलग-अलग सेटिंग्स के साथ बनाई गई हों।

यह सिर्फ कुछ विशेषताएं हैं, लेकिन इसका मतलब यह है कि जब तक आप एक ड्रुपल एबोमिनेशन नहीं बनाना चाहते हैं, आपको यह सोचना शुरू कर देना चाहिए कि ड्रुपल कैसे काम करता है और इसका इस्तेमाल ड्रुपल काम करने के लिए करने के बजाय यह करने के लिए डिज़ाइन नहीं किया गया था।

चूंकि Drupal PHP है, आप कस्टम मॉड्यूल बना सकते हैं और Doctrine2 का उपयोग कर सकते हैं जो आप चाहते हैं। लेकिन मेरा अनुमान है कि आप एक ऐसी साइट के साथ समाप्त हो जाएंगे, जो अधिकांश ड्रुपल साइटों के साथ बहुत कम है।


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

4

यह एक व्यापक प्रश्न है, इसलिए मैं एक उच्च स्तरीय उत्तर दूंगा, यदि आपके पास अधिक विशिष्ट प्रश्न हैं तो कृपया उन्हें अलग प्रश्न के रूप में पूछें।

मैं आपको सुझाव दूंगा कि आप वर्तमान साइट की संरचना के बारे में अधिक से अधिक जानकारी प्राप्त करें। यह किस प्रकार की चीजें करता है, क्या वर्कफ्लो हैं। सामग्री क्या है उपयोगकर्ता क्या हैं।

सामग्री प्रकार सामग्री को विभाजित करने का एक आसान तरीका है। यहां तक ​​कि एबोमिनेशन के प्रकार भी होते होंगे I चीज (मुझे उम्मीद होती है) जो कि URL में मैप करती है।

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

मैं थोक को आगे बढ़ाने का पक्ष लूंगा। एक से अधिक प्रणालियों द्वारा प्रबंधित की जा रही सामग्री एक बहुत बड़ा तकनीकी सिरदर्द है। और आपके रखरखाव के प्रयास को दोगुना कर देता है।

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


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