คลังเก็บรายเดือน: อาจ 2011

PerformancePoint และข้อผิดพลาด 33494

หนึ่งในลูกค้าเรียกว่าวันนี้เมื่อสภาพแวดล้อม PerformancePoint (ใน SharePoint 2010) ไม่  เซิร์ฟเวอร์โปรแกรมประยุกต์ในฟาร์มหนึ่งกำลังทำงานต่ำเนื้อที่ว่างบนดิสก์  ขณะจัดการกับการที่, ถอนการติดไคลเอ็นต์ตั้ง "มากเกินไป" และสิ่ง PP ทั้งหมดหยุดทำงาน  Web part ต่าง ๆ จะแสดงการ "เกิดมีข้อผิดพลาดที่ไม่คาดคิดขึ้น. ข้อผิดพลาด 33494. รายละเอียดเพิ่มเติมได้รับการบันทึกไว้สำหรับผู้ดูแลระบบของคุณ":

image

ฉันค้นหาข้อผิดพลาด และไม่พบสิ่งเฉพาะ "Error 33494" แต่เวทีนี้ MSDN ที่ลงรายการบัญชีได้ประโยชน์: http://social.technet.microsoft.com/forums/en-us/sharepoint2010setup/thread/E1FE189D-7F89-455D-A98B-C1A12D8626AB

ฉันพบ ADOMDNET ที่นี่เป็นคอมโพเนนต์ใน SQL Server 2008 คุณลักษณะ Pack: http://www.microsoft.com/downloads/en/details.aspx?FamilyId=228DE03F-3B5A-428A-923F-58A033D316E1&displaylang=en

image

(คลิกเพื่อขยายใหญ่)

ฉันดาวน์โหลด และติดตั้งที่ และมันคงทุกอย่าง.

ฉันคิดว่า นี่คือเป็น oddball สวยชนิดของข้อผิดพลาด, แต่ ถ้าคุณเข้าชม, คุณน้อย คุณมีตัวเลือก.

</สิ้นสุด>

สมัครสมาชิกไปยังบล็อกของฉัน.

ทำตามฉันใน Twitter ที่ http://www.twitter.com/pagalvin

Lists.asmx, GetListItems และโฟลเดอร์

ฉันได้ทำงานวิจัยบางบุคคลวันนี้รอบบริการเว็บ list.asmx ให้เป็นส่วนหนึ่งของ SharePoint 2010 (และรุ่นก่อนหน้า).  เธอได้รับในรายการที่โฟลเดอร์ราก (รวมทั้งชื่อของ sub-folders), แต่ไม่ได้รับสินค้าใน sub-folders  ไม่บางอย่างรอบคอบในการ internets และคำถามทั่วไปอย่างแปลกใจ  ยัง, ฉันไม่สามารถได้รับคำตอบสำหรับคำถามที่วิดี, "ถ้ารู้ว่าโฟลเดอร์, ฉันรับสินค้าในโฟลเดอร์?”  จะซื่อสัตย์, ไม่ได้พยายามทั้งหมดที่หนักเนื่องจากผมได้ต้องการรูปหนึ่งนี้ออกด้วยตัวเองสำหรับในขณะ ยิ้ม.

การตั้งค่านี้, ไซต์มีชื่อว่า "สถานการณ์ของบล็อก" และรายการแบบกำหนดเองที่ชื่อว่า "กำหนดเองรายการกับโฟลเดอร์ย่อย" สร้าง  สร้างโฟลเดอร์ชื่อแล้ว:

  • ปี 2005
  • ปี 2006
  • ปี 2007

เพิ่มเพียงไม่กี่รายการไปที่โฟลเดอร์ "ปี 2549"  นี่คือสิ่งที่มีลักษณะเหมือน:

image

เพื่อนของฉันไม่ได้เขียน C# โค้ด แต่แทนที่จะ ใช้ Java, ดังนั้น ละครซองจดหมายถูกอะไรเธอจริง ๆ ต้อง  รับที่, ฉันเขียนบิตของ jQuery และใช้ fiddler รับสนทนา HTTP ที่แท้จริงแล้ว.

นี่คือ jQuery เกี่ยวข้อง (คัดลอกรหัสลงด้านล่างหากคุณต้องการคัดลอก/วาง):

image

พวกเขาแรกคีย์คือการ รวมทั้งสองแบบ <queryOptions> และ <QueryOptions> โหนด  ปุ่มที่สองคือที่ <โฟลเดอร์> โหนดคือ URL ที่ไคลเอ็นต์เข้า.

อาจจะมีวิธีอื่น ๆ ที่ได้รับนี้, แต่นี้ทำงานได้ดีสำหรับฉันเมื่อใช้ jQuery.

นี่คือละครซองจดหมายสำหรับด้านบน:

<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/บล็อก รายการสถานการณ์/รายการ/กำหนดเองกับ Sub โฟลเดอร์/ปี 2549</โฟลเดอร์>
        </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 รายการสถานการณ์/รายการ/กำหนดเองกับ Sub โฟลเดอร์/ปี 2549</โฟลเดอร์> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:เนื้อความ> \
           </soapenv:ซองจดหมาย>";

</สิ้นสุด>

สมัครสมาชิกไปยังบล็อกของฉัน.

ทำตามฉันใน Twitter ที่ http://www.twitter.com/pagalvin

ลวดลายของเวิร์กโฟลว์ SPD, เคล็ดลับและเทคนิค

ฉันได้นำเสนอของฉันวันนี้ที่ SharePoint Fest ในเดนเวอร์. นี่คือ งานนำเสนอ PowerPoint เอง: http://www.mstechblogs.com/paul/wp-content/uploads/2011/05/SharePointFest.pptx

สมัครสมาชิกไปยังบล็อกของฉัน.

ทำตามฉันใน Twitter ที่ http://www.twitter.com/pagalvin

Lists.asmx, GetList และ "ค่าไม่สามารถเป็น null”

พบวันนี้ที่ GetList() วิธีการใน lists.asmx มีบริการเว็บเรียกระมัดระวัง หรือมีแนวโน้มที่จะโยนความลึกลับยกเว้น "ค่าไม่สามารถเป็น null" (และที่จะสมมติว่า คุณสามารถเรียกดูผ่านข้อผิดพลาดทั่วไปยิ่งแย่ลง, "ข้อยกเว้นของชนิด ' Microsoft.SharePoint.SoapServer.SoapServerException’ เกิดขึ้น")  โดยเฉพาะอย่างยิ่ง, พบว่า คุณไม่สามารถให้ชนิดใด ๆ ของคำนำหน้ากับวิธี GetList  ส่วนย่อยของ jQuery ดังต่อไปนี้แสดงให้เห็นถึงจุด:

image

ถ้าคุณทำเช่นนั้น, บริการเว็บการตอบสนอง ด้วยการ "ค่าไม่สามารถเป็น null" ตามนี้ พู้ทำเล่น-ให้เสียงบรรยาย HTTP:

<?xml version = "1.0" เข้ารหัส = "utf-8"?>
  <สบู่:ซองจดหมาย
     xmlns:สบู่ ="
http://schemas.xmlsoap.org/soap/envelope/"    
     xmlns:xsi = "
http://www.w3.org/ 2001/XMLSchema-อินสแตนซ์
     xmlns:xsd ="
http://www.w3.org/ 2001/XMLSchema">

  <สบู่:เนื้อความ>
    <สบู่:ข้อบกพร่อง>
      <faultcode>สบู่:เซิร์ฟเวอร์</faultcode>
      <faultstring>
        ข้อยกเว้นของชนิด ' Microsoft.SharePoint.SoapServer.SoapServerException’ เกิดขึ้น.
      </faultstring>
      <รายละเอียด>
        <errorstring xmlns ="
http://schemas.microsoft.com/sharepoint/soap/">
ค่าไม่สามารถเป็น null.
        </errorstring>
      </รายละเอียด>
    </สบู่:ข้อบกพร่อง>
  </สบู่:เนื้อความ>
</สบู่:ซองจดหมาย>

แน่นอน, คุณอาจจะไม่เพิ่มคำนำหน้าว่า "s0" ด้วยตนเอง, แต่เครื่องมือบางชนิดมีแนวโน้มที่ (เช่นอุปราคา).

นี่คือความสับสนทั้งหมด / frustrating เนื่องจากวิธีการอื่น ๆ ทนนำหน้า  สำหรับอินสแตนซ์, ที่ GetListCollection วิธีไม่รังเกียจถ้าจะได้รับสิ่ง, แม้จะ มีหน้าที่พูดจาเหลวไหลเช่น "xyzzy":

image

นี้ "ค่าไม่สามารถเป็น null" ดูเหมือนว่าค่อนข้างปกติ lists.asmx เพื่อหวังว่านี้จะช่วยให้คนออกในอนาคต.

</สิ้นสุด>

สมัครสมาชิกไปยังบล็อกของฉัน.

ทำตามฉันใน Twitter ที่ http://www.twitter.com/pagalvin

ซ้อนกันไม่รู้จบ <div> แท็กและ jQuery

นี้ดูเหมือนว่าหัวข้อ oddball การดังกล่าว, ผมไม่แน่ใจว่าเป็นจริงคุ้มค่าบล็อกเกี่ยวกับ, แต่ที่ไม่เคยหยุดฉันก่อน, ดังนั้นที่นี่เราไป ยิ้ม

ฉันกำลังหาโครงการที่ผมกำลังดึงข้อมูลบางอย่างจากการค้นหา, ในที่สุดเปลี่ยนการบรรจุค่าเป็นข้อความ XML และ XML ที่เป็น HTML ผ่าน XSLT  มีจำนวนมากของ jQuery ที่เกี่ยวข้อง, หนึ่งบิตที่ใช้งาน tabbing  เมื่อคุณคลิกบนแท็บ (จริง ๆ, การ <div>), .hide เรียกใช้ jQuery() และ.show() บนว่า divs ต่าง ๆ (โหลดหน้าแรกดาวน์โหลดเนื้อหาทั้งหมดดังนั้นในกรณีนี้มี postbacks ไม่).

พวงของชั่วโมงที่ผ่านมา, แท็บสลับตรรกะเริ่มประพฤติผิด และมันจะไม่แสดงหนึ่งแท็บของฉัน  ในที่สุดติดตามมันลงจริงที่เทอร์ (น้อย) ความคิดที่จะ <div> แท็กซ้อนไกล, ไกลลึกกว่า intendedต้องแสดงแถบเครื่องมือนักพัฒนา:

-<รหัส div = "Tab1Content">
  -<div>
    -<div>
      -<รหัส div = "Tab2Content">
        -<div>
           …………………………
                   </div>  <ตัวสุดท้าย แสดงปิดทางลงที่นี่!

ดังนั้น, ถ้าฉันไม่มี $("#Tab1Content").ซ่อน(), ฉันจะซ่อน Tab2 และฉันอาจไม่เคยแสดง Tab2 ถ้าฉันไม่แสดง Tab1  ผมคัดลอก และวางรหัสค่าสตูดิโอภาพและเห็นซับของ div ค่าทั้งหมดอย่างดี, เหมือนพวกเขาควรจะทำ, มองเช่นนี้:

-<รหัส div = "Tab1Content">
  +<div>
  +<div>
-<รหัส div = "Tab2Content">
  +<div>
  +<div>

ฉันตีศีรษะกำแพงในขณะ และสังเกตเห็นว่า ใน HTML จริง รหัสถูกสร้างมากเปล่า <div> แท็ก, เช่น:

<เนื้อความ>

  <รหัส div = "Tab1Content">

    <รหัส div = "row1" />
    <รหัส div = "row2" />

  </div>

  <รหัส div = "Tab2Content">

    <รหัส div = "row1" />
    <รหัส div = "row2" />

  </div>

</เนื้อความ>

(ด้านบนมี oversimplified waaaaaaaaaaaay  แท็ก div เปล่าถูกทั้งหมด. บางอย่างของฉัน <div> แท็กเต็มไปด้วยเนื้อหา, แต่ไม่มาก  ผมมารับรู้ที่ที่ของฉัน <xsl:แต่สำหรับละ> คำสั่งถูกเปล่งแบบสั้น div แท็กเมื่อ xsl:ไม่ได้แต่สำหรับละ ' การค้นหาข้อมูลใด ๆ  ฉันบังคับคิดเป็น HTML ในการแสดงผล, ดังที่แสดง:

image

 

หลังจากไม่ได้ที่, ทั้งหมดของ div ตั้งเรียงรายอย่างสวยงาม และสลับแท็บของฉันเริ่มทำงาน.

เป็นเสมอ, ฉันหวังว่า นี้ช่วยให้คนในเหน็บแนม.

</สิ้นสุด>

สมัครสมาชิกไปยังบล็อกของฉัน.

ทำตามฉันใน Twitter ที่ http://www.twitter.com/pagalvin

โปรแกรมแก้ไขด่วน: "ชื่อชนิดเนื้อหา ' $ Resources:ReportServerResources … ไม่สามารถประกอบด้วย … อักขระพิเศษ”

ฉันได้รับใช้บางเวลาล้าง SharePoint 2010 ไซต์และหนึ่งในปัญหาการล้างข้อมูลที่เกี่ยวข้องกับการเกิดความเสียหาย / ติดตั้งบริการรายงานของ SQL Server ปัญหาอย่างไม่ถูกต้อง  ปัญหานี้เกิดขึ้นเมื่อหนึ่งในผู้ร่วมงานของฉันพยายามบันทึกไซต์เป็นแม่แบบ และสร้างสร้างไซต์ใหม่ที่ใช้แม่แบบ  บันทึกการดำเนินการทำงานดี, แต่ เมื่อเธอพยายามที่จะสร้างไซต์ใหม่, SharePoint แสดงข้อความแสดงข้อผิดพลาดต่อไปนี้:

ข้อผิดพลาด

ชื่อชนิดเนื้อหา ' $ Resources:ReportServerResources,DataSourceContentTypeName;' ไม่ประกอบด้วย: \ / : * ? “ # % < > { } | ~ & , สองรอบระยะเวลาที่ต่อเนื่องกัน (..), หรืออักขระพิเศษเช่นแท็บ.

นี่เป็นหมวกหน้าจอ:

 

image

ฉันได้ดูที่ชนิดเนื้อหาในไซต์ และพบนี้:

image

ชนิดเนื้อหาเหล่านั้นจะชัดเจน unhealthy.

ปัญหานี้น่าจะ มาอัพที่อยู่บน Internets มาก และดูเหมือนไม่จะมี ฉันทามติเดียวเกี่ยวกับวิธีการแก้ไขมัน  พบตารางสะดวกที่แมปชื่อชนิดเนื้อหาที่ไม่เหมาะสมกับชื่อของชนิดเนื้อหาของดีที่นี่: http://social.technet.microsoft.com/Forums/en-ZA/sharepoint2010programming/thread/cb03e866-8184-4943-acfe-cafffa1b8b7a.  ปรับด้วยตนเองปรุงนั้น thusly:

image

(BrightStarr ในชื่อก็แน่นอน, แต่ไม่เจ็บ ยิ้ม )

นี้ได้รับอนุญาตให้สร้างแม่แบบใหม่ และไม่ได้ทำลายสิ่งที่เว็บไซต์อื่น ๆ, รวมถึงบางสิ่ง PerformancePoint Server ที่กลุ่มบุคคลต่าง ๆ ทั้งหมดที่กำลังทำงานอยู่  ผมไปแล้วสามารถสร้างไซต์ใหม่บนต้นแบบ  ความสำเร็จ!

ฉันไม่แน่ใจว่า นี้เป็นการ 100% โซลูชั่น, แต่ก็มีผม และทุกคนเกี่ยวข้องที่ผ่านมานี้น่ารำคาญข้อผิดพลาด  ถ้าค้นหาสิ่งใหม่, ฉันจะส่งการปรับปรุง  ของฉัน nervousness stems จากข้อเท็จจริงว่า ชื่อเหล่านี้ควรจะผิดตั้งแต่แรกและ โดยการแก้ไขชื่อที่ใช้แสดง, นอกจากนี้ฉันไม่ฉันสัมผัสชื่อภายใน 

</สิ้นสุด>

สมัครสมาชิกไปยังบล็อกของฉัน.

ทำตามฉันใน Twitter ที่ http://www.twitter.com/pagalvin

สาเหตุหนึ่งสำหรับ "ผู้สร้างข้อบกพร่องนี้ไม่ได้ระบุเหตุผล”

ผมได้ทำมากของการทำงานกับการค้นหา SharePoint เมื่อเร็ว ๆ นี้และโดยเฉพาะคลา KeywordQuery, คุณสมบัติและวิธีการ.

ถ้าคุณต้องการผลลัพธ์ที่กำหนดให้ผลลัพธ์เหนือกว่าสงสัยปกติ (ดูที่นี่), เพิ่มชุด SelectedProperties, เช่นใน:

myKeywordQuery.SelectProperties.Add("xyzzy");

ขอบคุณมากมายและคำแนะนำของหาดใหญ่ไป Corey 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 การ"มีปากไม่มี, และฉันต้องร้อง.”

</สิ้นสุด>

สมัครสมาชิกไปยังบล็อกของฉัน.

ทำตามฉันใน Twitter ที่ http://www.twitter.com/pagalvin

สะดวกในการอ้างอิง: เริ่มต้นที่ผลลัพธ์จากการค้นหา KeywordQuery

เมื่อคุณเรียกใช้การดำเนินการ() วิธีการในการ KeywordQuery, คุณสามารถสร้าง ResultTable ตาม ResultType.RelevantResults  โค้ดนี้อธิบายไง:

ResultTableCollection resultsTableCollection = myKeywordQuery.Execute();

ResultTable searchResultsTable = resultsTableCollection[ResultType.RelevantResults];

ตารางผลลัพธ์จะมีคอลัมน์ของข้อมูลต่อไปนี้: 

WorkId
อันดับ
ชื่อเรื่อง
ผู้เขียน
ขนาด
เส้นทาง
คำอธิบาย
เขียน
SiteName
CollapsingStatus
HitHighlightedSummary
HitHighlightedProperties
ContentClass
IsDocument
PictureThumbnailURL
ServerRedirectedURL

ฉันได้มารายการนี้จากการ SharePoint 2010 สภาพแวดล้อม, องค์กรฉบับ  หวังว่ามันจะมีประโยชน์กับคนในอนาคต.

</สิ้นสุด>

สมัครสมาชิกไปยังบล็อกของฉัน.

ทำตามฉันใน Twitter ที่ http://www.twitter.com/pagalvin

เหตุผลหนึ่ง: "ไม่สามารถแยกไฟล์ cab ในโซลูชัน”

ในขณะที่ทำงานบน web part visual studio โครงการวันนี้, ฉันไม่ได้เป็นรองเรื่องสุดกล่องของแฟ้มบางแฟ้มจะใส่ลงในโฟลเดอร์ _layouts เป็นส่วนหนึ่งของกระบวนการปรับใช้. โดยเฉพาะอย่างยิ่ง, ฉันเปลี่ยนชื่อแฟ้มได้.js จาก "TypeAhead.js" "TypeAhead(เก่า).js"  ฉันจะลบออกทันทีที่ทำต่อของ "TypeAhead.js" พิสูจน์ความถูกต้อง  มันดูดังนี้:

image

นี้ทำให้เกิดปัญหา ด้วย visual studio ทันทีเมื่อฉันพยายามปรับใช้โครงการ:

เกิดข้อผิดพลาดในขั้นตอนการปรับใช้ 'เพิ่มโซลูชั่น': ล้มเหลวในการแยกไฟล์ cab ในโซลูชัน.

แต่มันไม่ชัดว่า คุณไม่ควรวางในวงเล็บในชื่อแฟ้ม  ฉันเอาออกการ parens และที่แก้ไขปัญหา.

</สิ้นสุด>

สมัครสมาชิกไปยังบล็อกของฉัน.

ทำตามฉันใน Twitter ที่ http://www.twitter.com/pagalvin