2011-04-27 7 views
7

मैं स्थिति है जहाँ मैं Umbraco के लिए कोई ऐप्लिकेशन या एक्सटेंशन बैकएंड उपयोगकर्ताओं के विकास साइट पर उनके परिवर्तन का एक पलायन करने के लिए सक्षम बनाता है कि बनाने का आरोप लगाया गया है में हूँ लाइव साइट यह माइग्रेशन दिन में एक बार होता है, या जब बैकएंड उपयोगकर्ता बैकएंड में एक बटन दबाते हैं।माइग्रेट Umbraco डेटा साइट जीने के लिए प्रोग्राम के रूप में

मुझे पता है कि उम्ब्राको इसे कूरियर पैकेज में प्रदान करता है, लेकिन स्पष्ट रूप से यह इस मामले के लिए पर्याप्त काम नहीं करता है।

कुछ और विवरण:

विकास और लाइव साइट दोनों एक ही सर्वर पर रहते हैं और इसलिए अपने डेटाबेस है। डेटा को केवल एक फ़ोल्डर से दूसरे फ़ोल्डर में स्थानांतरित करने की आवश्यकता होगी और डेटाबेस में तालिकाओं के साथ ही।

जैसा कि मैं देख सकता हूं कि इसके बारे में जाने के दो तरीके हैं।

1) आप एक पूरे प्रवास, जहां मूल रूप से लाइव डेटाबेस की एक टियरडाउन करते हैं और नए संस्करण के लिए इसे अद्यतन करते हैं। फिर आप अपनी सभी फ़ाइलों की प्रतिलिपि बनाते हैं।

2) आप एक पैकेज दस्तावेज़ प्रकार युक्त बना सकते हैं और इसलिए आप अपने डेवलपर साइट पर बदल गया है और लाइव साइट पर है कि पैकेज लोड है।

नंबर 1 के साथ समस्या यह है कि ऐसा लगता है कि जब आप स्थानांतरण करते हैं तो आपको पूरी साइट को पुन: प्रकाशित करना होगा। जहां तक ​​मुझे समझ में आया है कि आप इसे webservice के साथ कर सकते हैं, लेकिन अगर मैं इसके बजाय कंसोल ऐप का उपयोग कर सकता हूं तो मैं इसे पसंद करूंगा।

मेरा प्रश्न तो यह है:

वहाँ प्रोग्राम के रूप में संकुल बनाने और उन्हें एक ही तरह से लोड या क्या सबसे अच्छा तरीका है प्रोग्राम के रूप में इस प्रवास को प्राप्त होगा के लिए एक रास्ता है?

कोई सुझाव बहुत सराहना की जाएगी रूप में मैं इस :)

संपादित

मैं समाप्त हो गया वास्तव में अर्थ में एक पूरा मिरर कर इसके लिए कोई तरीका के लिए एक नुकसान में एक तरह से कर रहा हूँ कि मैं फ़ोल्डरों में परिवर्तित की गई सभी फ़ाइलों को स्थानांतरित करने के लिए रोबोकॉपी का उपयोग किया गया था, और फिर मैंने SQL कमांड के साथ विकास साइट का बैकअप किया था, और फिर मैंने इसे RESTORE SQL कमांड का उपयोग कर लाइव डेटाबेस पर पुनर्स्थापित किया।

कुछ की जरूरत सेटिंग्स SQL ​​कमांड में किया करने के लिए किया जाएगा, लेकिन इसे सुचारू रूप से चलता है और एक पूर्ण हस्तांतरण फ़ाइलों की संख्या कि बदल दिया गया है के आधार पर 10 सेकंड के लिए नीचे ले जाता है।

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

उत्तर

4

तुम हमेशा एक usercontrol है कि आप के लिए पूरी साइट की पुनर्प्रकाशित करना संभाल लेंगे बना सकते हैं, यह आप अपने सांत्वना app से कॉल कर सकते हैं।

तुम भी the Courier 2 beta कार्यक्रम है, जो वास्तव में काफी अच्छा है शामिल हो सकते हैं (सुविधाओं के लिए वैसे भी, मैं इसे अपने आप परीक्षण नहीं किया)।

एक और मार्ग सभी नोड्स को एक्सएमएल फ़ीड के रूप में पेश करने और स्वचालित रूप से नोड्स माइग्रेट करने के लिए CMSImport की शेड्यूलिंग सुविधा का उपयोग करना हो सकता है।

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

+0

लेकिन आप डेटाबेस में नोड्स के माइग्रेशन को कैसे संभालेंगे? अगर अन्य लोग जवाब देख रहे हैं, तो आपको नए पृष्ठों के आईडी का ट्रैक रखना होगा ताकि आप उन पृष्ठों को गलती से प्रकाशित न करें जिन्हें आप वास्तव में प्रकाशित नहीं करना चाहते हैं, यदि ऐसा कोई मौजूद है। –

+0

आप 2 समान डेटाबेस से शुरू करते हैं। फिर जब आप उनमें से 1 को एक जीवंत वातावरण में डालते हैं, तो वास्तव में उच्च बीज के साथ शुरू करने के लिए सभी तालिकाओं को संशोधित किया जाएगा (क्षमा करें, कौन नहीं बदलेगा)। मौजूदा सामग्री को तब ओवरराइट किया जा सकता है (उसी आईडी) स्रोत डेटाबेस पर नई सामग्री को मौजूदा सामग्री में हस्तक्षेप किए बिना कॉपी किया जा सकता है। – sebastiaan

+0

एफवाईआई: मैं चांदी की बुलेट की तलाश में हूं और यह जितना करीब है उतना करीब है, यह उम्ब्राको में ऐसा करना बहुत मुश्किल है और मुझे कई लोगों की जानकारी नहीं है जिनके पास एक सफल स्वचालित रणनीति है। कूरियर 2 यह सब वास्तव में वास्तव में आसान बनाना है। – sebastiaan

संबंधित मुद्दे