वर्ग पुरालेख: SharePoint वर्कफ़्लो

समयपूर्व कार्यप्रवाह सक्रियकरण — एक गैर चिकित्सा समाधान

अद्यतन: यह MSDN चर्चा देखें, विशेष रूप से अंतिम प्रविष्टि: http://forums.microsoft.com/MSDN/showpost.aspx?postid=2631057&siteid=1. यह एक शर्त है कि संक्षेप इस पूरी बात सर्किट हो सकता का वर्णन. संक्षेप में, यह कम से कम एक फ़ील्ड अनिवार्य बनाने के रूप में के रूप में सरल किया जा सकता.

मैं एक दस्तावेज़ लायब्रेरी आठ सामग्री प्रकारों का समर्थन करता है.

मैं उस की गणना और एक अनुस्मारक दिनांक"असाइन करने के लिए चाहता है एक SharePoint डिज़ाइनर वर्कफ़्लो है" बस subtracting के द्वारा 30 अन्य स्तंभ से दिन, "नियत दिनांक". इस सामग्री प्रकार के लिए एक ही होना चाहिए, "बीमा". व्यवसाय उद्देश्य बीमा दस्तावेजों की दो श्रेणियों से पता चलता है एक KPI का उत्पादन करने के लिए है: "बारे में समाप्त होने के लिए" और "समयसीमा समाप्त हो गई।" (आपको KPI के इस तरह के बारे में अधिक से अधिक पर्याप्त ड्रिल-डाउन पढ़ सकते हैं यहाँ).

मैं आग जब कोई नया आइटम बनाया है और जब कोई आइटम संशोधित करने के लिए वर्कफ़्लो कॉन्फ़िगर किया गया है. विचार यह है कि जब एक बीमा दस्तावेज़ अपलोड की गई है, हम एक "चेतावनी तिथि की गणना" समय सीमा समाप्ति दिनांक पर आधारित. विचारों की एक जोड़ी काम जब उपयोगकर्ताओं को उनके घर पृष्ठ हिट इन स्थितियों पर प्रकाश डाला करने के लिए KPI सूची के संबंध में.

यह रणनीति काम नहीं करता है जब मैं कोई दस्तावेज़ अपलोड करें.

मैं दस्तावेज़ अपलोड करें और मुझे मेटा डेटा प्रविष्टि स्क्रीन के साथ प्रस्तुत कर रहा हूँ. इस बिंदु पर, मैं पहले से ही मुसीबत में हूँ. SharePoint में पहले से है, मेरे दृष्टिकोण से समय से पहले ही, वर्कफ़्लो निकाल दिया. मैं सही सामग्री प्रकार लेने और न ही कोई नियत दिनांक असाइन करने के लिए एक मौका नहीं था. एक ही समय में, वर्कफ़्लो जब मैं इस समय पर सबमिट करें बटन हिट आग नहीं. कुछ अंतर्निहित तर्क "का मानना है कि" कि पहली बार प्रस्तुत है के हिस्से "बनाएँ" घटना. तो … मेरे कार्यप्रवाह निकाल दिया गया है और जब यह मार डाला, यह डिफ़ॉल्ट मेटा डेटा मानों के पारित कर दिया गया था.

एक "थामने तक सम्मिलित करने के लिए सबसे अच्छा काम-मुझे पता है के आसपास है" वर्कफ़्लो में गतिविधि. मैं वर्कफ़्लो को थामने के लिए है 1 मिनट. जबकि यह pausing है, मैं सही सामग्री प्रकार का चयन करें, मेटा डेटा दर्ज करें और सबमिट करें. और जरूरत के रूप में वर्कफ़्लो आय के पूर्ण विराम दें. (ध्यान दें कि अपने वातावरण में, टाइमर वर्कफ़्लो गतिविधियाँ एसपीडी से बॉक्स से बाहर काम नहीं करते. आप हो सकता है वही मुसीबत. देखें यहाँ अधिक विवरण के लिए).

मैं "जादू देरी की तरह नहीं" आस-पास काम. क्या होता है यदि उपयोगकर्ता कोई दस्तावेज़ और फोन की घंटी बजती है और आगामी बातचीत अपलोड outlasts ठहराएँ? मैं अब रोकें कर सकते हैं, लेकिन मैं अभी भी यह पसंद नहीं है.

मैं इस बारे में यहाँ MSDN फ़ोरमों पर लिखा था: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2430725&SiteID=1

त्वरित और आसान: SharePoint डिज़ाइनर वर्कफ़्लो से एम्बेडेड हाइपरलिंक के साथ एक ईमेल भेजें

एक या दो बार माह, किसी एक प्रश्न मंच पदों: "कैसे मैं हाइपरलिंक URL एक SharePoint डिज़ाइनर ईमेल से क्लिक करने योग्य हैं कि शामिल करते हैं?"

बिना आगे टिप्पणी प्रस्तुत: (अच्छी तरह से, असल में वहाँ छवि के बाद आगे की टिप्पणी है):

छवि

बेकी Isserman एक उपयोगी विवरण के साथ एक आइटम के लिए एक लिंक ईमेल में एम्बेड करने के लिए कैसे निम्नानुसार: http://www.sharepointblogs.com/mosslover/archive/2007/11/20/addition-to-paul-galvin-s-post-about-sending-an-e-mail-with-hyperlinks-in-spd.aspx

त्वरित और आसान: किसी InfoPath प्रपत्र का अद्यतन करने के लिए SharePoint डिज़ाइनर वर्कफ़्लो को सक्षम करें

परिदृश्य: मैं एक InfoPath प्रपत्र कि सामने एक वर्कफ़्लो SharePoint डिज़ाइनर का उपयोग कर कार्यान्वित प्रक्रिया समाप्त होता है. एक बिंदु पर, एक प्रबंधक फार्म मंजूरी चाहिए. जब से मैं मेरी अंकेक्षण आवश्यकताओं को पूरा करने के लिए वर्कफ़्लो इतिहास पर भरोसा नहीं कर सकते, मैं मेरे अपने ऑडिटिंग संदेश सीधे प्रपत्र पर ही स्टोर करने का निश्चय.

अवलोकन:

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

विशेष कदम:

  1. किसी दस्तावेज़ लायब्रेरी बनाएँ. यह आपके InfoPath टेम्पलेट का आयोजन करेगा.
  2. किसी प्रपत्र लायब्रेरी बनाएँ.
  3. InfoPath प्रपत्र बनाएँ. किसी पाठ फ़ील्ड में शामिल हैं, "ऑडिट संदेश".
  4. किसी सामग्री प्रकार के रूप में प्रपत्र प्रकाशित करें (नहीं कोई दस्तावेज़).
  5. भरने के बाहर प्रकाशन संवाद करते हुए:
    एक) . Xsn फ़ाइल दस्तावेज़ लायब्रेरी में सहेजें (कदम #1).
    ख) "ऑडिट संदेश प्रकाशित करें" फ़ील्ड और सच्चे चिह्नित करें: "उपयोगकर्ताओं को किसी डेटा पत्रक या गुण पृष्ठ के उपयोग से इस फ़ील्ड में डेटा को संपादित करने की अनुमति दें".
    ग) कोई नया सामग्री प्रकार बनाएँ और इसे किसी उपयुक्त नाम दें.
  6. प्रपत्र लायब्रेरी तक पहुँच.
    एक) इसकी उन्नत सेटिंग्स पर जाएँ और प्रपत्र लायब्रेरी सामग्री प्रकारों को प्रबंधित करने के लिए सक्षम करें.
    ख) नई बनाई गई सामग्री प्रकार का चयन करें (5सी ऊपर). इसे Microsoft InfoPath"के तहत समूहीकृत हो जाएगा" (या समान).
    ग) डिफ़ॉल्ट "फार्म निकालें" सामग्री प्रकार लायब्रेरी से.
    घ) "वेब पेज के रूप में दिखाने के लिए चिह्न पुस्तकालय" ताकि प्रपत्र SharePoint और नहीं InfoPath कार्य केंद्र ग्राहक से लांच करेगा.
  7. उचित प्रपत्र लायब्रेरी पर वापस जाएँ और "नया क्लिक करें" बस के रूप में आप चाहते हैं फार्म सही ढंग से पोस्ट और अभिनय कि है सत्यापित करने के लिए.
  8. SharePoint Designer ऊपर आग और नेविगेट करने के लिए साइट है कि आपके प्रपत्र लायब्रेरी होस्ट करता है (चरण से 2).
  9. संलग्न प्रपत्र लायब्रेरी के लिए कोई नया वर्कफ़्लो बनाएँ.
  10. एक एकल क्रिया "सेट फ़ील्ड में वर्तमान आइटम" जोड़ें. आप सूची को SharePoint डिज़ाइनर की उम्मीद करनी चाहिए आप अपने फील्ड हो, "ऑडिट संदेश". यह एक मान असाइन करें.
  11. समाप्त करें क्लिक करें और वापस जाने के लिए प्रपत्र लायब्रेरी.
  12. एक नया प्रपत्र बनाएँ और कुछ परीक्षण मूल्य "ऑडिट संदेश में डाल" फ़ील्ड.
  13. इसे बचाने के लिए और प्रपत्र लायब्रेरी पर वापस जाएँ.
  14. राइट-क्लिक करें, "वर्कफ़्लो का चयन करें" और ऊपर अपने वर्कफ़्लो प्रारंभ करें.
  15. यह लगभग तुरंत चलाने चाहिए. ऊपर के फार्म खींचो (चरण से 12) और अगर सब चला गया की योजना, "ऑडिट संदेश" जो भी मान आप चरण में प्रदान की असाइन किया गया है 10.

नोट्स:

नहीं सभी नियंत्रण इस द्वि-दिशा संचार के लिए कॉन्फ़िगर किया गया हो सकता. उदाहरण के लिए, यह दोहरा वर्गों के अंदर लिपटे पाठ फ़ील्ड्स को संशोधित करता है एक एसपीडी कार्यप्रवाह को लागू करने के लिए नहीं लगता है.

एक चाबी ले दूर की है यहाँ है कि हम वास्तव में एक संबद्ध टेम्पलेट के साथ कोई सामग्री प्रकार बना लिया. यह भी हमें उसी प्रपत्र लायब्रेरी में एकाधिक InfoPath प्रपत्र टेम्पलेट्स संग्रहीत करने के लिए सक्षम बनाता है.

इस प्रपत्र सर्वर की आवश्यकता है. यह काम एक WSS में सबसे निश्चित रूप से नहीं चल रहा है 3.0 पर्यावरण और शायद भी एक उद्यम SharePoint वातावरण की आवश्यकता होती है.

SharePoint डिजाइनर — यूज़र-डिफ़ाइंड सी # कार्यों को निष्पादित करने के लिए कस्टम गतिविधि

अद्यतन: यह करने के लिए CodePlex यहाँ जारी किया गया है: http://www.codeplex.com/spdwfextensions

अद्यतन: यहाँ नवीनतम रिलीज नोट्स के लिए देखें: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!381.entry

अद्यतन: Commercializing इस परियोजना पर मेरे विचार के लिए यहाँ देखें: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

इस परियोजना के SharePoint डिज़ाइनर में एक कस्टम गतिविधि प्रदान करता है. आह्वान करने के लिए इस कस्टम गतिविधि का उपयोग करें (प्रेषण) समारोह है कि आप लिंक किए गए विधानसभा में शामिल किसी भी C#.

के रूप में देर से अक्टूबर, 2007, इस परियोजना का एक प्रारंभिक संस्करण है. मैंने यह अतिरिक्त कार्यों के एक नंबर के साथ विस्तार करने की योजना, substring सहित, सूचकांक, की जगह, वेब सेवाओं और कुछ भी है कि उपयोगी है या दिलचस्प लगता है invoking. मैं भी एक बार मैं उस मोर्चे पर एक साथ मेरा अधिनियम हैं यह codeplex को पोस्ट करने की योजना. यह भी कुछ बिंदु पर एक समाधान के रूप में deployable हो जाएगा.

यदि आप किसी भी टिप्पणी है, प्रश्न या सुझाव, कृपया उन्हें में टिप्पणी छोड़ या मेरे ईमेल.

शर्त्तें/अस्वीकृति:

मैं इस के किसी भी प्रयोजन के लिए उपयुक्तता के रूप में बिल्कुल कोई दावा करते. आपके अपने जोखिम पर उपयोग करें.

स्थापना चरणों (खेत में प्रत्येक WFE के लिए पीछा किया जा करने के लिए):

1. . Zip डाउनलोड करें और निकालें.

2. . Dll GAC में स्थापित करें. मैं आमतौर पर c खोलें:\windowsassembly windows explorer और प्रतिलिपि का उपयोग कर आईटी वहाँ.

3. असेंबली करने के लिए सुरक्षित नियंत्रण जोड़ने के लिए web. config संशोधित करें:

<System.Workflow.ComponentModel.WorkflowCompiler>
<authorizedTypes>

<authorizedType विधानसभा "SpdGenericInterface =, संस्करण = 1.0.0.0, संस्कृति तटस्थ =, PublicKeyToken = abe076fd8125f3c4" Namespace "Nivlag =" TypeName = "*" अधिकृत "सच है =" />

4. "SpdGenericInterface.actions की प्रतिलिपि बनाएँ" करने के लिए C:\प्रोग्राम प्रोग्राम FilesMicrosoft Sharedweb सर्वर extensions12TEMPLATE1033Workflow

ध्यान दें कि उपरोक्त स्थान अंग्रेजी भाषा स्थापनाओं के लिए विशिष्ट है.

5. SharePoint डिज़ाइनर को बंद करें (यदि यह पहले से खुला है).

6. iisreset

7. एसपीडी खोलें और कोई नया वर्कफ़्लो बनाएँ.

यदि सब कुछ ठीक है, आप कार्रवाई की एक नई श्रेणी के साथ पुरस्कृत किया जाना चाहिए:

छवि

नोट्स:

देखें यहाँ (http://blogs.msdn.com/sharepointdesigner/archive/2007/03/15/adding-activities-to-spd.aspx) बनाने के लिए इस प्रक्रिया का एक भयानक अवलोकन के लिए, स्थापित करने और इस तरह एक समाधान को कॉन्फ़िगर करना.

. Zip सीधे आप के लिए ग निकालने के लिए डिज़ाइन किया गया है:\ ड्राइव. यदि आप ऐसा करते हैं, आप प्रोजेक्ट खोल सकते हैं और सभी रास्तों के अनुरूप हो जाएगा.

इस में दृश्य स्टूडियो उपयोग करने के लिए, आपको शायद "एक्सटेंशन के लिए Windows WF" स्थापित करने की आवश्यकता.

बस एक "डिस्पैचर समारोह" शुरुआती अपलोड शामिल हैं, "ToLower()". अधिक कार्यक्षमता जोड़ने के लिए, यह के रूप में दिखाया गया करने के लिए चलाएँ विधि जोड़ें:

 संरक्षित ओवरराइड करें ActivityExecutionStatus
          निष्पादित करें(ActivityExecutionContext executionContext)
        {

            स्ट्रिंग functionToDispatch;
            functionToDispatch = यह.DispatchFunction.ToLower();

            स्विच करें (functionToDispatch)
            {
                मामला "tolower()":
                    {
                        यह.OutResult1 = यह.InParam1.ToLower();
                        तोड़;
                    }

                डिफ़ॉल्ट:
                    {
                        यह.OutResult1 = "अज्ञात समारोह: [" + यह.DispatchFunction + "].";
                        तोड़;
                    }
            }

            वापस जाएँ ActivityExecutionStatus.बंद कर दिया;
        } // ActivityExecutionStatus

    }

तब, परियोजना का पुन: निर्माण और विधानसभा के लिए GAC की प्रतिलिपि बनाएँ. मुझे उम्मीद है एक iisreset की आवश्यकता होगी.

एसपीडी कार्यप्रवाह कस्टम क्रिया – जाओ <WorkflowInfo> निराशा से बचने के लिए टैग अधिकार

SharePoint डिज़ाइनर शामिल है के लिए एक कस्टम क्रिया बनाने के लिए इस प्रक्रिया का हिस्सा बना एक ".actions" फ़ाइल.

मैंने पाया और एक नमूना टेम्पलेट जो बंद के रूप में शुरू होता है का उपयोग करने की कोशिश की:

<?xml संस्करण="1.0" एन्कोडिंग="utf-8" ?>
<
WorkflowInfo xmlns="http://schemas.microsoft.com/sharepoint/">
<
क्रियाएँ अनुक्रमिक="तब" समानांतर="और">

हालांकि, उस xmlns विशेषता मेरी पर्यावरण के काम करने से रोकता है. मेरे कार्यों में एसपीडी शो नहीं.

Xmlns विशेषता बाहर पट्टी करने के लिए समाधान है, कोई iisreset और बंद/पुनः-open एसपीडी करते हैं.

SharePoint डिजाइनर, “उपयोगकर्ता से डेटा एकत्रित करें” और उन परिणामों का उपयोग करना.

"एकत्र डेटा से उपयोगकर्ता का उपयोग करें" क्रिया बनाएँ और एक कार्य कि एक उपयोगकर्ता को असाइन करने के लिए उन्हें डेटा के लिए संकेत देता है. अन्य बातों के अलावा, मैं यह स्वीकार या अनुरोध को अस्वीकार और कुछ टिप्पणियाँ दर्ज करें करने के लिए एक उपयोगकर्ता को संकेत के लिए उपयोग किया है.

इस क्रिया का रूप लेता है:

इकट्ठा डेटा से इस उपयोगकर्ता (उत्पादन करने के लिए चर: collect1)

पर क्लिक करके डेटा एक श्रृंखला ऊपर खींचती जहाँ आप निर्दिष्ट करें क्या डेटा जब उपयोगकर्ता प्रदान चाहिए संवाद बक्से के कार्य को पूरा करने और इस उपयोगकर्ता स्पष्ट है.

आउटपुट भाग (चर: collect1) कार्य की ID को बचाता है. आप इस उपयोगकर्ता का वास्तविक प्रतिक्रिया "की तुलना किसी भी डेटा स्रोत के माध्यम से निकालने के लिए अपने कार्यप्रवाह में प्रयोग" हालत.

कि शर्त के रूप में दिखाता है

अगर फ़ील्ड के बराबर होती है मान

पर क्लिक करें फ़ील्ड और तब f(एक्स) आइकन और इसे खींचती है ऊपर एक अन्य संवाद बॉक्स. एसपीडी दो बातें बताने के लिए करने के लिए इस सामान्यीकृत संवाद बॉक्स का उपयोग करें;

1. सूची और स्तंभ जिसका मान आप तुलना करना चाहते हैं क्या है.

2. कैसे कार्यप्रवाह इंजन उस सूची में विशिष्ट पंक्ति ढूँढें करना चाहिए?

ऐसा करने के लिए:

  1. "स्रोत परिवर्तित करें" सही कार्य सूची में इंगित करने के लिए ड्रॉप डाउन. ध्यान दें कि एक "पता सूची आइटम दिखाने के लिए संवाद बॉक्स का विस्तार" अनुभाग.
  2. लुकअप विवरण फ़ील्ड ड्रॉप डाउन में, जिसका मान आप चाहते हैं फ़ील्ड का नाम का चयन करें (यह क्या आप ऊपर से इकट्ठा डेटा संवाद बॉक्स में कहा जाता है के लिए नक्शे).
  3. "खोजने में सूची आइटम" अनुभाग, "कार्य का चयन करें:ID" फ़ील्ड ड्रॉप डाउन में.
  4. मान फ़ील्ड में, एफ पर क्लिक करें(एक्स). यह अभी तक एक अन्य संवाद बॉक्स खोलता है.
  5. "वर्कफ़्लो डेटा स्रोत बदलें"
  6. वर्कफ़्लो चर "आउटपुट करने के लिए चर करने के लिए से मेल खाते का चयन करें" से इकट्ठा डेटा कार्रवाई.
  7. ठीक है/ठीक क्लिक करें और आप काम हो गया.

यह इस तरह लग रहा है मेरे लिए:

छवि

इस बिंदु पर, आप अब आवश्यक के रूप में आपके वर्कफ़्लो में उस मान का उपयोग कर सकते हैं.

अतिरिक्त नोट्स:

के रूप में एक संक्षिप्त अलग, मैं हमेशा एक उपयुक्त दिये गये नाम वर्कफ़्लो चर प्रकार के "सूची आइटम ID बनाएँ" और कि स्वत:-जनरेट किया गया "collect1 के बजाय" का उपयोग करें.

इस तुलना"किसी भी डेटा स्रोत" संवाद सेट एसपीडी में कई अलग अलग स्थानों में इस्तेमाल किया है और अच्छी तरह से लायक माहिर है.

अंत = =

Technorati टैग: