miesięczne archiwum: Maja 2011

PerformancePoint i błąd 33494

Jedną z moich klientów, nazywane dziś po ich środowiska programu PerformancePoint (w programie SharePoint 2010) załamał.  Był jednym z serwerów aplikacji w farmie zaczyna brakować miejsca na dysku.  Podczas adresowania,, Klient odinstalowane, "too much" i wszystkie rzeczy PP zatrzymana, funkcjonowania.  Różnych składników web Part będzie wyświetlany "Wystąpił nieoczekiwany błąd. Błąd 33494. Dodatkowe szczegóły zostać zarejestrowane dla administratora":

image

Wyszukiwana błąd i nie znalazł cokolwiek specyficzne dla „błąd 33494", ale to forum MSDN księgowania były pomocne: http://social.technet.microsoft.com/forums/en-us/sharepoint2010setup/thread/E1FE189D-7F89-455D-A98B-C1A12D8626AB

Znalazłem ADOMD.NET, tutaj jako składnik w programie SQL Server 2008 Feature Pack: http://www.microsoft.com/downloads/en/details.aspx?FamilyId=228DE03F-3B5A-428A-923F-58A033D316E1&displaylang=en

image

(Kliknij, aby powiększyć)

Pobierz i że zainstalowany i stałej wszystko.

Myślę, że to jest rodzajem pretty oddball błąd, ale jeśli niej trafisz, należy przynajmniej mieć możliwość.

</koniec>

Subskrybowanie mój blog.

Follow me on Twitter wiek na http://www.twitter.com/pagalvin

Lists.asmx, GetListItems i folderów

Robię niektórych badań dla kogoś dziś około list.asmx usługi sieci web w ramach programu SharePoint 2010 (i wcześniejszych).  Okręt był w stanie uzyskać elementów listy w głównym folderze (łącznie nazw podfolderów), jednak nie można pobrać elementy w podfolderach.  I did, niektóre patrząc sieciach internetowych i jest zaskakująco często pytanie.  Jeszcze, Nie mogłam dobrej odpowiedzi na proste pytanie, "Jeśli wiadomo folder, jak uzyskać elementy w folderze?”  Szczerze, I spróbuj nie wszystkie twarde ponieważ wcześniej chciałem do rysunku, to jeden z samodzielne na chwilę Uśmiech.

Aby skonfigurować, Utworzony witrynę o nazwie "Blogi scenariuszy" i niestandardowej listy o nazwie "Niestandardowe listy z podfoldery".  Następnie utworzony foldery o nazwie:

  • Rok 2005
  • Rok 2006
  • Rok 2007

Po dodaniu kilku elementów do folderu "Rok 2006".  Jest to, jak ona wygląda:

image

Mój przyjaciel nie pisząc kod C#, ale raczej przy użyciu języka Java, tak więc koperty SOAP została co tak naprawdę potrzebuje.  Aby uzyskać, Napisał nieco jQuery i następnie używana skrzypek, aby uzyskać notatkom HTTP.

Oto odpowiednich jQuery (Skopiowano kod w dół poniżej jeśli chcesz kopiowania/wklejania):

image

Ich pierwszy klucz ma zawierać zarówno <queryOptions> i <QueryOptions> węzeł.  Drugi klucz jest <Folderu> węzeł jest to adres URL, do którego klient ma dostęp.

Mogą istnieć inne sposoby żeby to, ale to pracował również dla mnie podczas używania jQuery.

Oto koperty SOAP dla powyższego:

<soapenv:Koperta xmlns:soapenv =’http://schemas.xmlsoap.org/soap/envelope/’>                
  <soapenv:Organ>
    <GetListItems xmlns =’
http://schemas.Microsoft.com/SharePoint/SOAP/’>
      <listName>Lista niestandardowa z podfoldery</listName>
      <viewFields>  
        <ViewFields>
          <Nazwa FieldRef =' Tytuł’ />
          <FieldRef Name = "EncodedAbsUrl’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <Folderu>
http://demoserver1/blogi Lista scenariuszy/list/niestandardowa z Sub folderów na rok 2006</Folderu>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:Organ>
</soapenv:Koperta>

Wiele przykładów i dyskusji wokół to doprowadziło me by sądzić, że wszystko, co potrzebne było <QueryOptions> i określ nazwę folderu.  Dla mnie, I potrzeby zarówno opakować go wewnątrz <queryOptions> jak określić pełni kwalifikowany adres URL dla <Folderu> węzeł.

Oto instalacji AJAX jQuery:

$(dokument).gotowe(Funkcja() {
       var soapEnv =
           "<soapenv:Koperta xmlns:soapenv =’http://schemas.xmlsoap.org/soap/envelope/’> \
               <soapenv:Organ> \
                    <GetListItems xmlns =’http://schemas.Microsoft.com/SharePoint/SOAP/’> \
                       <listName>Lista niestandardowa z podfoldery</listName> \
                       <viewFields> \
                           <ViewFields> \
                              <Nazwa FieldRef =' Tytuł’ /> \
                              <FieldRef Name = "EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <Folderu>http://demoserver1/Blogging Lista scenariuszy/list/niestandardowa z Sub folderów na rok 2006</Folderu> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:Organ> \
           </soapenv:Koperta>";

</koniec>

Subskrybowanie mój blog.

Follow me on Twitter wiek na http://www.twitter.com/pagalvin

Desenie przepływu pracy SPD, Porady i wskazówki

Dałem mojej prezentacji dziś w SharePoint Fest w Denver. Oto Prezentacja PowerPoint, sam: http://www.mstechblogs.com/paul/wp-content/uploads/2011/05/SharePointFest.pptx

Subskrybowanie mój blog.

Follow me on Twitter wiek na http://www.twitter.com/pagalvin

Lists.asmx, GetList i "wartość nie może być zerowy”

Odkryłem dzisiaj, GetList() Metoda lists.asmx usługi sieci Web ma bardzo starannie nazywane lub jest podatna na rzut tajemniczy wyjątek "Wartość nie może być zerowy" (i że zakładając, że można uzyskać w przeszłości jeszcze gorsza komunikat Błąd rodzajowy, "Wyjątek typu ' Microsoft.SharePoint.SoapServer.SoapServerException’ zgłoszono wyjątek.")  W szczególności, I stwierdzone, że nie może dostarczyć wszelkiego rodzaju prefiks na metodzie GetList.  Poniższy urywek jQuery ilustruje punktu:

image

Jeśli, Usługa sieci web odpowiada "Wartość nie może być zerowa" jak na to skrzypek-pod warunkiem transkrypcja HTTP:

<?wersja pliku XML = "1.0" Kodowanie = "utf-8"?>
  <mydło:Koperta
     xmlns:mydło ="
http://schemas.xmlsoap.org/soap/envelope/"    
     xmlns:xsi = "
http://www.w3.org/2001/XMLSchema-instance
     xmlns:xsd ="
http://www.w3.org/2001/XMLSchema">

  <mydło:Organ>
    <mydło:Usterka>
      <faultcode>mydło:Serwer</faultcode>
      <elementem faultString>
        Wyjątek typu ' Microsoft.SharePoint.SoapServer.SoapServerException’ zgłoszono wyjątek.
      </elementem faultString>
      <szczegóły>
        <ErrorString xmlns ="
http://schemas.Microsoft.com/SharePoint/SOAP/">
Wartość nie może być zerowy.
        </ErrorString>
      </szczegóły>
    </mydło:Usterka>
  </mydło:Organ>
</mydło:Koperta>

Oczywiście, prawdopodobnie nie dodasz tego prefiksu "s0" na własne, Jednak niektóre narzędzia są podatne na nie (Podobnie jak Eclipse).

Jest to tym bardziej skomplikowane / frustrujący, ponieważ inne metody tolerować prefiksów.  Na przykład, The GetListCollection Metoda nie przeszkadzało jeśli jest zostało poprzedzone, nawet z prefiksami bzdury, takich jak "xyzzy":

image

To "wartość nie może być zerowy" wydaje się dość wspólnej z lists.asmx tak miejmy nadzieję pomoże to ktoś się w przyszłości.

</koniec>

Subskrybowanie mój blog.

Follow me on Twitter wiek na http://www.twitter.com/pagalvin

Nieskończoność zagnieżdżanie <DIV> Znaczniki i jQuery

To wydaje się podobnie jak takich tematów oddball, Nie jestem pewien, że jest naprawdę warto blogi o, ale która nigdy nie została zatrzymana mnie przed, tak here we go Uśmiech

Pracuję w projekcie, gdzie I 'm ciągnięcie niektórych danych z wyszukiwania, Zapakowanie do wiadomości XML, a następnie ten XML jest ostatecznie przekształcone w HTML za pomocą XSLT.  Zaangażowanych jest dużo jQuery, jeden bit który implementuje niektóre funkcje przełączania zakładek.  Po kliknięciu na karcie (naprawdę, a <DIV>), jQuery wywołuje .hide() i .show() na różne bloki DIV (ładowania strony początkowej pobrań całej zawartości, więc nie są w tym przypadku nie postbacks).

Pęczek hours ago, kartę przełączania logiki zaczęła się nieregularne i go nie wykazują jedną z moich kart.  I ostatecznie śledzone go do faktu tego programu internet explorer (co najmniej) uważali, że <DIV> znaczniki zagnieżdżone daleko, znacznie głębiej niż zamierzone.Dowodzą Wikimedia :

-<DIV id = "Tab1Content">
  -<DIV>
    -<DIV>
      -<DIV id = "Tab2Content">
        -<DIV>
           …………………………
                   </DIV>  <— Wreszcie wykazujące została zamknięta aż tu!

Tak, Jeśli robiłam $("# Tab1Content").Ukryj(), Byłoby także ukryć Tab2 i może nigdy nie pokazać Tab2 jeśli nie też wyświetlić Tab1.  Skopiowany i wklejony kod do programu visual studio i wykazało wszystkie div. hamulcowej w górę estetycznie, tak, jak zostały dopełnione robi, Szukasz like this:

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

Beat my head against the wall chwilΩ i zauważył, że rzeczywista HTML kod został wytwarzających nadmiernych pusty <DIV> znaczniki, Podobnie jak:

<organ>

  <DIV id = "Tab1Content">

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

  </DIV>

  <DIV id = "Tab2Content">

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

  </DIV>

</organ>

(Powyższe jest waaaaaaaaaaaay bardzo uproszczona.  Znaczniki div puste są całkowicie prawidłowe. Niektóre z moich <DIV> znaczniki były pełnej zawartości, jednak wiele więcej nie były.  Ja przyszedłem do realizacji, Moje <XSL:dla każdego> dyrektyw były emitujących formularzu krótkie znaczniki div, kiedy xsl:dla każdej nieoczekiwane "znaleźć żadnych danych.  Komentarz HTML I zmuszony do produkcji, jak pokazano:

image

 

Po I nie, wszystkie div wyrównana estetycznie i moją kartę przełączania rozpoczął.

Jak zawsze, Mam nadzieję, że dzięki temu kogoś w pinch.

</koniec>

Subskrybowanie mój blog.

Follow me on Twitter wiek na http://www.twitter.com/pagalvin

Quick Fix: "Nazwa typu zawartości '$ zasobów:ReportServerResources … nie może zawierać … znaki specjalne”

I już zostały poświęcenie czasu na czyszczenie programu SharePoint 2010 witryny i jedną z kwestii oczyszczanie odnosi się do uszkodzony / niepoprawnie zainstalowany problem Report Services programu SQL Server.  Problem pojawił się po jednym z moich kolegów, próbowano zapisać witrynę jako szablon, a następnie utworzyć utwórz nową lokację oparte na tym szablonie.  Zapisz operacji pracowała prawidłowo, ale gdy próbowała utworzyć nowej witryny, SharePoint wyświetlany jest następujący komunikat o błędzie:

Błąd

Nazwa typu zawartości '$ zasobów:ReportServerResources,DataSourceContentTypeName;"nie może zawierać: \ / : * ? “ # % < > { } | ~ & , dwóch kolejnych okresów (..), lub znaki specjalne, takie jak karta.

Oto WPR ekranu:

 

image

Miał spojrzenie na typy zawartości witryny i znaleźć to:

image

Te typy zawartości są wyraźnie niezdrowy.

Problem ten wydaje się nadejdzie partii sieciach internetowych i tam nie wydają się być pojedynczy konsensusu w sprawie jak rozwiązać problem.  Znalazłem poręczny tabeli, która mapowane nazwy zły typ zawartości do nazwy dobrej typ zawartości tutaj: http://social.technet.microsoft.com/Forums/en-ZA/sharepoint2010programming/thread/cb03e866-8184-4943-acfe-cafffa1b8b7a.  I ręcznie zaktualizować je thusly:

image

(BrightStarr w nazwie jest oczywiście opcjonalne, ale nie zaszkodzi Uśmiech )

Ten pozwolił mi utworzyć nowy szablon i nie coś psuje w innych witrynach, w tym niektóre rzeczy PerformancePoint Server, który pracuje zostały całkowicie różne grupy osób.  Następnie istniała możliwość tworzenia nowej witryny na tym szablonie.  Sukces!

Nie wiem, czy jest to 100% Roztwór, ale got me oraz wszyscy zaangażowani w przeszłości to irytujące błąd.  Jeśli znaleźć coś nowego, Będziesz wysłać aktualizację.  Moje nerwowość wynika z faktu, że te nazwy nie być niewłaściwy w pierwszym rzędzie i poprzez ustalenie nazwę wyświetlaną, I 'm nie dotykają nazwę wewnętrzną. 

</koniec>

Subskrybowanie mój blog.

Follow me on Twitter wiek na http://www.twitter.com/pagalvin

Jedną z przyczyn dla "twórca ten błąd nie określono przyczynę.”

I już działalność partii pracy z wyszukiwania programu SharePoint lately i specjalnie klasę KeywordQuery, właściwości i metody.

Jeśli chcesz, aby zestawu wyników do zwracają wyniki poza podejrzani (patrz: tu), można ją dodać do kolekcji SelectedProperties, jak w:

myKeywordQuery.SelectProperties.Add("xyzzy");

Dziękujemy i Porada kapelusz do Corey Roth i to ogromnie pomocne blogu (http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2008/02/19/how-to-use-the-moss-enterprise-search-keywordquery-class.aspx)

W moim przypadku, "xyzzy" nie jest rzeczywiście właściwością zarządzanych.  Po dodaniu jej do SelectedProperties mimo to, SharePoint zwrócił jedną z moich ulubionych kiedykolwiek obsługi wyjątków:

"Twórca ten błąd nie określił powodem."

Lubię szczególnie kapitału "R" w przyczyny.  To dźwięki do mnie jak.NET odpowiednik"I have no mouth, i I must scream.”

</koniec>

Subskrybowanie mój blog.

Follow me on Twitter wiek na http://www.twitter.com/pagalvin

Przystępne: Domyślnie wyniki wyszukiwania KeywordQuery

Kiedy wywołać Execute() Metoda KeywordQuery, można utworzyć ResultTable oparte na ResultType.RelevantResults.  Ten fragment kodu ilustruje, co znaczy:

ResultTableCollection resultsTableCollection = myKeywordQuery.Execute();

ResultTable searchResultsTable = resultsTableCollection[ResultType.RelevantResults];

Wynikowej tabeli będą miały następujące kolumny informacji: 

Identyfikator pracy
Ranga
Tytuł
Autor
Rozmiar
Ścieżka
Opis
Zapis
Nazwa_witryny
CollapsingStatus
HitHighlightedSummary
HitHighlightedProperties
ContentClass
IsDocument
PictureThumbnailURL
ServerRedirectedURL

Ta lista I pochodzące z programu SharePoint 2010 środowisko, Enterprise edition.  Mamy nadzieję, że będzie przydatne do kogoś w przyszłości.

</koniec>

Subskrybowanie mój blog.

Follow me on Twitter wiek na http://www.twitter.com/pagalvin

Jednym z powodów: "Nie można wyodrębnić plik cab w roztworze”

Podczas pracy na część sieci web programu visual studio projektu dzisiaj, I did drobne org re niektóre pliki zostaną wprowadzone do folderu _layouts jako część procesu wdrażania. W szczególności, I nazwy pliku js z "TypeAhead.js" do "TypeAhead(Stary).js"  Zaplanować go usunąć, zaraz po jego następca "TypeAhead.js" okazuje się poprawne.  To wyglądało to:

image

To natychmiast spowodował problem z programu visual studio, kiedy próbuję wdrażanie projektu:

Wystąpił błąd podczas wdrażania krok "Dodaj rozwiązanie": Nie można wyodrębnić plik cab w roztworze.

Okazuje się, że nie należy umieszczać nawias w nazwach plików.  Mogę usunąć parens i który rozwiązał problem.

</koniec>

Subskrybowanie mój blog.

Follow me on Twitter wiek na http://www.twitter.com/pagalvin