मासिक अभिलेख: मई 2011

PerformancePoint और त्रुटि 33494

आज जब बुलाया मेरे ग्राहकों में से एक उनके PerformancePoint वातावरण (SharePoint में 2010) टूट गया।  एक खेत में अनुप्रयोग सर्वर पर डिस्क स्थान कम चल रहा था।  कि को संबोधित करते हुए, क्लाइंट की स्थापना रद्द "बहुत अधिक", और पीपी सामान सब कामकाज बंद कर दिया।  विभिन्न वेब पार्ट्स दिखाना होगा "एक अनपेक्षित त्रुटि उत्पन्न हुई. त्रुटि 33494. अतिरिक्त विवरण के लिए अपने व्यवस्थापक लॉग किया गया है":

image

मैं ऊपर त्रुटि देखा और कुछ भी करने के लिए विशिष्ट नहीं मिला "त्रुटि 33494" इस MSDN फ़ोरम पोस्टिंग लेकिन उपयोगी था: http://social.technet.microsoft.com/forums/en-us/sharepoint2010setup/thread/E1FE189D-7F89-455D-A98B-C1A12D8626AB

मैं एक घटक के रूप में SQL सर्वर में ADOMD.NET यहाँ पाया 2008 सुविधा पैक: http://www.microsoft.com/downloads/en/details.aspx?FamilyId=228DE03F-3B5A-428A-923F-58A033D316E1&displaylang=en

image

(बड़ा आकार देखने के लिए क्लिक करें)

मैं डाउनलोड और कि स्थापित है और यह सब कुछ तय.

मुझे लगता है कि यह एक सुंदर oddball त्रुटि की तरह है, लेकिन अगर आप इसे हिट, आपको कम से कम तुम एक विकल्प है.

</अंत>

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

मेरे चहचहाना पर का पालन करें http://www.twitter.com/pagalvin

Lists.asmx, GetListItems और फ़ोल्डर्स

मैं SharePoint के भाग के रूप में प्रदान की आज list.asmx वेब सेवा के आसपास किसी के लिए कुछ शोध कर रहा था 2010 (और इससे पहले).  वह सूची आइटम को रूट फ़ोल्डर में प्राप्त करने में सक्षम था (उप फ़ोल्डर्स के नाम सहित), लेकिन उप फ़ोल्डर्स में आइटम्स नहीं मिल सका।  मैं कुछ internets पर चारों ओर देख रहा था और यह एक आश्चर्य की बात आम सवाल है।  अभी तक, मैं सरल प्रश्न के लिए एक अच्छा जवाब नहीं मिल सका, अगर मैं फ़ोल्डर पता", मैं उस फ़ोल्डर में आइटम कैसे मिलता है?”  ईमानदार होना करने के लिए, मैं थोड़ी देर के लिए मेरी अपनी पर इस एक बाहर आंकड़ा करने के लिए चाहता है के बाद से मैं कोशिश कि सभी कठिन नहीं था मुस्कुराओ.

इस सेट अप करने के लिए, मैं एक साइट "ब्लॉगिंग परिदृश्यों" नाम दिया और "उप फ़ोल्डर्स के साथ कस्टम सूची" नामक एक कस्टम सूची बनाई।  मैं तो नाम फ़ोल्डर बनाया:

  • वर्ष 2005
  • वर्ष 2006
  • वर्ष 2007

मैं कुछ आइटम्स फ़ोल्डर में जोड़े "वर्ष 2006 '।  यह है क्या यह की तरह लग रहा है:

image

मेरे दोस्त सी # कोड लिख नहीं है, लेकिन बल्कि जावा का प्रयोग, तो क्या वह वास्तव में जरूरत SOAP एनवलप था।  कि प्राप्त करने के लिए, मैं jQuery का एक सा लिखा था और फिर सारंगी बजानेवाला वास्तविक HTTP बातचीत करने के लिए प्रयुक्त.

यहाँ प्रासंगिक jQuery है (यदि आप कॉपी/पेस्ट करना चाहते हैं मैं कोड नीचे नीचे नकल):

image

वे पहली कुंजी है दोनों को शामिल करने के लिए एक <queryOptions> और <QueryOptions> नोड।  दूसरा प्रमुख है कि <फ़ोल्डर> नोड एक यूआरएल जो करने के लिए क्लाइंट तक पहुँच गया है.

इस प्राप्त करने के लिए अन्य तरीके हो सकते हैं, लेकिन यह मेरे लिए अच्छी तरह से काम किया है jQuery का उपयोग करते समय.

यहाँ SOAP एनवलप इसके बाद के संस्करण के लिए है:

<soapenv:लिफ़ाफ़ा xmlns:soapenv =’http://schemas.xmlsoap.org/soap/envelope/’>                
  <soapenv:शरीर>
    <GetListItems xmlns =’
http://schemas.microsoft.com/sharepoint/soap/’>
      <listName>उप फ़ोल्डर्स के साथ कस्टम सूची</listName>
      <viewFields>  
        <ViewFields>
          <FieldRef नाम =' शीर्षक’ />
          <FieldRef नाम ='EncodedAbsUrl’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <फ़ोल्डर>
http://demoserver1/ब्लॉगिंग उप फ़ोल्डर्स/वर्ष 2006 के साथ परिदृश्यों/सूची/कस्टम सूची</फ़ोल्डर>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:शरीर>
</soapenv:लिफ़ाफ़ा>

उदाहरण हैं और इस के आसपास चर्चा का एक बहुत कुछ के नेतृत्व में मुझे विश्वास है कि मैं सभी की जरूरत थी <QueryOptions> और एक फ़ोल्डर नाम निर्दिष्ट करें।  मेरे लिए, मैं दोनों के लिए अंदर इसे लपेटो की जरूरत है <queryOptions> रूप में अच्छी तरह के रूप में एक पूर्ण क्वालीफ़ाइड URL के लिए निर्दिष्ट करें <फ़ोल्डर> नोड.

यहाँ jQuery AJAX सेटअप है:

$(दस्तावेज़).तैयार(समारोह() {
       var soapEnv =
           "<soapenv:लिफ़ाफ़ा xmlns:soapenv =’http://schemas.xmlsoap.org/soap/envelope/’> \
               <soapenv:शरीर> \
                    <GetListItems xmlns =’http://schemas.microsoft.com/sharepoint/soap/’> \
                       <listName>उप फ़ोल्डर्स के साथ कस्टम सूची</listName> \
                       <viewFields> \
                           <ViewFields> \
                              <FieldRef नाम =' शीर्षक’ /> \
                              <FieldRef नाम ='EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <फ़ोल्डर>http://demoserver1/Blogging उप फ़ोल्डर्स/वर्ष 2006 के साथ परिदृश्यों/सूची/कस्टम सूची</फ़ोल्डर> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:शरीर> \
           </soapenv:लिफ़ाफ़ा>";

</अंत>

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

मेरे चहचहाना पर का पालन करें http://www.twitter.com/pagalvin

एसपीडी वर्कफ़्लो पैटर्न, टिप्स एण्ड ट्रिक्स

मैं मेरी प्रस्तुति आज दी डेन्वर में SharePoint उत्सव. यहाँ PowerPoint प्रस्तुति है: http://www.mstechblogs.com/paul/wp-content/uploads/2011/05/SharePointFest.pptx

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

मेरे चहचहाना पर का पालन करें http://www.twitter.com/pagalvin

Lists.asmx, GetList और 'मान रिक्त होना नहीं कर सकते”

मुझे आज पता चला कि GetList() विधि में lists.asmx वेब सेवा बहुत ही सावधानी से कहा जा करने के लिए है या यह एक रहस्यमय "मान रिक्त हो सकता" अपवाद फेंक करने के लिए प्रवण है (और कि आप अतीत भी बदतर जेनेरिक त्रुटि संदेश प्राप्त कर सकते हैं संभालने है, "प्रकार की अपवाद ' Microsoft.SharePoint.SoapServer.SoapServerException’ फेंक दिया गया था.")  विशेष रूप से, मैंने पाया है कि आप GetList पद्धति पर उपसर्ग की किसी भी तरह प्रदान नहीं कर सकते।  निम्नलिखित jQuery स्निपेट दिखाता है बात:

image

यदि आप कि क्या, वेब सेवा का जवाब है "मान के अनुसार यह बातिल हो नहीं कर सकता के साथ" सारंगी बजानेवाला-HTTP प्रतिलेख प्रदान की:

<?xml संस्करण "1.0 =" एन्कोडिंग = "utf-8"?>
  <साबुन:लिफ़ाफ़ा
     xmlns:साबुन ="
http://schemas.xmlsoap.org/soap/envelope/"    
     xmlns:xsi = "
http://www.w3.org/ 2001/xml स्कीमा-उदाहरण
     xmlns:xsd ="
http://www.w3.org/ 2001/xml स्कीमा">

  <साबुन:शरीर>
    <साबुन:गलती>
      <faultcode>साबुन:सर्वर</faultcode>
      <faultstring>
        अपवाद प्रकार का ' Microsoft.SharePoint.SoapServer.SoapServerException’ फेंका था.
      </faultstring>
      <विस्तार>
        <errorstring xmlns ="
http://schemas.microsoft.com/sharepoint/soap/">
मान रिक्त नहीं हो सकता.
        </errorstring>
      </विस्तार>
    </साबुन:गलती>
  </साबुन:शरीर>
</साबुन:लिफ़ाफ़ा>

बेशक, तुम्हें शायद कि "s0" उपसर्ग अपने दम पर जोड़ नहीं होता, लेकिन कुछ उपकरण यह करने के लिए प्रवण हैं (ग्रहण की तरह).

यह सब अधिक भ्रामक है / निराशा होती है क्योंकि अन्य विधियों को उपसर्ग सहन।  उदाहरण के लिए, इस GetListCollection विधि यदि यह prefixed किया गया है मन नहीं करता, "xyzzy" की तरह भी बकवास उपसर्गों के साथ:

image

यह "मूल्य नहीं हो सकता नल है" तो उम्मीद है कि यह मदद मिलेगी किसी को बाहर भविष्य में lists.asmx के साथ काफी आम लगता है.

</अंत>

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

मेरे चहचहाना पर का पालन करें http://www.twitter.com/pagalvin

अंतहीन को नेस्ट करना <div> टैग और jQuery

यह ऐसी एक oddball विषय की तरह लगता है, मुझे यकीन है कि यह वास्तव में के बारे में ब्लॉगिंग के लायक है नहीं कर रहा हूँ, लेकिन कि कभी नहीं से पहले मुझे बंद कर दिया है, तो यहाँ हम चले मुस्कुराओ

मैं जहाँ मैं एक खोज से कुछ डेटा खींच रहा हूँ एक परियोजना पर काम कर रहा हूँ, यह एक XML संदेश और उसके बाद उस XML में पैकेजिंग अंततः XSLT के माध्यम से HTML में तब्दील है।  JQuery का एक बहुत कुछ शामिल है, जो की एक बिट कुछ tabbing कार्यक्षमता लागू करता है।  जब आप कोई टैब पर क्लिक करें (वाक़ई, एक <div>), .hide jQuery invokes() और .show() पर विभिन्न divs (तो इस मामले में कोई postbacks वहाँ रहे हैं के लिए प्रारंभिक पृष्ठ लोड सभी सामग्री डाउनलोड).

घंटे पहले की एक गुच्छा, टैब स्विचन तर्क erratically व्यवहार करना शुरू कर दिया और यह मेरी टैब्स में से एक दिखाना नहीं होता।  मैं अंततः के लिए नीचे इस तथ्य यह है कि इंटरनेट एक्सप्लोरर ट्रैक (कम से कम) सोचा कि <div> टैग तक नेस्ट किया हुआ, इरादा की तुलना गहराई तक।डेवलपर उपकरण पट्टी दिखाना होगा:

-<div id = "Tab1Content">
  -<div>
    -<div>
      -<div id = "Tab2Content">
        -<div>
           …………………………
                   </div>  <-अंत में यह दिखा रहा है यहाँ नीचे सभी तरह बंद हो गया था!

तो, अगर मैंने किया था एक $("#Tab1Content").छिपाएँ(), मैं भी Tab2 छिपा होगा और मैं अगर मैं भी Tab1 शो फ्लॉप Tab2 कभी नहीं दिखा सकता है।  मैं नकल की है और दृश्य स्टूडियो और इसे ऊपर div अस्तर के सभी अच्छी तरह से पता चला में कोड चिपकाया, की तरह वे कर रहे हो करने के लिए चाहिए थे, इस तरह की तलाश:

-<div id = "Tab1Content">
  +<div>
  +<div>
-<div id = "Tab2Content">
  +<div>
  +<div>

मैं थोड़ी देर के लिए दीवार के खिलाफ मेरे सिर को हरा और देखा था कि वास्तविक HTML में खाली के एक बहुत कोड जनरेट कर रहा है <div> टैग, की तरह:

<शरीर>

  <div id = "Tab1Content">

    <div id = "row1" />
    <div id = "row2" />

  </div>

  <div id = "Tab2Content">

    <div id = "row1" />
    <div id = "row2" />

  </div>

</शरीर>

(इसके बाद के संस्करण waaaaaaaaaaaay oversimplified है।  खाली div टैग पूरी तरह से मान्य हैं. उनमें से कुछ मेरे <div> टैग सामग्री से भरा रहे थे, लेकिन कई और अधिक नहीं थे।  मैं साकार करने आया था कि मेरी <xsl:के लिए प्रत्येक> निर्देशों के लघु-रूप उत्सर्जक थे div टैग जब xsl:के लिए प्रत्येक नहीं था ' किसी भी डेटा को खोजने।  मैं एक HTML टिप्पणी आउटपुट में मजबूर, के रूप में दिखाया गया:

image

 

करने के बाद मैंने किया है कि, सभी div को अच्छी तरह से तैयार किया और मेरी टैब स्विचन काम शुरू कर दिया.

हमेशा की तरह, मुझे आशा है कि इस मदद करता है किसी को एक चुटकी में.

</अंत>

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

मेरे चहचहाना पर का पालन करें http://www.twitter.com/pagalvin

त्वरित फिक्स: "सामग्री प्रकार का नाम '$ संसाधन:ReportServerResources … शामिल नहीं हो सकता … विशेष वर्ण”

मैं कुछ समय के ऊपर एक SharePoint सफाई खर्च कर रहा है 2010 साइट और क्लीनअप के मुद्दों में से एक एक दूषित करने से संबंधित / SQL सर्वर रिपोर्ट सेवाओं मुद्दे गलत रूप से स्थापित है।  जब मेरे साथियों में से एक एक साइट टेम्पलेट के रूप में सहेजें और तब पैदा करने की कोशिश की जो समस्या पैदा हुई उस टेम्पलेट पर आधारित एक नया साइट बनाएँ।  सहेजें ऑपरेशन ठीक काम किया, लेकिन जब वह नई साइट बनाने की कोशिश की, SharePoint निम्न त्रुटि संदेश प्रदर्शित होता है:

त्रुटि

सामग्री प्रकार का नाम ' $Resources:ReportServerResources,DataSourceContentTypeName;' नहीं हो सकते: \ / : * ? “ # % < > { } | ~ & , दो लगातार अवधि (..), या एक टैब जैसे विशेष वर्ण.

यहाँ एक स्क्रीन की टोपी है:

 

image

मैं में साइट सामग्री प्रकारों पर एक नज़र था और यह पाया:

image

उन सामग्री प्रकारों स्पष्ट रूप से अस्वस्थ कर रहे हैं.

यह मुद्दा बहुत Internets पर आने के लिए लगता है और वहाँ एक एकल सर्वसम्मति पर कैसे इसे हल करने के लिए किया जा करने के लिए प्रतीत नहीं होता।  मैं एक काम तालिका कि बुरा सामग्री प्रकार नाम यहाँ अच्छी सामग्री प्रकार नामों के लिए मैप किया गया पाया: http://social.technet.microsoft.com/Forums/en-ZA/sharepoint2010programming/thread/cb03e866-8184-4943-acfe-cafffa1b8b7a.  मैं मैन्युअल रूप से उन्हें thusly अद्यतन:

image

(BrightStarr नाम में स्पष्ट रूप से वैकल्पिक है, लेकिन यह चोट नहीं कर सकता मुस्कुराओ )

यह मुझे एक नया टेम्पलेट बनाने के लिए अनुमति दी और कुछ अन्य साइटों पर तोड़ नहीं था, सहित कुछ PerformancePoint सर्वर सामान है कि लोगों की एक पूरी तरह से अलग समूह पर काम कर रहे थे।  मैं तो एक नई साइट पर टेम्पलेट बनाने में सक्षम था।  सफलता!

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

</अंत>

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

मेरे चहचहाना पर का पालन करें http://www.twitter.com/pagalvin

एक कारण के लिए "इस गलती के निर्माता एक कारण निर्दिष्ट नहीं किया है।”

मैं बहुत SharePoint खोज हाल ही में और विशेष रूप से KeywordQuery वर्ग के साथ काम कर रहा हूँ, गुण और पद्धतियाँ.

यदि आप सामान्य संदिग्ध परे परिणाम देने के लिए सेट परिणाम चाहते हैं (यहाँ देखें), आप इसे SelectedProperties संग्रह करने के लिए जोड़ें, के रूप में:

myKeywordQuery.SelectProperties.Add("xyzzy");

बहुत धन्यवाद और एक टिप के लिए hat के कोरी Roth और इस अत्यधिक उपयोगी ब्लॉग पोस्ट (http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2008/02/19/how-to-use-the-moss-enterprise-search-keywordquery-class.aspx)

मेरे मामले में, "xyzzy" वास्तव में एक प्रबंधित गुण नहीं है।  जब मैं इसे SelectedProperties करने के लिए वैसे भी जोड़ा, SharePoint फेंक दिया मेरी पसंदीदा में से एक कभी रनटाइम अपवाद:

"इस गलती के निर्माता एक कारण निर्दिष्ट नहीं किया."

मैं विशेष रूप से राजधानी "R" कारण में पसंद है।  यह मुझे करने के लिए .NET के समकक्ष की तरह लगता है'मैं कोई मुँह है, और मैं चीख अवश्य.”

</अंत>

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

मेरे चहचहाना पर का पालन करें http://www.twitter.com/pagalvin

काम संदर्भ: KeywordQuery खोज से डिफ़ॉल्ट परिणाम

जब आप चलाएँ आह्वान() एक KeywordQuery पर विधि, तुम एक ResultTable ResultType.RelevantResults पर आधारित बना सकते हैं।  इस कोड का टुकड़ा दिखाता है कि मैं क्या मतलब:

ResultTableCollection resultsTableCollection = myKeywordQuery.Execute();

ResultTable searchResultsTable = resultsTableCollection[ResultType.RelevantResults];

परिणामी तालिका जानकारी के कॉलम के बाद होगा: 

कार्य Id
रैंक
शीर्षक
लेखक
का आकार
पथ
विवरण
लिखना
SiteName
CollapsingStatus
HitHighlightedSummary
HitHighlightedProperties
ContentClass
IsDocument
PictureThumbnailURL
ServerRedirectedURL

मैं इस सूची से किसी SharePoint से व्युत्पन्न 2010 पर्यावरण, एंटरप्राइज़ संस्करण।  उम्मीद है कि यह भविष्य में किसी के लिए आसान हो जाएगा.

</अंत>

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

मेरे चहचहाना पर का पालन करें http://www.twitter.com/pagalvin

एक कारण के लिए: "समाधान में टैक्सी फ़ाइल निकालने में विफल”

परियोजना के एक दृश्य स्टूडियो वेब भाग पर कार्य करते हुए आज, मैंने कुछ फ़ाइलों को _layouts फ़ोल्डर में परिनियोजन की प्रक्रिया के हिस्से के रूप में डाल करने के एक मामूली पुन org किया. विशेष रूप से, मैं "TypeAhead करने के लिए"TypeAhead.js"से किसी. js फ़ाइल का नाम(पुराने).जे एस"  मैं इसे हटाने के रूप में जल्दी के रूप में अपने उत्तराधिकारी "TypeAhead.js" सही साबित होता है के लिए योजना है।  इसे इस तरह से देखा:

image

यह तुरंत दृश्य स्टूडियो के साथ किसी समस्या के कारण जब प्रोजेक्ट को परिनियोजित करने की कोशिश की:

परिनियोजन 'समाधान जोड़ें' चरण में त्रुटि उत्पन्न हुई: समाधान में cab फ़ाइल को निकालने के लिए विफल.

यह पता चला है कि आप फ़ाइल नाम में एक लघु कोष्ठक डाल नहीं करना चाहिए।  मैं हटा parens और कि समस्या का हल.

</अंत>

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

मेरे चहचहाना पर का पालन करें http://www.twitter.com/pagalvin