कभी-कभी ऐसा लगता है कि रूबी पारिस्थितिकी तंत्र में रूबी पर एक लानत जगह है: एम्बेडेड ब्लॉगिंग इंजन। "रेल्स ब्लॉग इन 10 मिनट्स" के अंतहीन अंकों के प्रकाश में देखने के लिए यह विशेष रूप से अच्छा है।
जाहिर है, प्लग-इन लीड के रूप में एक ब्लॉगिंग समाधान बनाने का कोई भी प्रयास, एक नियम के रूप में, दो परिणामों में से एक के लिए: या तो व्यक्ति इस काम से थक जाता है और वह अधिक जरूरी चीजें करने के लिए छोड़ देता है, या इंजन एक राक्षस में बदल जाता है जो किसी को भी चकमा दे सकता है इसके आरंभीकरण से पहले आवेदन पत्र।
कुछ समय पहले, जब मैं ABAK-PRESS में काम कर रहा था, तो प्रबंधन ने आजकल बहुत ही फैशनेबल "ट्रिक" को जोड़ने का आदेश दिया, प्यारा लुकमार्टा
वेबसाइट - उपयोगकर्ता ब्लॉग (यह कार्यक्षमता वर्तमान में सक्रिय विकास के अंतर्गत है)। कम से कम हम पहिया को सुदृढ़ करना चाहते थे और मॉडल के साथ नियंत्रकों से स्पष्ट कारों को बनाना चाहते थे, लेकिन थोड़ी टोही के बाद हमें इसके साथ रहना पड़ा और सब कुछ खुद करना पड़ा। क्यों?
क्योंकि हमें एक उपयुक्त समाधान नहीं मिला, अफसोस। समस्या के बयान और हमारे पोर्टल के कोड आधार की विशेषताओं द्वारा मुख्य प्रतिबंध लगाए गए थे:
- मेटाडेटा को संपादित करते समय ब्लॉग प्रविष्टियों में सभी स्लग परिवर्तनों को ट्रैक करना और "टूटे हुए" लिंक की अनुमति देना आवश्यक है;
- हमारे पास एक बहुत ही परिष्कृत शीर्षक प्रणाली है जिसे ब्लॉग पोस्टों से जोड़ा जाना चाहिए;
- रूटिंग सिस्टम में कई संशोधन अपने स्वयं के मार्गों के साथ प्लगइन्स के कार्यान्वयन को जटिल करते हैं;
- क्षेत्रों की कोई कम चालाक प्रणाली लागू नहीं की गई है, जो कि मार्गों और पदों की विशेषताओं के साथ बहुत निकटता से एकीकृत है।
दुनिया छोटी है। सबसे महत्वपूर्ण मौजूदा समाधानों में से एक संभवतः किसी के लिए काम में आएगा, और यह लेख टोही की लागत को कम करने में मदद करेगा।
एनालॉग्स का विवरण
राज्यपाल
राज्यपाल रूबी 3.0 पर रूबी के लिए एक प्लगइन है जो आपको अपने वेब एप्लिकेशन में ब्लॉगिंग कार्यक्षमता को लगभग मूल रूप से शामिल करने की अनुमति देता है।
प्लगइन पूरी तरह से RSpec का उपयोग करके परीक्षण द्वारा कवर किया गया है और रनटाइम निर्भरता की एक न्यूनतम है: केवल ActiveRecord और will_paginate। उपयोगकर्ता प्रमाणीकरण और प्राधिकरण के तरीकों इसी सहायकों overriding द्वारा निर्दिष्ट कर रहे हैं।
यह थोड़ा कष्टप्रद है कि पिछले साल की 27 नवंबर को इसकी अंतिम प्रतिबद्धता थी, और रेल 3.1 के समर्थन की घोषणा अभी तक नहीं की गई है।
लोकोमोटिव
रूबी ऑन रेल्स इकोसिस्टम में,
लोकोमोटिव की तरह "हार्वेस्टर", जो पूरी तरह से तुच्छ तरीके (जैसे
इंजन ) में वेब एप्लिकेशन में एम्बेड किया जा सकता है और कस्टम ब्लॉग बनाने के लिए उपयोग किया जाता है, कुछ लोकप्रियता के हैं।
इस तरह के समाधानों को एम्बेड करने की उपयुक्तता पर सवाल उठता है: ये सीएमएस बहुत अधिक कर सकते हैं। उनमें कार्यान्वित की गई कार्यक्षमता, सबसे अच्छे रूप में, मौजूदा विकास की नकल कर सकती है और कभी-कभी वास्तुशिल्प को खराब कर सकती है। हर व्यक्ति इस के साथ आने के लिए तैयार नहीं है।
इन समाधानों की लोकप्रियता परियोजनाओं के विकास की गति और परीक्षणों के साथ कोड कवरेज की गुणवत्ता दोनों को प्रभावित करती है। यह मत भूलो कि लोकोमोटिव केवल MongoDB का उपयोग करता है, जो हर किसी के अनुरूप नहीं हो सकता है।
Kublog
गवर्नर इंजन का एक और आधुनिक एनालॉग भी है -
कुब्लॉग ।
कुब्लॉग अपने सार में गवर्नर के समान है, लेकिन यह थोड़ा और अधिक "आधुनिक" टूल से तेज होता है: रूबी ऑन रेल्स R 3.1 और कैरियरवेयर (पेपरक्लिप के समान)।
इस तथ्य को देखते हुए कि 21 नवंबर 2011 को अंतिम प्रतिबद्ध था, और केवल कोड के लिए परीक्षणों की आंशिक उपलब्धता से, परिकल्पना उठती है कि रेल के लिए ब्लॉग प्लगइन्स की संख्या और वर्ष के समय के बीच एक निश्चित संबंध है।
कम विकास की तीव्रता और समुदाय से परियोजना में कोई रुचि नहीं होने के बावजूद, इसका उपयोग विकास कंपनी द्वारा उत्पादन में किया जाता है और, संभवतः, बहुत अच्छे परिणाम दिखाता है।
Jabe
JABE एम्बेडेड इंजन अपेक्षाकृत हाल ही में दिखाई दिया और पहले से ही अब एक अच्छी सीएमएस के बराबर निर्भरता की संख्या है: रेल ec 3.1, ActiveRecord, kaminari, devise, simple_form, और इसी तरह।
परीक्षणों के साथ कवरेज एक तथ्य के रूप में गायब है, बहुत प्रभावशाली संस्करण 0.7.0 के बावजूद, जिसके लिए इंजन पिछले दिसंबर से विकसित करने में सक्षम है।
सारांश तालिका
अनुरूप | हल्के वजन | लोकप्रियता | प्रतिबंध | टेस्ट कवरेज |
---|
राज्यपाल | हां | 83 पहरेदार, 5 कांटे, अंतिम बार 11/27/2011 को | ActiveRecord | एक अच्छा |
लोकोमोटिव | नहीं | 947 पहरेदार, 218 कांटे, आखिरी बार 02/09/2012 को | mongoid | एक अच्छा |
Kublog | हां | 3 पहरेदार, 1 कांटा, अंतिम बार 11/21/2011 को | ActiveRecord | औसत |
Jabe | हां | 14 पहरेदार, 3 कांटे, आखिरी बार 02/02/2012 | ActiveRecord | नहीं |
इस प्रकार, मैं एक अलंकारिक प्रश्न पूछना चाहता हूं: क्या मूल कार्य रूबी समुदाय पर रूबी के लिए इतना अप्रासंगिक है कि कोई भी सार्वजनिक रूप से इसे हल करने की कोशिश नहीं कर रहा है?
मैं यह मानने का साहस करता हूं कि कार्य, हालांकि प्रासंगिक है, हमेशा स्पष्ट आवश्यकताओं के साथ ब्लॉग इंजन के विकास में है, यही वजह है कि सामान्य रूप से रेल पर ब्लॉग के लिए समाधान (कस्टम) Sisyphus श्रम है।