بایگانی ماهانه: مه 2011

PerformancePoint و خطا 33494

یکی از مشتریان من امروز به نام که محیط PerformancePoint خود را (در شیرپوینت 2010) خراب شد.  یکی از سرور های برنامه در مزرعه در حال اجرا بود کم در فضای دیسک است.  در حالی که پرداختن به آن, مشتری حذف "بیش از حد" و چیزهای PP تمام عملکرد متوقف شده است.  قطعات و وب سایت های مختلف را نشان می دهد "خطای غیر منتظره رخ داده است. خطا 33494. جزئیات اضافی شده اند برای مدیر خود را وارد ":

image

من نگاه کردن خطا و چیزی خاص به خطا 33،494 "اما این انجمن 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

(برای دیدن تصویر بزرگتر روی آن کلیک کنید)

من دانلود و نصب شده است که و آن را به همه چیز ثابت است.

من فکر می کنم این یک نوع عجیب و غریب زیبا از خطا است, اما اگر شما به آن رسید, شما حداقل شما باید گزینه ای.

</پایان>

مشترک شدن در وبلاگ من.

من در توییتر در http://www.twitter.com/pagalvin

Lists.asmx, GetListItems و پوشه

من انجام برخی تحقیقات را برای کسی که امروز در سراسر وب سرویس list.asmx ارائه شده به عنوان بخشی از شیرپوینت 2010 (و قبل از آن).  او قادر بود برای به دست آوردن اقلام لیست در پوشه ریشه (از جمله نامهای از زیر پوشه ها), اما می تواند در موارد زیر پوشه ها را می کنید.  من برخی به دنبال بود در اطراف بر روی اینترنت و شگفت آور یک سوال مشترک است.  هنوز, من می توانم پاسخ خوبی به این سوال ساده نیست, "اگر من می دانم که پوشه, چگونه این اقلام را در پوشه?"  صادق باشد, من این همه سعی نمی کند از آنجایی که من می خواستم به شکل خود من در حالی که برای یکی از لبخند.

برای تنظیم این, ایجاد یک سایت به نام "سناریو وبنوشتها" و یک لیست سفارشی به نام "سفارشی با زیر پوشه".  من پس از آن ایجاد پوشه به نام:

  • سال 2005
  • سال 2006
  • سال 2007

من چند مورد را به پوشه "سال 2006".  این همان چیزی است که آن را مانند به نظر می رسد:

image

دوست من است کد # C نوشتن نیست، بلکه با استفاده از جاوا, بنابراین پاکت SOAP چیزی بود که او واقعا مورد نیاز است.  برای دریافت کنید که, من نوشت: یک بیت از jQuery و سپس با استفاده از نوازنده برای گرفتن مکالمه واقعی HTTP.

در اینجا ذکر کرد که jQuery مربوطه (من کپی کد زیر اگر می خواهید به کپی / چسباندن):

image

آنها کلید اول این است که شامل هر دو <queryOptions> و <QueryOptions> گره.  کلید دوم این است که <پوشه> گره URL که به مشتری است که دسترسی است.

ممکن است راه های دیگر را به این, اما این را به خوبی برای من کار می کرد که با استفاده از jQuery.

در اینجا این است که پاکت SOAP برای بالا:

<soapenv:xmlns پاکت:soapenv =’HTTP://schemas.xmlsoap.org / صابون / پاکت /’>                
  <soapenv:بدن>
    <xmlns GetListItems =’
HTTP://schemas.microsoft.com / شیرپوینت / صابون /’>
      <برگریز>لیست سفارشی با پوشه های فرعی</برگریز>
      <viewFields>  
        <ViewFields>
          <FieldRef نام = 'عنوان’ />
          <FieldRef نام = 'EncodedAbsUrl’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <پوشه>
HTTP://demoserver1/Blogging سناریوهای / لیست / فهرست های سفارشی با زیر پوشه / سال 2006</پوشه>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:بدن>
</soapenv:پاکت>

بسیاری از مثال ها و بحث در اطراف این باعث شد من به این باور است که تمام چیزی که نیاز دارم <QueryOptions> و مشخص نام پوشه.  برای من, من به هر دو بسته بندی کردن آن در داخل نیاز <queryOptions> همچنین به عنوان یک URL به طور کامل واجد شرایط برای مشخص <پوشه> گره.

در اینجا راه اندازی جی کوئری AJAX:

$(سند).آماده(تابع() {
       ور = soapenv
           "<soapenv:xmlns پاکت:soapenv =’HTTP://schemas.xmlsoap.org / صابون / پاکت /’> \
               <soapenv:بدن> \
                    <xmlns GetListItems =’HTTP://schemas.microsoft.com / شیرپوینت / صابون /’> \
                       <برگریز>لیست سفارشی با پوشه های فرعی</برگریز> \
                       <viewFields> \
                           <ViewFields> \
                              <FieldRef نام = 'عنوان’ /> \
                              <FieldRef نام = 'EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <پوشه>http://demoserver1/Blogging سناریوهای / لیست / فهرست های سفارشی با زیر پوشه / سال 2006</پوشه> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:بدن> \
           </soapenv:پاکت>";

</پایان>

مشترک شدن در وبلاگ من.

من در توییتر در http://www.twitter.com/pagalvin

SPD الگوهای گردش کار, راهنمایی و ترفندها

I gave my presentation today at SharePoint Fest in Denver. Here’s the PowerPoint presentation itself: http://www.mstechblogs.com/paul/wp-content/uploads/2011/05/SharePointFest.pptx

مشترک شدن در وبلاگ من.

من در توییتر در http://www.twitter.com/pagalvin

Lists.asmx, GetList و "ارزش نمی تواند تهی”

کشف امروز GetList.() روش در lists.asmx وب سرویس بسیار با دقت به آن می شود و یا آن را مستعد ابتلا به پرتاب مرموز "ارزش نمی تواند تهی" استثنا (و این فرض که شما می توانید گذشته حتی بدتر عمومی پیام خطا دریافت کنید, “Exception of type ‘Microsoft.SharePoint.SoapServer.SoapServerException’ پرتاب شد)  به طور خاص, که من پیدا کردم که شما می توانید هر نوع از پیشوند به روش GetList را فراهم نمی کند.  قطعه jQuery را زیر نقطه را نشان می دهد:

image

اگر شما انجام این کار, پاسخ وب سرویس با "مقدار می تواند تهی" همانطور که در این نقب زن-ارائه متن HTTP:

<?نسخه XML = "1.0" رمزگذاری = "utf-8"?>
  <صابون:پاکت
     xmlns:صابون ="
HTTP://schemas.xmlsoap.org / صابون / پاکت /"    
     xmlns:XSI = "
HTTP://www.w3.org/2001/XMLSchema-instance"
     xmlns:XSD ="
HTTP://www.w3.org/2001/XMLSchema">

  <صابون:بدن>
    <صابون:تقصیر>
      <faultcode>صابون:سرور</faultcode>
      <faultstring>
        Exception of type ‘Microsoft.SharePoint.SoapServer.SoapServerException’ بود پرتاب.
      </faultstring>
      <جزئیات>
        <errorstring xmlns ="
HTTP://schemas.microsoft.com / شیرپوینت / صابون /">
ارزش نمی تواند تهی.
        </errorstring>
      </جزئیات>
    </صابون:تقصیر>
  </صابون:بدن>
</صابون:پاکت>

البته, شما احتمالا که "پیشوند" S0 را آن گونه که مایلید تغییر دهید اضافه نمی کند, اما برخی از ابزارهای مستعد ابتلا به آن را انجام دهد (مانند گرفتگی).

این است که همه بیشتر گیج کننده / خسته کننده است، زیرا روش های دیگر را تحمل پیشوندها.  مثلا, the GetListCollection روش مهم نیست اگر آن را پیشوند, حتی با پیشوند مزخرف مانند "xyzzy":

image

این مقدار نمی تواند تهی "به نظر می رسد نسبتا مشترک با lists.asmx بنابراین امیدوارم این کار را از کسی که در آینده کمک کند.

</پایان>

مشترک شدن در وبلاگ من.

من در توییتر در http://www.twitter.com/pagalvin

بی وقفه تودرتو <DIV> برچسب ها و jQuery

این به نظر می رسد چنین موضوع عجیب و غریب, من مطمئن هستم که آن واقعا ارزشش وبلاگ نویسی در مورد, اما که من قبل از متوقف هرگز, بنابراین در اینجا ما به لبخند

من کار کردن بر روی یک پروژه که در آن من کشیدن برخی از داده ها از یک جستجو, بسته بندی آن را به یک پیام XML و پس از آن که XML در نهایت به HTML از طریق XSLT تبدیل شده است.  بسیاری از jQuery وجود دارد, یک بیت از آن پیاده سازی برخی از قابلیت tabbing.  هنگامی که شما بر روی یک تب کلیک کنید (واقعا, a <DIV>), جی کوئری فراخوانی مخفی() و نشان می دهد() در divs مختلف (بار اولیه صفحه دریافت تمام مطالب بنابراین هیچ postback های در این مورد وجود دارد).

دسته ساعت پیش, تب سوئیچینگ منطق شروع به رفتار نامنظم و آن را نمی خواهد یکی از زبانه ها من نشان می دهد.  من در نهایت آن را دنبال می کردن به این واقعیت که اینترنت اکسپلورر (حداقل) فکر می کردم که <DIV> برچسب های تو در تو دور, مراتب عمیق تر از نوار ابزار توسعه دهنده intended.The را نشان می دهد:

-<شناسه DIV = "Tab1Content و">
  -<DIV>
    -<DIV>
      -<شناسه DIV = "Tab2Content و">
        -<DIV>
           ..............................
                   </DIV>  <در نهایت نشان دادن آن را به تمام راه را در اینجا بسته شد!

پس, اگر من $("# Tab1Content").پنهان کردن(), من هم می خواهم با Tab2 پنهان و من هرگز می تواند Tab2 نشان می دهد اگر من نیز Tab1 نشان می دهد.  کپی و جا به جا من کد بالا را در ویژوال استودیو و همه پوشش دیو نشان داد تا سادگی, درست مثل آنها قرار بود به انجام, به دنبال شبیه به این:

-<شناسه DIV = "Tab1Content و">
  +<DIV>
  +<DIV>
-<شناسه DIV = "Tab2Content و">
  +<DIV>
  +<DIV>

من سرم را در مقابل دیوار در حالی که برای ضرب و شتم و متوجه شده است که در کد HTML غیر واقعی تولید در بسیاری از خالی <DIV> برچسب ها, مانند:

<بدن>

  <شناسه DIV = "Tab1Content و">

    <دیو شناسه = "ROW1" />
    <دیو شناسه = "ROW2" />

  </DIV>

  <شناسه DIV = "Tab2Content و">

    <دیو شناسه = "ROW1" />
    <دیو شناسه = "ROW2" />

  </DIV>

</بدن>

(است ساده waaaaaaaaaaaay.  تگ div خالی کاملا معتبر هستند. برخی از من <DIV> برچسب های کامل از محتوا, اما بسیاری دیگر نبودند.  من به تحقق آمد که من <XSL:و هر> دستورات انتشار تگ div فرم کوتاه زمانی که XSL:برای هر 'پیدا کردن هر گونه داده است.  من نظر HTML به خروجی را مجبور, به عنوان نشان داده شده است:

image

 

پس از من که, تمام DIV اندود سادگی و سوئیچینگ تب من شروع به کار.

مثل همیشه, من امیدوارم که این کمک می کند تا کسی که در خرج کردن.

</پایان>

مشترک شدن در وبلاگ من.

من در توییتر در http://www.twitter.com/pagalvin

تعمیر سریع: "نام نوع محتوا '$ منابع:ReportServerResources … می تواند شامل … کاراکترهای خاص”

من صرف برخی از زمان تمیز کردن شیرپوینت 2010 سایت و یکی از مسائل مربوط به پاکسازی مربوط به فاسد / اشتباه SQL سرور خدمات گزارش مشکل نصب شده است.  این مسئله به وجود آمد زمانی که یکی از همکاران من تلاش برای نجات یک سایت به عنوان یک الگو و پس از آن ایجاد ایجاد یک سایت جدید بر اساس آن قالب.  عملیات نجات خوب کار می کرد, اما هنگامی که او سعی برای ایجاد سایت جدید, شیرپوینت پیغام خطای زیر رو به معرض نمایش بگذارن:

خطا

نام نوع محتوا '$ منابع:ReportServerResources,DataSourceContentTypeName;'نمی تواند شامل: \ / : * ? " # % < > { } | ~ & , دو دوره متوالی (..), یا کاراکترهای خاص مانند برگه.

در اینجا یک درپوش صفحه نمایش:

 

image

من تا به حال نگاهی به انواع محتوا در سایت و پیدا کردم:

image

این نوع محتوا به وضوح ناسالم.

این مسئله به نظر می رسد بسیاری بر روی اینترنت و به نظر نمی رسد وجود دارد به یک اجماع در مورد چگونه آن را حل کند.  که من پیدا کردم یک جدول دستی که بد نام نوع محتوا به نام نوع محتوا خوب نقشه برداری: 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

یک علت برای "خالق این خطا یک دلیل مشخص نیست.”

من انجام شده است مقدار زیادی از کار با جستجو شیرپوینت به تازگی و به طور خاص کلاس KeywordQuery, خواص و روش ها.

اگر شما می خواهید نتیجه را به بازگشت به نتایج بالا و فراتر از مظنونین همیشگی (اینجا را ببینید), آن را اضافه کنید به مجموعه SelectedProperties, همانطور که در:

myKeywordQuery.SelectProperties.Add("xyzzy");

سپاس از شما و نوک کلاه کوری راث و این پست وبلاگ بسیار مفید (http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2008/02/19/how-to-use-the-moss-enterprise-search-keywordquery-class.aspx)

در مورد من, "xyzzy" است که در واقع یک خاصیت مدیریت.  وقتی که من به آن اضافه شده است به SelectedProperties به هر حال, شیرپوینت انداخت یکی از استثنا های مورد علاقه من همیشه زمان اجرا:

"خالق این خطا یک دلیل مشخص نیست."

من به ویژه می خواهم پایتخت "R" در خرد است.  این صداها برای من مثل معادل دات نتمن هیچ دهان, و من باید فریاد."

</پایان>

مشترک شدن در وبلاگ من.

من در توییتر در http://www.twitter.com/pagalvin

مرجع دستی: نمایش نتایج: از پیش فرض از KeywordQuery جستجو

هنگامی که اجرا میکنید، دو fork() روش KeywordQuery, شما می توانید ResultTable بر اساس ResultType.RelevantResults ایجاد کنید.  این کد نشان می دهد آنچه که من:

resultsTableCollection ResultTableCollection = myKeywordQuery.Execute();

ResultTable searchResultsTable = resultsTableCollection[ResultType.RelevantResults];

جدول به دست آمده از ستون های زیر اطلاعات: 

WorkId
رتبه
عنوان
نویسنده
اندازه
مسیر
شرح
نوشتن
جامعه دانشجویان
CollapsingStatus
HitHighlightedSummary
HitHighlightedProperties
ContentClass
IsDocument
PictureThumbnailURL
ServerRedirectedURL

من به این لیست از شیرپوینت مشتق شده 2010 محیط, نسخه سازمانی.  امیدوارم مفید به کسی که در آینده خواهد بود.

</پایان>

مشترک شدن در وبلاگ من.

من در توییتر در http://www.twitter.com/pagalvin

یکی از دلایل: "msgstr" نمیتوان برای استخراج فایل تاکسی در راه حل”

در حالی که مشغول به کار در یک استودیو پروژه بخشی از وب بصری امروز, من جزئی مجدد سازمان از برخی از فایل ها می شود را به پوشه _layouts به عنوان بخشی از فرایند استقرار قرار داده است. به طور خاص, من یک فایل JS. از «TypeAhead.js" به "TypeAhead تغییر نام داد(قدیمی).جی اس "  من قصد دارم آن را حذف به محض جانشین آن TypeAhead.js "درست نشان میدهد.  مثل این نگاه:

image

این فورا باعث یک مشکل با ویژوال استودیو زمانی که من سعی کردم برای استقرار پروژه:

Error occurred in deployment step ‘Add Solution’: برای استخراج فایل کابین در راه حل شکست خورد.

به نظر می رسد که شما باید یک پرانتز در نام فایل قرار داده نشده است.  من حذف parens و حل مشکل.

</پایان>

مشترک شدن در وبلاگ من.

من در توییتر در http://www.twitter.com/pagalvin