2009-02-23 8 views
25

हम उचित तैनाती प्रक्रिया स्थापित करने की सोच रहे हैं।सेल्सफोर्स - वातावरण (सैंडबॉक्स, लाइव इत्यादि) के बीच कैसे तैनात करें

जो मैंने पढ़ा है उससे ऐसा करने के 4 तरीके प्रतीत होते हैं।

  1. कॉपी पेस्ट & - हम "पैकेज" तंत्र Salesforce वेब इंटरफेस
  2. ग्रहण फोर्स आईडीई "सर्वर को तैनात" विकल्प में बनाया का उपयोग करते हुए इस
  3. करने के लिए नहीं करना चाहती
  4. चींटी स्क्रिप्ट (अभी तक यह कोशिश नहीं की है)

क्या किसी के पास विभिन्न विधियों की सीमा पर सलाह है।

क्या आप वेब इंटरफ़ेस पैकेज में सबकुछ शामिल कर सकते हैं?

हम निम्नलिखित आइटम तैनात करने के लिए देख रहे हैं:

  • एपेक्स क्लासेस

  • एपेक्स ट्रिगर

  • workflows

  • ईमेल टेम्पलेट

  • MailMerge टेम्पलेट्स - ग्रहण में

  • कस्टम फ़ील्ड

  • पृष्ठ लेआउट

  • RecordTypes (वेबसाइट या ग्रहण में इन खोजने के लिए प्रतीत नहीं कर सकते हैं)

  • इन खोजने के लिए प्रतीत नहीं कर सकते हैं

    पिकलिस्ट आइटम?

  • SControls

उत्तर

15

मैं Force.com Migration Tool सलाह देते हैं।

संदर्भ के लिए:

माइग्रेशन उपकरण आप salesforce.com Organzations के बीच अपने मेटाडाटा स्थानांतरित करने के लिए चींटी लक्ष्य का उपयोग करने की अनुमति देता है।

+1

धन्यवाद, मैं इस में देखा है, और यह सुझाया गया तरीका प्रतीत होता है। क्या आपको पता है कि इस उपकरण का उपयोग कर MailMerge टेम्पलेट्स को तैनात करने का कोई तरीका है या नहीं? धन्यवाद दान – danswain

+0

"Force.com माइग्रेशन उपकरण लिंक" आपके उत्तर के लिए मृत –

15

मैं हाल ही में दर्दनाक अनुभव से बात कर सकता हूं।

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

एक चीज जो हमें थोड़ी देर के लिए परेशान करती है, बीटीडब्ल्यू, पैकेज के कई उपयोग हैं। हमने निम्नलिखित नोट किया है:

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

गैर-स्थापित पैकेज: जब आप वेब यूआई में "पैकेज" पर क्लिक करते हैं तो यह वही होता है। ये, जिन्हें हम कभी-कभी "विकास पैकेज" कहते हैं, प्रोजेक्ट परिभाषा को एक साथ रखने का एक सुविधाजनक तरीका प्रतीत होता है।

वैसे भी, जिस निष्कर्ष पर मैं आ रहा हूं वह यह है कि हमारी टीम (कस्टम विकास, आईएसवी नहीं) को किसी भी रूप में पैकेज की आवश्यकता नहीं है।

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

जिस प्रक्रिया को हम झुका रहे हैं वह हमारी सभी परियोजनाओं को एसवीएन में रखना है, और एसवीएन संरचना का उपयोग परियोजना परिभाषा के रूप में करें (ग्रहण इस के साथ काम करेगा और इसका सम्मान करेगा)। और हम ग्रहण के लिए ग्रहण और कभी-कभी चींटी का उपयोग करते हैं। कहीं भी संकुल के लिए कोई स्पष्ट आवश्यकता नहीं है।

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

आशा उपयोगी है -

- स्टीव लेन

+0

धन्यवाद है। हम ग्रहण आधारित माइग्रेशन टूल का उपयोग कर समाप्त हो गए। एंट में भी देखा, लेकिन अब ग्रहण करेंगे। पाया जाता है कि यह कभी-कभी निर्भरताओं के कारण विफल रहता है लेकिन यह नहीं कहता कि वे क्या परेशान हैं। – danswain

+0

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

2

स्प्रिंग '09 के रूप में, मेल मर्ज टेम्पलेट्स मेटाडाटा में समर्थित नहीं हैं लेकिन रिकॉर्ड प्रकार हैं। आप उस ऑब्जेक्ट के लिए फ़ाइल में XML तत्व के रूप में रिकॉर्ड प्रकार पाएंगे। आपकी सूची में बाकी सब कुछ एक छोटे अपवाद के साथ समर्थित है। मानक फ़ील्ड के लिए पिकलिस्ट मान स्प्रिंग '0 9 में संपादित नहीं किए जा सकते हैं। ग्रीष्मकालीन '0 9 फीचर घोषणाओं पर समाचार के लिए बने रहें।

अद्यतन: मानक वस्तुओं पर स्टैंडर्ड picklists अब (एपीआई v16) के रूप में सामने आ रहा मेटाडाटा रहे हैं: http://www.salesforce.com/us/developer/docs/api_meta/Content/meta_picklist.htm

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

जेस्पर

+0

आप अपने अप्रबंधित पैकेज को कैसे तैनात करते हैं? मैं सोच रहा हूँ अगर वहाँ पुन: चुनें करने के लिए/सभी घटकों की सूची के रूप में आप ग्रहण या चींटी के साथ क्या करना होगा बिना एक पैकेज को तैनात करने के लिए एक रास्ता है ... – Marc

0
डॉक्स से

:

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

प्रबंधित पैकेज का लाभ यह होगा कि यह आपको कई एसएफडीसी संगठनों में आसानी से संस्करण और वितरण करने की अनुमति देता है।

2

एक और विकल्प Change Sets का उपयोग करना है यदि आप मेटा डेटा को सैंडबॉक्स से उत्पादन में ले जाना चाहते हैं।

वर्तमान में कैसे परिवर्तन सेट किया जा सकता है, इसकी कुछ सीमाएं हैं:

एक बदलाव दो संगठनों के बीच सेट भेजा जा रहा है एक तैनाती कनेक्शन की आवश्यकता है। वर्तमान में, परिवर्तन सेट केवल संगठनों के बीच भेजे जा सकते हैं जो उत्पादन संगठन से संबद्ध हैं, उदाहरण के लिए, एक उत्पादन संगठन और एक सैंडबॉक्स, या दो सैंडबॉक्स उसी संगठन से बनाए गए हैं।

0

मैं अभी भी इस के साथ संघर्ष कर रहा हूं।

  1. स्थापित पैकेज एक डेवलपर संगठन में तैनात नहीं किया जा सकता है: न तो माइग्रेशन उपकरण का आईडीई मुख्य मुद्दों मैं का सामना करना पड़ता है, जो इस प्रकार हैं समाधान कर लिया है। आपको को देव संगठन में मैन्युअल रूप से एक-एक करके स्थापित करना होगा।

    एक पैकेज जा ऑर्ग में स्थापित नहीं कर सकते हैं (उदाहरण के लिए, क्योंकि यह पासवर्ड की आवश्यकता है, Marketo Sales Insight की तरह, या क्योंकि यह पदावनत किया गया है Salesforce for Google Adwords की तरह) और हमारे आवेदन उस पर निर्भरता है (क्षेत्रों के लिए संदर्भ की तरह पैकेज से संबंधित वस्तुओं में) तो हम ऐप को तैनात करने में सक्षम नहीं होंगे।

    वर्कअराउंड: अगर एक पैकेज स्वयं एक देव संगठन में स्थापित नहीं किया जा सकता है हर डेवलपर अपने ही डेवलपर सैंडबॉक्स की आवश्यकता होगी। अतिरिक्त डेवलपर सैंडबॉक्स सेल्सफोर्स से आदेश दिया जा सकता है। (ग्राहक को उनके लिए भुगतान करने के लिए तैयार होना चाहिए, यद्यपि ...)

  2. जब सैंडबॉक्स उत्पादन से ताज़ा किया जाता है और हम अपने स्थानीय परियोजना (जो सर्वर से SVN से जुड़ा है) सब अतिरिक्त फ़ाइलें/कोड है कि पुराने सैंडबॉक्स में में था ताज़ा लेकिन यह में नहीं है उत्पादन नए सैंडबॉक्स में ले जाया जा रहा है।

    वर्कअराउंड: सभी परिवर्तन उत्पादन में किए गए सैंडबॉक्स में दोहराया जाना चाहिए और डेवलपर Orgs। (एक दर्द की तरह है, लेकिन ठीक है ...)

-1

किसी भी Salesforce उत्पादन तैनाती में, मेटाडेटा API बेहतर विकल्प यह करने के लिए से एक है। ऐसे उपकरण हैं जो काम को सरल बनाते हैं। इस पोस्ट की जाँच करें: https://www.deploypkg.com/deploy-to-production/

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