Щомісячні архіви: Може 2011

PerformancePoint і помилка 33494

Один з моїх клієнтів, називається сьогодні, коли їх PerformancePoint середовища (у SharePoint 2010) зламалася.  Один із застосунку серверів у фермі було повільніше через брак місця на диску.  Звертаючись що, клієнт видалено "занадто багато", і всі речі PP зупинив функціонування.  Різноманітних веб-частин б показати "сталася неочікувана помилка. Помилка 33494. Додаткові подробиці були зареєстровані для до адміністратора":

image

Я підняв очі помилку і не знайшли нічого конкретного для "помилка 33494", але цей MSDN форумах проводки була корисною: http://social.technet.microsoft.com/forums/en-us/sharepoint2010setup/thread/E1FE189D-7F89-455D-A98B-C1A12D8626AB

Я знайшов тут ADOMD.NET як один з компонентів SQL Server 2008 До пакета функцій: http://www.microsoft.com/downloads/en/details.aspx?FamilyId=228DE03F-3B5A-428A-923F-58A033D316E1&displaylang=en

image

(Натисніть, щоб збільшити)

Я завантажити і встановив, що та фіксованого все.

Я думаю, що це досить дивак роду помилок, але якщо ви hit it, Ви по крайней мере, у вас є варіант.

</кінець>

Підписатися на мій блог.

Йди за мною на Twitter в http://www.twitter.com/pagalvin

Lists.asmx, GetListItems і папок

Я роблю деякі дослідження для кого-то сьогодні навколо list.asmx веб-служби, що надається як частина SharePoint 2010 (і раніше).  Вона була в змозі отримати елементи в кореневій папці (включаючи імена вкладені папки), але не міг отримати елементи в вкладені папки.  Я зробив деякий озираючись на Інтернет, і це дивно поширені питання.  Ще, Я не міг отримати хорошу відповідь просте запитання:, "Якщо я знаю, що папки, як отримати елементи в папці?”  Щоб бути чесним, Я не спробувати все, що важко, тому що я хотів фігурою, це одне з на моїх на деякий час посмішка.

Щоб реалізувати цю можливість, Я створив сайт, названий "Блогів сценарії" та настроюваний список, названий "Настроюваний список із вкладених папок".  Потім я створив папок, названий:

  • Рік 2005
  • Рік 2006
  • Рік 2007

Я додав кілька елементів до папки "2006 року".  Це те, що він виглядає:

image

Мій друг не писати C# код, але швидше за використання Java, так МИЛО конверт було те, що вона дійсно необхідна.  Щоб отримати, що, Я написав трохи jQuery і потім використовувати скрипаля отримати фактичне розмова 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/блоги Сценарії, списки, настроюваний список з південь папках на рік 2006</Папка>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:Тіло>
</soapenv:Конверт>

Багато прикладів і дискусії навколо цього привели мене до думки, що все, що мені потрібно було <QueryOptions> і вкажіть ім'я папки.  Для мене, Я потрібна обом оберніть його всередині <queryOptions> а також вказати повний URL для на <Папка> вузол.

Ось установка AJAX jQuery:

$(документ).готові(функція() {
       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:Конверт>";

</кінець>

Підписатися на мій блог.

Йди за мною на Twitter в http://www.twitter.com/pagalvin

Візерунки СДПН робочого процесу, Поради та хитрості

Я дав моєї презентації сьогодні в 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 веб-служба має називатися дуже ретельно або вона схильна до кинути таємничий "Значення не може бути невизначеним" виняток (і що передбачається, що ви можете отримати минулих ще гірше загальні помилки повідомлення, "Виняткова ситуація типу ' 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/XMLSchema-Instance
     xmlns:xsd ="
http://www.w3.org/ 2001/XMLSchema">

  <мило:Тіло>
    <мило:Вини>
      <faultcode>мило:Сервер</faultcode>
      <faultstring>
        Винятком, тип ' Microsoft.SharePoint.SoapServer.SoapServerException’ був кинутий.
      </faultstring>
      <докладно>
        <errorstring xmlns ="
http://schemas.Microsoft.com/SharePoint/SOAP/">
Значення не може бути невизначеним.
        </errorstring>
      </докладно>
    </мило:Вини>
  </мило:Тіло>
</мило:Конверт>

Звичайно, ви напевно б не додати що префікс "s0" на свій розсуд, але деякі інструменти, схильні до зробити це (як затемнення).

Це все більш заплутаним / розчарування, оскільки інші методи терпіти префіксів.  Наприклад, на GetListCollection метод не проти, якщо вона є префіксом, навіть з префікса дурниця, як "xyzzy":

image

Це "значення не може бути невизначеним" здається досить часто, з lists.asmx, так що сподіваюся, це допоможе хтось на в майбутньому.

</кінець>

Підписатися на мій блог.

Йди за мною на Twitter в http://www.twitter.com/pagalvin

Нескінченно вкладення <DIV> Теги і jQuery

Це схоже такого дивак тему, Я не впевнений, що це дійсно коштує в блозі про, але це ніколи не зупиняло мене перед, так що тут ми йдемо посмішка

Я працюю проект, де я потягнувши деякі дані від пошуку, упаковки його в XML-повідомлення а потім що XML в кінцевому рахунку перетворюється в HTML за допомогою XSLT.  Існує багато jQuery участь, один біт, який реалізує деякі табуляції функціональність.  При натисканні на вкладці (Справді, на <DIV>), jQuery викликає .hide() і .show() різні Діви (первинного завантаження сторінки завантажує всі вміст, щоб там не без зворотної передачі при цьому).

Купу години тому, вкладці перемикання логіка почав працювати з помилками, і він не буде показувати один з моїх вкладки.  Я в кінцевому підсумку відслідковуються його аж до того, що internet explorer (по крайней мере) думав, що в <DIV> Мітки вкладені далеко, набагато глибше, ніж передбачалося.Б показати панель інструментів розробника:

-<DIV id = "Tab1Content">
  -<DIV>
    -<DIV>
      -<DIV id = "Tab2Content">
        -<DIV>
           …………………………
                   </DIV>  <— Нарешті, показуючи його закрили весь шлях вниз тут!

Так, Якщо я зробив це $("#Tab1Content").приховати(), Я також хотів би приховати Tab2, і я ніколи не міг би показати Tab2 якщо я також не показують Tab1.  Я скопіювати і вставити код в visual studio та його показали все у 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 спрощені.  Порожній div теги повністю діють. Деякі з моїх <DIV> Мітки були повні змісту, але багато інших не були.  Я прийшов до усвідомлення того, що моя <перетворення XSL:для кожного> директиви були випромінюючих короткометражний формі div теги, коли xsl:для кожного не ' знайти будь-яких даних.  Я змушений HTML коментар у виході, як показано:

image

 

Після того, як я це зробив, всі div вишикувалися красиво і мій вкладку перемикання почав працювати.

Як завжди, Я сподіваюся, що це допоможе кому-то в крайньому випадку.

</кінець>

Підписатися на мій блог.

Йди за мною на Twitter в http://www.twitter.com/pagalvin

Швидко виправити: "Ім'я типу вмісту '$ ресурси:ReportServerResources … не може містити … спеціальні символи”

Я витрачав час очищення SharePoint 2010 сайт і одне з питань, очищення відноситься до на корумпованою / неправильно встановлені звіт служби SQL Server питання.  Проблема виникла, коли один з моїх колег намагалися зберегти сайт як шаблон а потім створити створення нового сайту на основі цього шаблону.  Зберегти операції працював штрафу, але коли вона спробувала створити новий сайт, SharePoint відображається таке повідомлення про помилку:

Помилка

Ім'я типу вмісту ' $Resources:ReportServerResources,DataSourceContentTypeName;' не може містити: \ / : * ? “ # % < > { } | ~ & , дві послідовних крапки (..), або спеціальні символи, наприклад табуляція.

Ось знімок екрана:

 

image

Я дивитися на типи вмісту сайту і знайшов, що це:

image

Ці типи вмісту є чітко здоровою.

Це питання, здається, придумати багато про Інтернеті і не здаються бути одного консенсусу про те, як її вирішити.  Я знайшов handy таблиці, яка зіставлено погано типу вмісту імена хороший тип вмісту імена тут: http://social.technet.microsoft.com/Forums/en-ZA/sharepoint2010programming/thread/cb03e866-8184-4943-acfe-cafffa1b8b7a.  Я вручну оновити їх константи виглядає:

image

(BrightStarr ім'я не є очевидно обов'язковим, але вона не може пошкодити посмішка )

Це дозволило мені створити новий шаблон і не зламали на інших сайтах, у тому числі деякі PerformancePoint сервера речі, які абсолютно різні групи людей працюють на.  Тоді я зміг створити новий сайт в шаблоні.  Успіх!

Я не впевнений, що це за 100% рішення, але це змусило мене і всіх задіяних структур минулому це дратує помилка.  Якщо я можу знайти нічого нового, Я буду після оновлення.  Моя нервозність виникає з того факту, що ці імена не повинно бути неправильно в першу чергу і, фіксуючи коротке ім'я, Я впевнений, не торкаючись внутрішнє ім'я. 

</кінець>

Підписатися на мій блог.

Йди за мною на Twitter в http://www.twitter.com/pagalvin

Однією з причин для "Творець цього вина не вказати причини.”

Я займаюся багато роботи з пошуку SharePoint останнім часом і спеціально 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 будь-якому випадку, SharePoint кинули одна з моїх улюблених коли-небудь runtime виключення:

"Творець цього вина не уточнив привід."

Мені особливо подобається Капітал "R" по розуму.  Це звучить для мене як .NET еквівалент"У мене немає рота, і я повинна кричати.”

</кінець>

Підписатися на мій блог.

Йди за мною на Twitter в http://www.twitter.com/pagalvin

Handy посилання: За промовчанням результати пошуку KeywordQuery

Коли ви посилатися на виконання() метод на на KeywordQuery, Ви можете створити ResultTable на основі ResultType.RelevantResults.  Цей фрагмент коду свідчить про те, що я маю на увазі:

ResultTableCollection-resultsTableCollection = myKeywordQuery.Execute();

ResultTable-searchResultsTable = resultsTableCollection[ResultType.RelevantResults];

Результуючі таблиці буде мати такі стовпці відомостей: 

Ідентифікатор завдання
Ранг
Назва
Автор
Розмір
Шлях
Опис
Писати
Ім'я сайту
CollapsingStatus
HitHighlightedSummary
HitHighlightedProperties
ContentClass
IsDocument
PictureThumbnailURL
ServerRedirectedURL

Я основі цього списку SharePoint 2010 навколишнє середовище, Enterprise edition.  Сподіваюся, це буде зручно, щоб хтось в майбутньому.

</кінець>

Підписатися на мій блог.

Йди за мною на Twitter в http://www.twitter.com/pagalvin

Одна з причин: "Не вдалося витягти кабіна файлу в рішення”

Під час роботи на visual studio веб-частини проекту сьогодні, Я зробив, що дрібних re-org деякі файли, щоб покласти в _layouts папку в процесі розгортання. Зокрема, Я перейменував JS з "TypeAhead.js" до "машинописний(старі).JS"  Я збираюся видалити її, як тільки його наступник "TypeAhead.js" виявляється правильним.  Вона подивилася, як це:

image

Це відразу ж викликало проблеми з visual studio, коли я спробував розгорнути проекту:

Сталася помилка під час розгортання кроці додати рішення: Не вдалося вилучити файл кабіни в рішення.

Виявляється, що ви не повинні покласти дужкою в іменах файлів.  Я видалив в parens і що проблема вирішена.

</кінець>

Підписатися на мій блог.

Йди за мною на Twitter в http://www.twitter.com/pagalvin