месечни архиви: Май 2011

PerformancePoint и грешка 33494

Един от моите клиенти, наречен днес, когато им PerformancePoint среда (в SharePoint 2010) започва.  Един от сървърите на ап в стопанството е бил изпитва недостиг на дисково пространство.  Докато адресиране, че, клиентът деинсталирана "твърде много" и всички неща PP спря функциониране.  Различни уеб компоненти да покаже "Възникна неочаквана грешка. Грешка 33494. Допълнителни подробности са били регистрирани за вашия администратор":

image

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

Намерих ADOMD.NET тук като компонент в SQL сървъра 2008 Пакет от функции: http://www.microsoft.com/downloads/en/details.aspx?FamilyId=228DE03F-3B5A-428A-923F-58A033D316E1&displaylang=en

image

(Щракнете, за да увеличите)

I изтегля и инсталира, и тя определя всичко.

Мисля, че това е един вид на хубави Одбол на грешка, но ако сте хит я, Вие най-малко имате възможност.

</край>

Абонирайте се за моя блог.

Следвайте ме на Twitter в http://www.twitter.com/pagalvin

Lists.asmx, GetListItems и папки

Аз правя няколко изследвания на някой днес около list.asmx уеб услуга, предоставени като част от SharePoint 2010 (и по-рано).  Тя е в състояние да получи елементите от списъка в главната папка (включително имената на подпапките), но не можа да се получи елементите в подпапките.  Направих някои поглед по internets и това е изненадващо общ въпрос.  Още, Не мога да получа добра отговорът на прост въпрос, "Ако знам, че папката, Как да получа елементите в папката?”  За да бъда честен, Аз не опитайте всички усърдно, тъй като съм исках да фигура, тази комбинация, на моята собствена за известно време Усмивка.

За да зададете това като настройка, Създадох даден сайт, наречена "Сценарии за Blogging" и списък по избор, наречена "Потребителски списък с последващо папки".  След това създадох папки, наречени:

  • Година 2005
  • Година 2006
  • Година 2007

Добавих няколко елементи в папката "2006 година".  Ето как изглежда той:

image

Моят приятел не писане C# код а по-скоро използване на Java, така че САПУН плика е това, което тя наистина необходимо.  За да получите, I пише малко jQuery и използва fiddler, за да получите действителната HTTP разговор.

Ето съответните jQuery (Аз копиран кода под ако искате да копирате/поставяте):

image

Те първият ключ е да включат и двете <queryOptions> и <QueryOptions> възел.  Вторият ключ е, че <Папка> възел е URL АДРЕС, към която клиентът има достъп.

Може да има други начини да получите това, но това работи добре за мен, когато се използва 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/Blogging Списък на сценарии/списъци/по избор с последващо папки/година 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:Плик>";

</край>

Абонирайте се за моя блог.

Следвайте ме на Twitter в http://www.twitter.com/pagalvin

SPD поток шарки, Съвети и трикове

Дадох моята презентация днес в SharePoint Фест в Денвър. Тук е презентацията на PowerPoint, самата: http://www.mstechblogs.com/paul/wp-content/uploads/2011/05/SharePointFest.pptx

Абонирайте се за моя блог.

Следвайте ме на Twitter в http://www.twitter.com/pagalvin

Lists.asmx, GetList и "стойност не може да бъде нулев”

Аз открих днес, че GetList() метод в lists.asmx уеб услугата трябва да бъде наречен много внимателно или тя е склонна да хвърлят един тайнствен "Стойност може да бъде null" изключение (и това се предполага, можете да получите миналото дори по-лошо общо съобщение за грешка, "С изключение на тип" Microsoft.SharePoint.SoapServer.SoapServerException’ е било хвърлено.")  Специално, Открих, че не може да даде всякакъв вид на префикс на метода на GetList.  Следните jQuery фрагмент илюстрира точка:

image

Ако направите това, уеб услугата отговаря с "Стойност не може да бъде null" като това цигулар-при условие че 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

Това "стойност може да бъде null" изглежда доста често с lists.asmx, така че се надяваме това ще помогне на някой, в бъдеще.

</край>

Абонирайте се за моя блог.

Следвайте ме на Twitter в http://www.twitter.com/pagalvin

Безкрайно вложени SEARCH <DIV> Етикети и jQuery

Това изглежда като такава Одбол тема, Аз не съм сигурен, че е наистина си струва blogging за, но това никога не ми спря преди, така че тук ние отивам Усмивка

Аз съм работа по даден проект, където аз съм дърпа някои данни от търсене, пакетирането му в XML съобщение и след това тази XML в крайна сметка се преобразува в HTML чрез XSLT.  Има много на jQuery, участващи, една част от които реализира някои tabbing функционалност.  Когато щракнете върху даден раздел (Наистина, а <DIV>), jQuery извиква .hide() и .show() на различни divs (на началната страница натоварване изтегля цялото съдържание, така че няма никакви връщания обратно в този случай).

Няколко часа преди, раздела превключване на логиката започна да се държат erratically и тя няма да се покаже един от моите раздели.  Аз в крайна сметка го проследи до факта, че 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> Tags са пълно съдържание, но много други не са.  Аз дойдох до осъзнаването, че ми <XSL:за всеки> директивите не се излъчва кратка форма когато Тагове div xsl:за всеки не "намери някакви данни.  Аз принудени HTML коментар в изхода, както е показано:

image

 

След като направих това, всички div подредени добре и ми tab превключване започва да работи.

Както винаги, Аз надежда този помагам някой в краен случай.

</край>

Абонирайте се за моя блог.

Следвайте ме на Twitter в http://www.twitter.com/pagalvin

Да намери бързо решение: "Име на тип съдържание на '$ ресурси:ReportServerResources … не може да съдържа … специални знаци”

Аз съм бил прекарва известно време почистване на SharePoint 2010 сайт и един от въпросите, Почистване се отнася до корумпирани / неправилно инсталирани услуги за отчет на SQL Server проблем.  Проблемът възниква, когато един от моите колеги се опитали да запишете сайта като шаблон и след това да създадете създаване на нов сайт, базиран на този шаблон.  Записване операция работи добре, но когато тя се опита да създаде нов сайт, 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% разтвор, но тя ме и всички участващи минал този безпокоя грешка.  Ако намеря нещо ново, Аз ще пост актуализация.  Моят нервност произтича от факта, че тези имена не трябва да бъде погрешно на първо място и чрез определяне на показваното име, Аз не съм докосва вътрешния името. 

</край>

Абонирайте се за моя блог.

Следвайте ме на 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 еквивалент на"Аз не са в устата, и аз трябва да scream.”

</край>

Абонирайте се за моя блог.

Следвайте ме на Twitter в http://www.twitter.com/pagalvin

Хенди препратка: По подразбиране резултатите от KeywordQuery търсене

Когато се позове изпълнение() метод на KeywordQuery, Можете да създадете ResultTable, въз основа на ResultType.RelevantResults.  Този код фрагмент илюстрира какво имам предвид:

ResultTableCollection resultsTableCollection = myKeywordQuery.Execute();

ResultTable searchResultsTable = resultsTableCollection[ResultType.RelevantResults];

Получената таблица ще има следните колони с информация: 

Същ WorkId
Ранг
Заглавие
Автор
Размер
Път
Описание
Пиша
Име на сайт
CollapsingStatus
HitHighlightedSummary
HitHighlightedProperties
ContentClass
IsDocument
PictureThumbnailURL
ServerRedirectedURL

Аз извлечени този списък от SharePoint 2010 околна среда, предприятие издание.  Надяваме се това ще бъде удобен на някого в бъдеще.

</край>

Абонирайте се за моя блог.

Следвайте ме на Twitter в http://www.twitter.com/pagalvin

Една от причините за: "Не можа да извлече на кабината файла в разтвора”

Докато работи върху visual studio уеб част на проекта днес, Направих малки re org на някои файлове да бъдат пуснати в папката на _layouts като част от процеса на разполагане. Специално, Аз преименуван .js файл от "TypeAhead.js" до "TypeAhead(Стар).JS"  Аз смятам да я премахнете, веднага след като наследника си "TypeAhead.js" е правилна.  Тя изглеждала по този:

image

Това незабавно причинени проблем с visual studio, когато се опитах да се разгръщат на проекта:

Възникна грешка в разполагане стъпка "Добави решение": Не можа да извлече на кабината файла в разтвора.

Се оказва, че трябва да поставяте скоба не в имена на файлове.  Аз parens и че решават проблема.

</край>

Абонирайте се за моя блог.

Следвайте ме на Twitter в http://www.twitter.com/pagalvin