त्वरित & आसान: एक फ़ोल्डर बनाएँ और कोई सामग्री प्रकार असाइन करें (या, अपने KPIs है और उन्हें भी खा)

एक KPI समस्या के आसपास काम करने के लिए मैं यहाँ के बारे में लिखा था, मैं कुछ परीक्षण किया है और कि वे दस्तावेजों के खिलाफ काम करते या सूची आइटम में उसी तरह मेटा डेटा के साथ फ़ोल्डर्स के खिलाफ उस KPI के काम की खोज. मैं इसे बाहर एक नया सामग्री प्रकार बनाने के द्वारा फ़ोल्डर सामग्री प्रकार पर आधारित और फिर कुछ फ़ील्ड जोड़ा साबित कर दिया. मैं कुछ संकेतकों बनाया और खुद के लिए कि KPIs के रूप में की उम्मीद काम साबित कर दिया. इस समाचार का स्वागत था. यह सही नहीं है, ड्रिल-डाउन आप से मिल KPI फ़ोल्डर्स के खिलाफ बिल्कुल नहीं तुम क्या चाहते है क्योंकि. इस क्योंकि मेरे मामले में बहुत ज्यादा एक खामी नहीं है 1) अंत उपयोगकर्ताओं को किसी भी बेहतर नहीं पता और 2) ड्रिल-डाउन एक फ़ोल्डर के लिए चला जाता है. वे फ़ोल्डर नाम क्लिक करें और वे आइटम पर हैं. यह एक के बजाय दो क्लिकों है, जो दुनिया का अंत नहीं है.

यह अच्छी तरह से काम कर रहा था के साथ इकट्ठा हुआ. मैं एक फ़ोल्डर के लिए हर दस्तावेज़ अपलोड हो जाता है कि पैदा कर रहा हूँ. इस एक घटना रिसीवर के माध्यम से किया जाता है. एक परिणाम के रूप में, यह केक का एक टुकड़ा रखने के लिए है पैरेंट फ़ोल्डर स्वयं नलसाजी पहले से ही जगह में है के बाद से फ़ाइल से KPI चालित मेटा डेटा के साथ सिंक में मेटा डेटा. This allows me to have my KPI’s and eat them too 🙂

मैं घटना रिसीवर फ़ोल्डर जोड़ें और तब मेरी कस्टम KPI दोस्ताना सामग्री प्रकार के लिए इस नए फ़ोल्डर की सामग्री प्रकार निर्धारित करने के लिए संशोधित. इस बिट कोड की चाल थी:

 SPFolderCollection srcFolders = targetWeb.GetFolder("दस्तावेज़").सबफ़ोल्डर;
  SPFolder addedFolder = srcFolders.Add(गुण।ListItem.ID.ToString());
  SPContentTypeId kpiCT = नई SPContentTypeId("0x0120002A666CAA9176DC4AA8CBAA9DC6B4039F");
  addedFolder.Item["सामग्री प्रकार ID"] kpiCT =;
  addedFolder.Item.Update();

वास्तविक सामग्री प्रकार ID का पता लगाएँ करने के लिए, मैं उस सामग्री प्रकार के साइट सेटिंग्स के द्वारा तक पहुँचा और प्रतिलिपि/यह के रूप में दिखाए गए यूआरएल से चिपकाया:

छवि

</अंत>

मेरे ब्लॉग के लिए सदस्यता लें!

Technorati टैग: ,

त्वरित और आसान: एक SPListItem के SPFolder प्राप्त एक घटना रिसीवर में

मैं यह मानता हूँ नफरत, लेकिन मैं इस के साथ एक सभी संघर्ष दिवस. मेरा घटना रिसीवर की जरूरत है इसकी पैरेंट फ़ोल्डर के एक फ़ील्ड को अद्यतन करने के लिए. यह थोड़ा सा दिखाता है कि कैसे यह करने के लिए:

निजी शून्य UpdateParentFolder(SPItemEventProperties गुण)
{

SPFolder thisItemFolder = गुण।ListItem.File.ParentFolder;
thisItemFolder.Item["ZZ अनुमोदन स्थिति"] = "अच्छी खबर, हर कोई!";
thisItemFolder.Item.Update();


} // UpdateParentFolder

इस मामले में, मैं एक दस्तावेज़ लाइब्रेरी के साथ काम कर रहा हूँ और गुण एक ItemAdded घटना से आ रहे हैं.

चाल है कि आप सीधे आइटम से ही SPFolder आइटम की प्राप्त नहीं कर सकता (अर्थात. गुण।ListItem.Folder नल है). इसके बजाय, सूची आइटम की संबंधित फाइल के लिए जाना और फ़ाइल के फ़ोल्डर हो जाओ.

</अंत>

मेरे ब्लॉग के लिए सदस्यता लें!

Technorati टैग:

अभी तक एक और घटना रिसीवर चाल डीबग करें

मुझे यकीन है कि मैं इस के साथ आने के लिए पहले व्यक्ति नहीं हूँ. हालांकि, मैं किसी को भी इस तरह की एक चाल के बाद से मैं पिछले साल जुलाई में समुदाय के लिए करीब ध्यान दे शुरू प्रकाशित गौर नहीं किया. तो, मैंने सोचा था कि मैं इसे इस त्वरित और आसान डीबग टिप के बाद होगा.

मैं इस त्रुटि में उत्पन्न करने के लिए शुरू कर दिया एक घटना रिसीवर पर काम कर रहा हूँ 12 हाइव:

त्रुटि लोड हो रहा है और घटना रिसीवर Conchango.xyzzyEventReceiver xyzzy में चल रहा, संस्करण = 1.0.0.0, संस्कृति तटस्थ =, PublicKeyToken = blahbalhbalh. अतिरिक्त जानकारी के नीचे है. : किसी ऑब्जेक्ट की आवृत्ति के लिए सेट नहीं ऑब्जेक्ट संदर्भ.

मैं नहीं जानता था क्योंकि मैं मेरे कोड/तैनाती/परीक्षण चक्रों में से एक में भी कई बातें किया था जहाँ मैं इस बग पेश किया था.

मैंने कोशिश की इस समाधान मेरी pdb कि SharePoint में उम्मीद के साथ वहाँ पाने के लिए 12 हाइव स्टैक ट्रेस दिखा होता, पर कोई भाग्य. मैं नहीं जानता कि यदि यह संभव है और यदि कोई करता है, कृपया मुझे पता है 🙂

मैं जानता हूँ कि यह संभव करने के लिए है अपनी खुद लॉग संदेशों को लिखने 12 हाइव. सच कहूँ तो, मैं कुछ करना चाहता था एक छोटे से कम डरावना और जल्दी लागू करने के लिए.

यह हुआ मुझे करने के लिए कम से कम कुछ बुनियादी ट्रेस जानकारी को पकड़ने और पुनः इस तरह सामान्य अपवाद फेंक द्वारा कि मैं मिल सकता है:

  प्रयास करें {
    UpdateEditionDate(गुण);
  }
  पकड़ो (अपवाद ई)
  {
    फेंक नई अपवाद("Dispatcher, UpdateEditionDate(): अपवाद: [" + e.ToString() + "].");
  }

इस दिखाया के में 12 thusly हाइव:

त्रुटि लोड हो रहा है और घटना रिसीवर Conchango.xyzzyEventReceiver xyzzy में चल रहा, संस्करण = 1.0.0.0, संस्कृति तटस्थ =, PublicKeyToken = blahblahblah. अतिरिक्त जानकारी के नीचे है. : Dispatcher, UpdateEditionDate(): अपवाद: [System.NullReferenceException: किसी ऑब्जेक्ट की आवृत्ति के लिए सेट नहीं ऑब्जेक्ट संदर्भ. पर Conchango.xyzzyManagementEventReceiver.UpdateEditionDate(SPItemEventProperties गुण) पर Conchango.xyzzyManagementEventReceiver.Dispatcher(SPItemEventProperties गुण, स्ट्रिंग eventDescription)].

कि मुझे मैं उस विशेष समस्या नीचे ट्रैक करने के लिए आवश्यक सभी विस्तार दिया था और मुझे उम्मीद है यह एक बहुत आगे जा रहा का उपयोग करने के लिए.

</अंत>

मेरे ब्लॉग के लिए सदस्यता लें!

रविवार अजीब बात है: “निर्यात के लिए नहीं”

चारों ओर वापस 1998, मैं समय पर काम किया है के लिए कंपनी एक नया ई वाणिज्य उत्पाद बनाने के लिए कुछ धन प्राप्त किया. हम व्यापार की आवश्यकताओं को पूरा करने की पूरी सरगम था. यह तेजी से होना था, अंत उपयोगकर्ताओं के लिए आसान, आकर्षक, बहु भाषा, आदि. कहने के लिए दु: खी, मैं शायद के रूप में काम के बाद से वे उन दिनों को पूरा करने का एक महत्वाकांक्षी सेट नहीं था.

इस प्रयास Microsoft.NET पूर्व दिनांकित. सादे वेनिला एएसपी अभी भी कुछ हद तक नई थी (या कम से कम मेरी कंपनी के लिए बहुत ही अपरिचित). "ईंट और मोर्टार" कंपनियों के बर्बाद हो रहे थे. बर्बाद! यह कहना कि यह काम अग्रणी था है. नहीं Hadron कोलाइडर अग्रणी काम, लेकिन हमारी छोटी दुनिया में हमारे लिए, यह काम अग्रणी था.

हम पागल थे व्यस्त. हम POC के लगभग हर दिन मिनी कर रहे थे, कैसे एक स्वाभाविक राज्यविहीन माध्यम में राज्य बनाए रखने के लिए पता लगाना, बहु भाषा मुद्दों पता लगाना, पंक्ति-स्तर सुरक्षा. हम भी बुनियादी नियमों को परिभाषित करने के लिए शब्दावली बना था (मैं राज्य-लगातार पसंदीदा लेकिन किसी कारण के लिए, अजीब statefull"" दिन जीता).

जैसा कि हम पागलों की तरह इस उत्पाद की खोज रहे थे, विपणन और बिक्री लोग थे वहाँ यह को बेचने की कोशिश. किसी भी तरह, वे यह हमारे दुःस्वप्न परिदृश्य को बेचने के लिए कामयाब. भले ही हम डिज़ाइन करते थे और एक उद्यम समाधान को लागू करने, हम वास्तव में पहला ग्राहक हर पिछले हम उत्पाद दिन शून्य में बनाया सुविधा का उपयोग करने के लिए उम्मीद नहीं की थी. बहु-भाषा इस ग्राहक की जरूरत, "मानक से एक बिल्कुल भिन्न उपयोगकर्ता इंटरफ़ेस" सिस्टम पर एक ही व्यापार तर्क के साथ. बहु-भाषा इस मामले में विशेष रूप से मुश्किल था, क्योंकि हम हमेशा स्पेनिश या फ्रेंच पर ध्यान केंद्रित, लेकिन इस मामले में, यह चीनी था (सेट जो एक डबल-बाइट वर्ण है और हम इस्तेमाल किया प्रौद्योगिकी को देखते हुए सी विशेष हैंडलिंग की आवश्यकता).

तेजी से आगे कुछ महीने और मैं हूँ एक नॉर्थवेस्ट एयरलाइंस फ्लाइट बीजिंग के लिए पर. मैं इतनी व्यस्त मैं लगभग नहीं पता कि क्या यह पसंद वहाँ जाने के लिए है इस यात्रा के लिए तैयारी कर गया है. मैं एक किताब कैसे एक अमेरिकी चीन में कई वर्षों के लिए किया गया था और भाषा सीख लिया था के बारे में एक बार पढ़ा था. एक दिन वह शहर चल रहा था और कुछ लोगों के लिए दिशा-निर्देश पूछा. बातचीत कुछ इस चला गया:

  • अमेरिकन: "तुम मुझे करने के लिए प्राप्त करने के लिए कैसे बता सकते हैं [XX] स्ट्रीट?"
  • चीनी: "क्षमा करें, हम अंग्रेजी नहीं बोलते".
  • अमेरिकन: "ओह, खैर मैं अकर्मण्य बोलते हैं।" और वह उन्हें फिर से चीनी में पूछा, लेकिन और अधिक स्पष्ट रूप से (रूप में वह कर सकता सबसे अच्छा).
  • चीनी: बहुत ही विनम्रता से, "क्षमा करें, हम अंग्रेजी नहीं बोलते".

बातचीत की तरह है कि बिट के लिए चला गया और अमेरिकी हताशा में छोड़ दिया. के रूप में वह उन्हें छोड़ने गया था वह एक आदमी दूसरे को बोलते हुए सुना, "मैं वह दिशाओं के लिए पूछ रहा था शपथ ग्रहण कर सकता है [XX] स्ट्रीट।"

मैं कुछ बिट और टुकड़ों के अन्य अर्ध चीन से संबंधित जानकारी और "मददगार सलाह" ऊपर उठाया था:

  • एक कोरियन सह काम किया मुझे बताया था कि मैं चीनी की सावधान रहना होगा क्योंकि "वे मुझे नशे में पाने के लिए और आप का लाभ उठाने की कोशिश करेंगे की जरूरत" मुझे बुरा व्यवसाय के फैसले में दबाव के अर्थ में.
  • हम करने के लिए ड्राइव कारों की अनुमति नहीं थे (वहाँ करने के लिए के रूप में कुछ भ्रम था कि क्या यह एक कस्टम था, किसी वैधानिक आवश्यकता या सिर्फ ग्राहक के नियम).
  • विशेष नियमों के लिए सीमा शुल्क के माध्यम से जा रहे थे.
  • हम कुछ के लिए अमेरिकी पैसे का उपयोग करने की अनुमति नहीं थे.
  • तुम युक्तियाँ छोड़ने के लिए नहीं चाहिए रहे हैं. यदि आप करते हैं यह अपमान है.

और अंत में, मैं अपेक्षाकृत ताजा यादें थी तियानानमेन नरसंहार. जब मैं कॉलेज में था, मैं दुनिया हॉरर में देखा के रूप में वास्तविक समय यूज़नेट पोस्टिंग देखकर याद.

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

मैं इस पर हूँ 14 घंटे की उड़ान और हालांकि यह बिजनेस क्लास, 14 घंटों एक शापित लंबे समय है. वहाँ केवल इतने सारे तरीके से अपने आप को पढ़ने के द्वारा मनोरंजन के लिए कर रहे हैं, फिल्में देखने या चुम्बकीय कटलरी के साथ बजाना. यहां तक कि एक सच में अच्छा किताब पढ़ने के कई घंटे के लिए सीधे करने के लिए मुश्किल है.

अंततः, मैं सॉफ्टवेयर मैं हाथ-मेरे साथ ग्राहक के लिए ले जा रहा था का एक टुकड़ा पर पैकेजिंग सामग्री को पढ़ने के लिए शुरू कर दिया, नेटस्केप के वेब सर्वर. मैं हार्डवेयर/सॉफ्टवेयर आवश्यकताओं को पढ़ रहा हूँ, विपणन blurbs, सुंदर चित्र और अचानक की तलाश, मैं "नहीं निर्यात के लिए विशाल पर शून्य" चेतावनी, कुछ के बारे में 128 बिट एन्क्रिप्शन. मैं वापस मेरे कैर्री बैग में बॉक्स भरवां, चेतावनी चेहरा नीचे (रूप में यदि कि मदद करेगा) और की दृष्टि रखने के लिए करने की कोशिश की आधी रात एक्सप्रेस मेरे सिर से बाहर.

पर अब वापस देख, मैं चिंतित रहे हैं चाहिए, सब पर अगर, जब मैं अमेरिका छोड़ दिया, not when I was entering China 🙂 Nothing untoward happened and I still consider that to be the best and most memorable business trip I’ve had the pleasure of making.

</अंत>

मेरे ब्लॉग के लिए सदस्यता लें!

समाधान: SPQuery फ़ोल्डर्स खोज नहीं करती.

पिछले हफ्ते मैं को लागू करने था एक "विकसित हो" एक ग्राहक है कि BDC और SPQuery का उपयोग करता है और कुछ कठिनाई SPQuery युक्त फ़ोल्डर्स किसी दस्तावेज़ लायब्रेरी के खिलाफ का उपयोग कर में भाग के लिए समाधान. नीचे पंक्ति: "रीकर्सिव असाइन करें" क्वेरी से विशेषता देखें करने के लिए.

मेरी परिदृश्य:

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

अंतिम BDC मुखौटे सेवा लुकअप करने के लिए इस तरह की एक क्वेरी का उपयोग करता है:

 // U2U उपकरण इस CAML क्वेरी पैदा करने में सहायता करने के लिए प्रयुक्त.
      oQuery.Query =
        "<जहाँ>";

      अगर (titleFilter.Length > 0)
        oQuery.Query   =
          "  <और>";

      oQuery.Query   =
        "    <और>" +
        "      <Geq>" +
        "        <FieldRef नाम =  "DocumentId" />" +
        "        <मान प्रकार =  "Text">" + minId + "</मान>" +
        "      </Geq>" +
        "      <Leq>" +
        "        <FieldRef नाम =  "DocumentId" />" +
        "        <मान प्रकार =  "Text">" + maxId + "</मान>" +
        "      </Leq>" +
        "    </और>";

      अगर (titleFilter.Length > 0)
        oQuery.Query   =
          "    <होता है>" +
          "      <FieldRef नाम =  "Title" />" +
          "      <मान प्रकार =  "Text">" + titleFilter + "</मान>" +
          "    </होता है>" +
          "  </और>";
      oQuery.Query   =
        "</जहाँ>";

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

मैं इस समस्या तकनीकी कार्यान्वयन विकसित किया गया है और हल के रूप में दो बार इसे दूसरे तरीके से हर बार मारा. पहली बार, मैं क्वेरी में संग्रहित करता है ऑपरेटर का उपयोग कर नहीं था. बिना एक संग्रहित करता ऑपरेटर, मैं SPQuery contructor पर दृश्य निर्दिष्ट करके समस्या को हल करने में सक्षम था. डिफ़ॉल्ट निर्माता का उपयोग करने के बजाय:

SPList oList वेब =।सूचियाँ["दस्तावेज़"];

SPQuery oQuery = नई SPQuery();

मैं बजाय एक निर्माता एक दृश्य निर्दिष्ट करते थे:

SPList oList वेब =।सूचियाँ["दस्तावेज़"];

SPQuery oQuery = नई SPQuery(oList.Views["सभी दस्तावेज"]);

कि समस्या हल कर दी और मैं अपने परिणाम प्राप्त करने के लिए शुरू कर दिया.

मैं तो मिश्रण में संग्रहित करता है ऑपरेटर जोड़ दिया और इसे फिर से तोड़ दिया. यह जाता है कि बाहर इसमें ऑपरेटर, जहाँ तक मैं बता सकता हूँ, दृश्य के साथ एक ही तरह के रूप में काम नहीं करता है एक सरल GEQ / LEQ ऑपरेटर्स. मैं कुछ खोज किया था और सीखा है कि क्वेरी ViewAttributes "पुनरावर्ती करने के लिए" सेट किया जाना चाहिए, के रूप में:

oQuery.ViewAttributes = "गुंजाइश = "Recursive"";

कि संग्रहित करता है के लिए समस्या का हल. वास्तव में, यह मेरे मूल खोज समस्या भी हल हो और अगर मैं रीकर्सिव निर्दिष्ट किया था पहली बार विशेषता, मैं इस मुद्दे में फिर से चला होगा नहीं.

तथ्य यह है कि एक दृश्य-आधारित SPQuery कुछ ऑपरेटरों के लिए काम करता है (GEQ/LEQ) और दूसरों को नहीं (होता है), तथ्य यह है कि KPIs सब पर मुझे विश्वास है कि SPQuery कुछ orthogonality के मुद्दों के लिए दस्तावेज़ लायब्रेरीज़ फ़ोल्डर-युक्त सुराग के साथ काम करने के लिए नहीं लग रहे हो के साथ युग्मित.

विशेष धन्यवाद:

  • में अच्छे लोगों U2U और अपनी क्वेरी उपकरण.
  • माइकल विलियम ब्लेक ग्रेट "कर के सीखना" ब्लॉग पोस्ट, टिप्पणियाँ और प्रतिक्रियाएं.

</अंत>

मेरे ब्लॉग के लिए सदस्यता लें!

काई KPI बग? सूची सूचक को दस्तावेज़ लायब्रेरी फ़ोल्डर के साथ बंधे

अद्यतन 02/29/08: मैं एक फ़ोल्डर बना कर और तब मेटा डेटा मैं KPIs के लिए की जरूरत है जो उस फ़ोल्डर के लिए कोई सामग्री प्रकार असाइन करना इस समस्या का हल. मैं कि एक छोटे और अधिक विस्तार में यहाँ वर्णित.

हम एक तकनीकी समाधान है जहाँ उपयोगकर्ताओं को किसी दस्तावेज़ लायब्रेरी पर दस्तावेज़ अपलोड लागू है. एक घटना रिसीवर एक निर्देशिका बनाता है और उस निर्देशिका के लिए फ़ाइल ले जाता है (क्या मैं के बारे में लिखा करने के लिए इसी तरह की एक तकनीक का उपयोग करना यहाँ). हम सफलतापूर्वक संभावित मुद्दों कि अपलोड की गई फ़ाइलों का नाम बदलें घटना रिसीवर द्वारा वजह से आसपास navigated है (क्योंकि मुख्य रूप से उपयोगकर्ताओं को कभी नहीं उनके दस्तावेज़ "नई पर क्लिक करके प्रारंभ करें" लेकिन इसके बजाय डॉक्स स्थानीय रूप से बनाएँ और फिर उन्हें अपलोड करें).

इन दस्तावेज़ों के लिए मेटा डेटा शामिल है एक हाँ/नहीं साइट स्तंभ "तत्काल बुलाया" और एक अन्य साइट स्तंभ कहा जाता है "स्थिति". हम की जरूरत है "तत्काल का प्रतिशत पता चलता है कि एक व्यापार की आवश्यकता को पूरा करने के लिए" दस्तावेज़ जिनकी स्थिति "लंबित" है.

यह आमतौर पर करने के लिए सरल है और मैं कुछ बहुत बहुत SharePoint बीगल पर इस तरह का वर्णन यदि आप रुचि रखते हैं स्क्रीन शॉट्स के बहुत सारे के साथ.

संक्षेप में, मैं निम्नलिखित किया:

  • डॉक्टर पुस्तकालय "लंबित" नामक पर कोई दृश्य बनाना.
  • दृश्य फ़ोल्डर संरचना को अनदेखा करने के लिए कॉन्फ़िगर करें.
  • कोई KPI सूची बनाना.
  • कहते हैं डॉक्टर उदारीकरण और कि करने के लिए सूची में किसी सूचक "लंबित बनाएँ" दृश्य.

यह सिर्फ काम नहीं करता. KPI मेरा लक्ष्य से पता चलता है (जैसे. पाँच जरूरी दस्तावेज) लेकिन हमेशा जरूरी दस्तावेजों की वास्तविक संख्या शून्य के रूप में दिखाता है. विडंबना यह है कि, यदि आप विवरण के लिए नीचे ड्रिल, यह सूची में पाँच जरूरी दस्तावेजों से पता चलता है. मैं दो दस्तावेजों के साथ एक बहुत ही सरल परिदृश्य बनाया, एक फ़ोल्डर और एक में एक नहीं. यहाँ स्क्रीन शॉट है:

छवि

ऊपर स्क्रीन शॉट स्पष्ट रूप से दिखाता है कि वहाँ रहे हैं दो दस्तावेज़ों में देखें, लेकिन 'मूल्य" एक है. "CamlSchema" रिक्त दस्तावेज़ के साथ Id रूट फ़ोल्डर में है और अन्य "84" नाम का एक फ़ोल्डर में है.

यह मुझे करने के लिए कि प्रकट होता, भले ही आप एक दृश्य निर्दिष्ट करें, KPI का सम्मान नहीं करता "दिखाएँ सभी आइटम बिना फ़ोल्डर्स" स्थापित करने और इसके बजाय, खुद को रूट फ़ोल्डर में confines.

अगर मैं गलत हूँ, कृपया मुझे एक पंक्ति ड्रॉप या एक टिप्पणी छोड़ दो.

</अंत>

मेरे ब्लॉग के लिए सदस्यता लें!

Technorati टैग:

एसपीडी वर्कफ़्लो “एक उपयोगकर्ता से डेटा एकत्रित करें”: उत्पन्न कार्य प्रपत्र को संशोधित करें

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

रूपों पूरी तरह कार्यात्मक हैं. वे करने के लिए कोई कार्य सूची किसी सामग्री प्रकार के रूप में बंधे हैं. वे कर रहे हैं 100% सिस्टम-जनरेट किया गया. यह उनकी ताकत और कमजोरी है. अगर हम डिफ़ॉल्ट प्रपत्र के साथ रह सकते हैं, तो फिर हम जाने के लिए अच्छा कर रहे हैं. हालांकि, हम कैसे प्रपत्र एसपीडी बनाता है पर बहुत अधिक नियंत्रण नहीं है. अगर हम उस डिफ़ॉल्ट व्यवहार पसंद नहीं, हम चारों ओर पाने के लिए विभिन्न ट्रिक्स का सहारा की जरूरत है (उदाहरण के लिए, किसी कार्य पर प्राथमिकता सेट करना).

मैं ऊपर गुण देखें खोले गए इन कार्य रूपों पर एक लिंक प्रदान करने की जरूरत (dispform.asxp) "संबंधित आइटम का" एक नई विंडो में. इस मेटा डेटा संबंधित आइटम के लिए एक-क्लिक पहुँच प्रदान करता है. यह मैं क्या मतलब है:

छवि

शुक्र है, हम ऐसा कर सकते हैं और यह बहुत कठिन नहीं है. मोटे तौर पर, एसपीडी ऊपर आग, कि मकान वर्कफ़्लो फ़ाइलें निर्देशिका में नेविगेट और ASPX फ़ाइल को संशोधित करने के लिए इच्छित खोलें. ये हैं बस क्लासिक XSL ट्रांस्फ़ॉर्म निर्देशों और यदि आप के बारे में itemstyle.xsl के साथ mucked है, खोज या अन्य XSL परिदृश्यों, यह आपके लिए आसान हो जाएगा. वास्तव में, मैं यह करने के लिए जनरेट किया गया प्रपत्र की तुलना में एक खोज कोर परिणाम वेब पार्ट का पालन करने के लिए कुछ हद तक आसान है के बाद से आम तौर पर आसान हो पाया (या भयानक CWQP).

बेशक, वहाँ एक बड़ा ख़तरा है. एसपीडी के कार्यप्रवाह संपादक को उम्मीद है कि उस फ़ाइल पर पूर्ण नियंत्रण. यदि आप इसे संशोधित करें, एसपीडी खुशी से अपने परिवर्तन सही परिस्थितियों के सेट दे को अधिलेखित कर देगा. मैं कैसे बुरा यह मिल सकता है देखने के लिए दो त्वरित परीक्षण किया है. वे दोनों दो कि तुम "कलेक्ट के डेटा को एक उपयोगकर्ता का उपयोग करता है एक वैध एसपीडी वर्कफ़्लो तैयार की जाती है" कदम.

टेस्ट 1:

  • हाथ से ASPX फ़ाइल संशोधित करें.
  • यह परीक्षण (सत्यापित करें कि आपके परिवर्तन ठीक से बच गए और कुछ भी तोड़ना नहीं था).
  • अप वर्कफ़्लो खोलें और एक असंबंधित क्रिया जोड़ें ("इतिहास के लिए ऐसे प्रवेश करें").
  • वर्कफ़्लो को बचाने.

परिणाम: इस मामले में, एसपीडी प्रपत्र पुन: नहीं बना था.

टेस्ट 2:

  • के रूप में ही करते हैं #1 को छोड़कर सीधे "कलेक्ट डेटा से किसी उपयोगकर्ता को संशोधित करें" कार्रवाई.

परिणाम: यह खरोंच से प्रपत्र पुन: बनाता है, आपके परिवर्तन अति लेखन.

अंतिम नोट्स:

  • कम से कम दो एसपीडी क्रियाएँ इस तरह रूपों पैदा: "एक उपयोगकर्ता से डेटा एकत्रित करें" और "करने के लिए आइटम असाइन करें". इन क्रियाओं के दोनों’ प्रपत्रों को मैन्युअल रूप से संशोधित किया जा सकता.
  • मैं क्योंकि मेरी कड़ी dispform.aspx को उत्पन्न करने में सक्षम था, इस मामले में, से संबंधित आइटम हमेशा अपनी ID से संबंधित आइटम का URL में एम्बेडेड है. मैं इसे निकालें और फिर निर्माण करने में सक्षम था एक <एक href> पर यह तो एक क्लिक मेटा डेटा एक्सेस सुविधा प्रदान करने के लिए आधारित. यह संभव नहीं दिखता कि आपके URL इस नियम निम्नानुसार है. संबंधित आइटम की ID प्राप्त करने के लिए अन्य तरीके हो सकते हैं, लेकिन मैं उस पुल को पार करने के लिए नहीं था, तो मैं नहीं जानता कि यदि खाई के दूसरी ओर करने के लिए हो जाता है.
  • मैं जांच नहीं था, लेकिन मुझे आश्चर्य है अगर किसी तरह की टेम्पलेट फ़ाइल में नहीं होगा 12 हाइव कि मैं कैसे एसपीडी उत्पन्न करता है डिफ़ॉल्ट प्रपत्रों को प्रभावित करने के लिए संशोधित सकता है (जैसे हम बहुत सतर्क टेम्पलेट्स संशोधित कर सकते हैं).

</अंत>

मेरे ब्लॉग के लिए सदस्यता लें!

कर रहे हैं “अज्ञात त्रुटि” संदेश वास्तव में किसी स्टैक ट्रेस से बेहतर?

मैंने मधुर के ब्लॉग पोस्ट करने के लिए कैसे पर पढ़ रहा था स्टैक ट्रेस प्रदर्शित करता है को सक्षम करें और अब मैं सोच रहा हूँ: क्यों हम हमेशा एक स्टैक ट्रेस दिखा नहीं?

जो कि नियम के साथ आया था और क्यों हम इसे का पालन करें?

अंत उपयोगकर्ताओं को कुछ या तो मामले में गलत है पता चल जाएगा. कम से कम एक स्टैक ट्रेस के साथ, वे नियंत्रण-printscreen दबाएँ कर सकते हैं, कॉपी/एक ईमेल में पेस्ट करें और इसे करने के लिए इसे भेजें. कि स्पष्ट रूप से समय और प्रयास के मुद्दे को हल करने के लिए की आवश्यकता कम होगी.

</अंत>

Technorati टैग:

रविवार (शर्मनाक) मजे़दार: “मेरा नाम पॉल Galvin है”

साल पहले का एक गुच्छा, मेरे बॉस ने एक उत्पाद बुलाया परिणामों पर कुछ उपयोगकर्ताओं को प्रशिक्षित करने के लिए मुझसे पूछा. परिणाम है किसी एंड यूज़र रिपोर्टिंग उपकरण. यह मोटे तौर पर SQL Server रिपोर्टिंग सेवा या क्रिस्टल के लिए अनुरूप है. समय पर, यह ग्रीन ट्यूब पर चलाने के लिए डिज़ाइन किया गया था (जैसे. Wyse 50 टर्मिनल) एक यूनिक्स बॉक्स telnet के माध्यम से जुड़ा.

मेरा डिफ़ॉल्ट जवाब के साथ शुरू होता है किसी भी प्रश्न के लिए "आप कर सकते हैं … " "हाँ है" और है कि जहां सभी मुसीबत शुरू कर दिया.

ग्राहक बाहर एक रसायन कंपनी के दक्षिणी कैलिफोर्निया में था और बस के बारे में एक प्रमुख ERP कार्यान्वयन के आधार पर ऊपर लपेटा था QAD की MFG/प्रो. कार्यान्वयन योजना अब परिणाम उत्पाद पर प्रशिक्षण पावर एंड यूज़र्स के लिए बुलाया.

मैं इस उपकरण का एक बड़ा उपयोगकर्ता नहीं था और निश्चित रूप से कभी नहीं से पहले किसी को भी प्रशिक्षित किया था. हालांकि, मैं अन्य प्रशिक्षण कक्षाओं के एक नंबर आयोजित किया था और मेरे पैरों पर जल्दी थी, तो मैं भी चिंतित नहीं था. डेनिस, असली पूर्ण समय प्रशिक्षक के परिणाम, मुझे अपने प्रशिक्षण सामग्री दी थी. पर अब वापस देख, यह वास्तव में बहुत बेतुका है. मैं उत्पाद अच्छी तरह से पता नहीं था, कभी औपचारिक तौर पर प्रशिक्षित किया गया था और यह निश्चित रूप से कभी नहीं सिखाया था. क्या व्यापार मैं इसे पर किसी को भी प्रशिक्षण किया है?

Logistically बुढी, मैं जाने के लिए और शिकागो में किसी तरह के साथ एक पूर्व बिक्री सगाई के हिस्से के रूप में मिलने को कहा था. न्यू जर्सी के बाहर उड़ान भरने के लिए योजना थी, शिकागो के लिए जाओ, एक घंटे के लिए संभावना के साथ मिलने और फिर जारी रखें पर कैलिफोर्निया.

अच्छी तरह से, मैं शिकागो के लिए मिल गया और मेरी टीम पर बिक्री आदमी था और कुछ गलती कभी बैठक की पुष्टि की. तो, मैं दिखाया और संभावना वहाँ नहीं था. ग़जब का. मैं पैक और छोड़ दो और CA पर जारी रखें. इस प्रक्रिया के दौरान कहीं, मुझे पता लगाना है कि ग्राहक सीखने से कम 24 उस "पॉल Galvin मेरे आगमन से पहले घंटे" वर्ग अध्यापन है, नहीं डेनिस. डेनिस ग्राहक प्यार करता है. वे "कौन है यह Paul Galvin व्यक्ति जानना चाहते?" "क्यों हम उस पर विश्वास करना चाहिए?" "क्यों हम उसके लिए भुगतान करना चाहिए?" डेनिस स्पष्ट रूप से नहीं था सदस्यता लें करने के लिए मेरी "बुरी खबर जल्दी दे" दर्शन. ग़जब का.

मैं कुछ बेवकूफ अविश्वसनीय रूप से कारण के लिए और हवाई अड्डे पर पहुंचें, मुझे मेरे सामान की जाँच की थी. मैं यह करने के लिए लक्ष्मण बना दिया लेकिन मेरा सामान का नहीं था. मेरे लिए, खोने के सामान का एक बहुत की तरह है, के माध्यम से जा रहा दु: ख के सात चरणों. अंततः मैं यह करने के लिए होटल बना, कोई सामान के साथ, थक गया हूँ, भूख और पहने हुए मेरी (अब तक, बहुत crumpled) बिजनेस सूट. यह Newark से यात्रा करने के लिए एक लंबे समय लेता है — o ' hare करने के लिए — एक ग्राहक के लिए — वापस करने के लिए o ' hare — और अंत में लक्ष्मण को.

मैं अंत में अपने आप को होटल के कमरे में बैठे पाते, एक मज़ाक पट्टी पर कुतरने, थक और इतना है कि मुझे क्लास के सामने एक पूर्ण गधे की तरह दिखते नहीं होगा प्रशिक्षण सामग्री के माध्यम से फिर से स्कैन करने के लिए ऊर्जा ऊपर ड्रम करने के लिए कोशिश कर रहा. इस समय में मेरे लिए एक कम बिंदु का एक सा था.

मैं अगले दिन उठा, इतना है कि मुझे नहीं लग रहा था मेरे सूट बाहर चिकनी के लिए मेरे सबसे अच्छे विली Loman एक बुरा दिन पर पसंद किया और अध्यक्षता पर से अधिक ग्राहक के लिए. के रूप में तो अक्सर मामला है, व्यक्ति में वह अच्छा था, विनम्र और बहुत ही सुखद. इस से पिछले दिन उसे बेहद गुस्सा ईमेल/voicemails करना निरा विपरीत में खड़ा था. वह मुझे के बारे में सुराग 3 भवन निर्माण के लिए एक sectioned के बाद के माध्यम से मीलों दूर क्षेत्र में एक विशाल रासायनिक गोदाम जहाँ हम करेंगे आचरण वर्ग अगले तीन दिनों के लिए. को 15 या 20 छात्रों को धीरे धीरे इकट्ठा, ज्यादातर उन्हें अभी भी उम्मीद डेनिस.

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

हम कि लपेटो और प्रोजेक्टर को आग. मुझे मेरे संपर्क जानकारी को मिटाने के लिए जाओ और … मैं इसे स्थायी मार्कर में लिखा था. मैं इतना शर्मिंदा था. मेरे मन की आंखों में, इसे इस तरह से देखा: वहाँ इस "पॉल Galvin है" व्यक्ति, हमारी प्यारी डेनिस के लिए अंतिम मिनट के प्रतिस्थापन. वह एक crumpled बिजनेस सूट और मुंडा नहीं पहन रखा है. वह सिर्फ उसका नाम बहुत बड़ा पत्र में हमारे सफेद बोर्ड पर लिखा है स्थायी मार्कर. क्या एक दृष्टि!

यह सब खुशी से समाप्त हुआ, फिर भी. यह एक रासायनिक कंपनी थी, आखिरकार. A grizzled अनुभवी कर्मचारी शेल्फ से कुछ निकाला और, शायद EPA विनियमों के उल्लंघन में, बोर्ड को मंजूरी दे दी. मैं रहने के लिए कामयाब 1/2 पाठ्यक्रम में कक्षा से आगे दिन और वे मुझे अंत में एक अच्छी समीक्षा दी. यह मेरी चुटकी hitter"मजबूत किए" मेरी कंपनी में प्रतिष्ठा. मेरा सामान का पहले दिन पहुंचे, तो मैं बहुत अधिक presentable दिनों के दो और तीन था.

जैसा कि मैंने लाल आँख वापस घर ले जा रहा था, मैं "सबक सीखा" पर विचार कर रही थी. वहाँ बहुत से मनन था. संचार कुंजी है. ग्राहकों की योजना में परिवर्तन के बारे में बताओ. यदि आप संभवतः इसे से बचने कर सकते हैं कभी हवाई अड्डे पर अपने सामान की जाँच करें मत. स्पेयर 'सामान ले आओ" मामले में आप अपने सामान की जाँच करते हैं और यह इसे नहीं पड़ता. मुझे लगता है कि सबसे महत्वपूर्ण सबक सीखा है मैंने, फिर भी, यह था: हमेशा लिखने से पहले एक सफेद बोर्ड के निचले बाएँ हाथ कोने में एक मार्कर परीक्षण, विशाल अक्षरों में, "पॉल Galvin".

</अंत>

परिप्रेक्ष्य: SharePoint बनाम. बड़े Hadron कोलाइडर

कुछ oddball यूनाइटेड एयरलाइंस उड़ानों के कारण मैं 90 के मध्य में ले लिया, मैं किसी भी तरह "उपयोग नहीं किये गए मील की दूरी को बदलने के लिए एक प्रस्ताव के साथ समाप्त हुआ" लगभग एक दर्जन में नि: शुल्क पत्रिका सदस्यताएँ. है कि कैसे मैं वैज्ञानिक अमेरिकी करने के लिए पत्रिका की सदस्यता समाप्त.

के रूप में सॉफ्टवेयर / लोगों को परामर्श, हम हमारे जीवन में कई मुश्किल व्यावसायिक आवश्यकताओं मुठभेड़. सबसे अधिक समय, हम उन आवश्यकताओं को पूरा प्यार और वास्तव में, शायद यह है क्यों हम इस कैरियर है दुनिया में सबसे अच्छा लगता है. मैं कभी कभी बस क्या विश्व में आश्चर्य अगर मैं इतिहास में किसी अन्य समय पर पैदा किया गया था मैं खुद से किया होता. कितना भयानक यह काम मैं अब हो के प्रकार पर बाहर याद करने के लिए होगा, इस समय और दुनिया के इतिहास में स्थान पर? मेरा विचार है: बहुत भयानक.

पिछले कुछ वर्षों में, मैं का सामना करना पड़ा है आवश्यकताओं में से कुछ को पूरा करने के लिए बेहद चुनौतीपूर्ण किया गया है. जटिल SharePoint सामान, वेब चौखटे गैर-वेब-अनुकूल प्रौद्योगिकी पर आधारित प्रसंस्करण के निर्माण, जटिल BizTalk orchestrations और जैसे. हम सभी कर सकते हैं (उम्मीद है) गर्व से वापस अपने कैरियर पर देखो और कहते हैं कि, "हाँ, को हल करने के लिए एक मुश्किल एक है कि था, लेकिन अंत में मैं pwned उस sumbitch!" बेहतर अभी तक, और भी अधिक रोचक और मजेदार चुनौतियों का इंतजार.

मैं व्यक्तिगत रूप से लगता है कि मेरा फिर से शुरू, इस संबंध में, बहुत गहरी है और मैं इसे बहुत गर्व (हालांकि मैं जानता हूँ कि मेरी पत्नी 1 समझना कभी नहीं होगा/इसे 20 वीं). लेकिन इस सप्ताह, मैं के बारे में एक लेख पढ़ रहा था बड़े Hadron कोलाइडर मेरा अमेरिकी वैज्ञानिक पत्रिका में और उन दुर्लभ सुखद क्षणों में से एक था जहां मुझे एहसास हुआ कि मेरे "विशाल होने के बावजूद" कुछ हलकों या गहरी कैसे मैं अनुभव की मेरी अच्छी तरह से लगता है कि स्थिति में, वहाँ पूरी तरह से अलग अलग दुनिया में असली दिग्गज कंपनियों रहे हैं.

LHC टीम पर लोगों को प्रबंधित करने के लिए कुछ सच में कांटेदार मुद्दे है. चाँद पर विचार. मैं सच में चंद्रमा के बारे में ज्यादा नहीं लगता (हालांकि मुझे पता चला है यह पृथ्वी के रोटेशन धीमा है के बाद से मैं के बारे में यह बहुत ही संदेहास्पद हो गया है, जो लंबे समय में हमें मनुष्यों के लिए एक अच्छी बात हो सकती). लेकिन, LHC टीम चिंता करने की ज़रूरत है. LHC के उपकरणों को मापने कि वे चंद्रमा द्वारा प्रभावित होते हैं तो संवेदनशील हैं (Earth-rotation-slowing-and-eventually-killing-all-life) गुरुत्वाकर्षण. को पूरा करने के लिए एक आवश्यकता के एक बिल्ली है कि है — चाँद के हस्तक्षेप के बावजूद सही माप का उत्पादन.

जब मैं यह वाक्य पढ़ा कि मुद्दा चिंतनः: "प्रथम स्तर प्राप्त करेगी और केवल डिटेक्टर के सभी घटकों के एक सबसेट से डेटा का विश्लेषण, जो यह होनहार घटनाओं चाहे जैसे पृथक कारकों के आधार पर बाहर ले सकते हैं से एक ऊर्जावान muon किरण धुरी से एक बड़े कोण पर उड़ान के बाहर देखा था।" वाक़ई … ? मैं खेल नहीं है कि में तरह sandbox के और कभी नहीं होगा.

अगली बार जब मैं कुछ दोस्तों के साथ बाहर हूँ, मैं एक टोस्ट अच्छा LHC पर काम कर रहे लोगों को जुटाने के लिए जा रहा हूँ, आशा है कि वे सफलतापूर्वक हिग्स बोसॉन कण तौलना मत और चंद्रमा शाप. मैं सुझाव है कि आप भी ऐसा ही. It will be quite the toast 🙂

</अंत>

Technorati टैग: