mėnesio Archyvai: Gali 2011

PerformancePoint ir klaidos 33494

Vienas iš mano klientų vadinamas šiandien kada jų "PerformancePoint" aplinkos (SharePoint 2010) sugedo.  Vienas iš programos serverių ūkyje buvo liko mažai vietos diske.  Tenkinti,, klientas pašalinta "per daug" ir visi daiktai PP nustojo veikti.  Įvairias žiniatinklio dalis rodytų "įvyko netikėta klaida. Klaida 33494. Papildomos informacijos bϋsite atjunti jūsų administratorius":

image

Aš pamačiau šią klaidą ir nieko su "Error 33494" bet šis MSDN forumai registravimo buvo naudinga: http://social.technet.microsoft.com/forums/en-us/sharepoint2010setup/thread/E1FE189D-7F89-455D-A98B-C1A12D8626AB

Radau ADOMD.NET čia kaip SQL serverio 2008 Funkcijų paketą: http://www.microsoft.com/downloads/en/details.aspx?FamilyId=228DE03F-3B5A-428A-923F-58A033D316E1&displaylang=en

image

(paspauskite, norėdami padidinti)

Aš atsisiųsti ir įdiegti, ir ji nustatyti viską.

Manau, kad tai yra gana originalus rūšies klaida, bet jei jūs rezultatas, Jūs bent turite galimybe.

</pabaigos>

Prenumeruoti savo dienoraštį.

Sekite mane Twitter ne http://www.twitter.com/pagalvin

Lists.asmx, GetListItems ir aplankai

Darau kai tyrimų kažkas šiandien aplink kaip SharePoint žiniatinklio paslaugos list.asmx 2010 (ir anksčiau).  Ji buvo suteikta galimybė gauti sąrašo elementus į šakninį aplanką (įskaitant poaplankius pavadinimai), Tačiau negalėjo gauti elementus ir poaplankius.  Aš padarė kai dairausi internetas ir tai yra stebėtinai įprastas klausimas.  Dar, Aš negalėjo gauti tinkamą atsakymą į paprastą klausimą, "jei aš žinau aplanką, kaip man elementus į aplanką?”  Tiesą sakant, Aš ne bandyti visi, kad sunku, nes aš norėjau pav tai vienas iš savo, o šypsena.

Kad tai nustatytumėte, Aš sukūrė tinklalapį, pavadintą "Blogų scenarijų" ir pavadintas "Pasirinktinį sąrašą su Sub katalogų" pasirinktinį sąrašą.  Aš tada sukūrė aplankus pavadintus:

  • Metų 2005
  • Metų 2006
  • Metų 2007

Aš pridėjo keletą daiktų į aplanką "metai 2006".  Tai kaip jis atrodo:

image

Mano draugas yra ne rašyti C# kodą bet o naudojant Java, Taigi SOAP vokas buvo, kas ji tikrai reikalinga.  Gauti, kad, Aš šiek tiek jQuery ir tada gaudavo smuikininkas tikrasis HTTP pokalbis.

Štai atitinkamo jQuery (Aš nukopijuoti kodą žemyn žemiau jei norite kopijuoti ir įklijuoti):

image

Jos pirmasis svarbiausia yra ir yra <queryOptions> ir <QueryOptions> mazgas.  Antrajam raktui yra tai, kad į <Aplankas> mazgas yra URL kuria klientas gali naudotis.

Gali būti kitų būdų, kaip gauti šią, bet tai dirbo gerai man naudojant jQuery.

Štai SOAP vokas planai:

<soapenv:Voko xmlns:soapenv =’http://schemas.xmlsoap.org/SOAP/Envelope/’>                
  <soapenv:Įstaiga>
    <GetListItems xmlns =’
http://schemas.Microsoft.com/SharePoint/SOAP/’>
      <listName>Pasirinktinį sąrašą su poaplankius</listName>
      <viewFields>  
        <ViewFields>
          <FieldRef pavadinimas = "pavadinimas’ />
          <FieldRef pavadinimas = "EncodedAbsUrl’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <Aplankas>
http://demoserver1/Dienoraštis Scenarijų/sąrašai/Pasirinktinis sąrašas su submeniu aplankus/metai 2006</Aplankas>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:Įstaiga>
</soapenv:Vokas>

Daug pavyzdžių ir diskusijų apie tai privertė mane manyti, kad visi man reikia buvo <QueryOptions> ir nurodykite aplanko pavadinimą.  Man, Man reikia tiek apvyniokite viduje <queryOptions> taip pat nurodyti visas URL į <Aplankas> mazgas.

Štai jQuery AJAX nustatymas:

$(dokumento).paruošta(funkcija() {
       var soapEnv =
           "<soapenv:Voko xmlns:soapenv =’http://schemas.xmlsoap.org/SOAP/Envelope/’> \
               <soapenv:Įstaiga> \
                    <GetListItems xmlns =’http://schemas.Microsoft.com/SharePoint/SOAP/’> \
                       <listName>Pasirinktinį sąrašą su poaplankius</listName> \
                       <viewFields> \
                           <ViewFields> \
                              <FieldRef pavadinimas = "pavadinimas’ /> \
                              <FieldRef pavadinimas = "EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <Aplankas>http://demoserver1/Blogging Scenarijų/sąrašai/Pasirinktinis sąrašas su submeniu aplankus/metai 2006</Aplankas> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:Įstaiga> \
           </soapenv:Vokas>";

</pabaigos>

Prenumeruoti savo dienoraštį.

Sekite mane Twitter ne http://www.twitter.com/pagalvin

Lists.asmx, GetList ir "vertės negali būti neapibrėžta”

Odkryłam šiandien, kad, GetList() metodas lists.asmx tinklo tarnyba turi būti vadinamas labai atidžiai arba dažnai mesti Paslaptingos išimtis "Reikšmė negali būti nulinė" (ir darant prielaidą, kad yra kad jūs galite praeiti dar blogiau nepatentuotos klaidos pranešimą, "Išimtis tipo" Microsoft.SharePoint.SoapServer.SoapServerException’ buvo išmesti.")  Konkrečiai, Radau, kad jums negali suteikti bet kokios prefiksą GetList metodo.  Šie jQuery kodo fragmentą iliustruoja taškas:

image

Jei tai padarysite, Voratinklio paslauga atsako su "Reikšmė negali būti nulinė" kaip už tai Smuikininkas-Jeigu HTTP dialogowa:

<?XML versija = "1.0" kodavimo = "utf-8"?>
  <muilas:Vokas
     xmlns:muilo ="
http://schemas.xmlsoap.org/SOAP/Envelope/"    
     xmlns:XSi = "
http://www.w3.org/2001/XMLSchema-instance
     xmlns:XSD ="
http://www.w3.org/2001/XMLSchema">

  <muilas:Įstaiga>
    <muilas:Kaltė>
      <faultcode>muilas:Serverio</faultcode>
      <faultstring>
        Išimtis tipo "Microsoft.SharePoint.SoapServer.SoapServerException’ buvo mesti.
      </faultstring>
      <išsamiai>
        <errorstring xmlns ="
http://schemas.Microsoft.com/SharePoint/SOAP/">
Reikšmė negali būti nulinė.
        </errorstring>
      </išsamiai>
    </muilas:Kaltė>
  </muilas:Įstaiga>
</muilas:Vokas>

žinoma, Jūs tikriausiai nebūtų pridėti kad "S0 atėmus" prefiksą savo, Tačiau kai kurie įrankiai yra linkę daryti (kaip užtemimas).

Tai dar labiau painu / nelinksma, nes kitų būdų toleruoti prefiksus.  Pavyzdžiui, į GetListCollection metodas neturi proto, jei ji yra buvo priešdėliu, net su nesąmonė prefiksus kaip "xyzzy":

image

Tai "reikšmė negali būti nulinė" atrodo gana bendro su lists.asmx, todėl tikiuosi tai bus padėti kažkam ateityje.

</pabaigos>

Prenumeruoti savo dienoraštį.

Sekite mane Twitter ne http://www.twitter.com/pagalvin

Be galo įdėjimo <DIV> Žymos ir jQuery

Tai atrodo kaip tokia yra originalus tema, Aš nesu įsitikinęs, kad tikrai verta dienoraštį apie, bet kad niekada nenustojo man prieš, Taigi čia mes einame šypsena

Aš dirbu apie projektą, kai I 'm traukiamosios kai kuriuos duomenis iš paieškos, pakavimo jį į XML pranešimą ir tada kad XML galiausiai transformuoti į HTML per XSLT.  Yra daug jQuery, vienas bitų, kurios įgyvendina keletas skirtukų funkcija.  Spustelėjus skirtuke (tikrai, a <DIV>), jQuery remiasi .hide() ir .show() dėl įvairių divs (pradinio puslapio apkrova parsisiųsti visą turinį, todėl šiuo atveju nėra jokių postbacks).

A ryšelyje valandos, skirtuką Perėjimas logika pradėjo elgtis su klaidom ir ji nebūtų parodyti viena iš mano skirtukus.  Galiausiai sekant jis į tai, kad programa Internet explorer (ne mažiau kaip) Maniau, kad į <DIV> įdėti daug žymos, kiek giliau nei skirti.Programuotojų įrankių rodytų:

-<DIV id = "Tab1Content">
  -<DIV>
    -<DIV>
      -<DIV id = "Tab2Content">
        -<DIV>
           …………………………
                   </DIV>  <— Galiausiai rodyti ji buvo uždaryta visą kelią čia!

Taigi, Jei aš, kad $("# Tab1Content").Slėpti(), Aš taip pat paslėpti Tab2 ir gali niekada parodyti Tab2 jei ne taip pat rodyti 1 tabuliatoriaus žymė.  I nukopijuoti ir įklijuoti kodą į visual studio, ir jis parodė, visi div's antdėklo iki gražiai, kaip jie turėjo daryti, ieškote kaip tai:

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

I ritmas galvą prie sienos metu ir pastebėjau, kad faktinė HTML kodas buvo generuoti daug tuščių <DIV> Žymos, kaip:

<įstaiga>

  <DIV id = "Tab1Content">

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

  </DIV>

  <DIV id = "Tab2Content">

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

  </DIV>

</įstaiga>

(Pirmiau yra waaaaaaaaaaaay, naratyvą.  Tuščias div žymės yra visiškai galiojantį. Kai kurie iš mano <DIV> Žymos buvo pilnas turinio, Tačiau daug daugiau nebuvo.  Aš atėjau prie realizavimo kad mano <XSL:už kiekvieną> direktyvas buvo spinduliuojantis sutrumpintos formos div žymės kai į xsl:už kiekvieną ne "rasti jokių duomenų.  Aš priversta HTML komentarą į produkcijos, kaip parodyta:

image

 

Po to, kai aš padariau, kad, visi div liniuotas gražiai ir mano skirtuką Perėjimas pradėjo dirbti.

Kaip visada, Tikiuosi, kad tai padeda kažkas kraštutiniu atveju.

</pabaigos>

Prenumeruoti savo dienoraštį.

Sekite mane Twitter ne http://www.twitter.com/pagalvin

Greitai nustatyti: "Turinio tipo pavadinimas"$ išteklių:ReportServerResources … negali būti … specialiųjų simbolių”

I išlaidų tam tikrą laiką, SharePoint valymas 2010 svetainės ir vienas iš klausimų, valymas yra susijęs su a korumpuotiems / neteisingai įdiegta SQL serverio ataskaitą paslaugų problema.  Problema kilo, kai vienas iš mano kolegų bandė įrašyti svetainę kaip šabloną ir tada sukurti sukurti naują svetainę pagal tą šabloną.  Įrašyti operacijos dirbo gerai, Tačiau kai ji bandė sukurti naują svetainę, SharePoint rodomas šis klaidos pranešimas:

Klaida

Turinio tipo pavadinimas "$ išteklių:ReportServerResources,DataSourceContentTypeName;"negali būti: \ / : * ? “ # % < > { } | ~ & , dviejų iš eilės einančių (..), ar specialiųjų simbolių, pvz., skirtuką.

Čia yra ekrano dangteliu:

 

image

Aš pažiūrėkite, turinio tipus svetainėje ir rasti tai:

image

Šie turinio tipai yra aiškiai nesveiki.

Ši problema atrodo, kad internetas daug ateiti ir neatrodo, kad bendrą sutarimą, kaip ją išspręsti.  Radau patogu lentelė, priskirti gera turinio tipo pavadinimai čia blogai turinio tipo pavadinimai: http://social.technet.microsoft.com/Forums/en-ZA/sharepoint2010programming/thread/cb03e866-8184-4943-acfe-cafffa1b8b7a.  Rankiniu būdu zaktualizowałem juos thusly:

image

(BrightStarr pavadinimas yra akivaizdžiai neprivaloma, Tačiau jis negali pakenkti šypsena )

Tai leido man sukurti naują šabloną ir ne nutraukti viską kitose svetainėse, įskaitant kai kurių PerformancePoint serverio stuff, kad visiškai skirtingų žmonių grupė dirbote.  Tada aš turėjo galimybę sukurti naują svetainę pagal šabloną.  Sėkmės!

Aš nesu įsitikinęs, tai yra 100% tirpalas, Tačiau ji gavo man ir visiems dalyviams praeityje ši, erzina klaidos.  Jei rasti nieko naujas, I post atnaujinti.  Mano nervingumas lemia tai, kad šie pavadinimai neturėtų būti neteisingai į pirmąją vietą ir nustatant rodomas vardas, Aš esu neliečiančiu vidaus pavadinimą. 

</pabaigos>

Prenumeruoti savo dienoraštį.

Sekite mane Twitter ne http://www.twitter.com/pagalvin

Viena priežastis už "kūrėjas šio kaltės nebuvo nurodyta priežastis.”

Aš pats daro daug darbo su SharePoint paieškos paskutiniu, specialiai KeywordQuery klasė, ypatybes ir metodus.

Jei norite nustatyti rezultatų, virš ir po įprastus įtariamųjų rezultatas (čia), galite įtraukti jį į SelectedProperties rinkimas, kaip ir:

myKeywordQuery.SelectProperties.Add("xyzzy");

Many thanks ir skrybėlę į Patarimas Corey Roth ir tai labai naudinga dienoraštyje (http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2008/02/19/how-to-use-the-moss-enterprise-search-keywordquery-class.aspx)

Mano atveju, "xyzzy" nėra faktiškai valdomo turto.  Kai aš įtrauktas į SelectedProperties bet kuriuo atveju, SharePoint vienas iš mano mėgstamiausių retai kada nors runtime išimtys:

"Šis kaltės kūrėjas nenurodė priežasčių."

Man ypač patiko priežasties kapitalo "R".  Tai skamba man patiko.GRYNOSIOS ekvivalentas"Turiu Nr nagų, ir turi juokingas.”

</pabaigos>

Prenumeruoti savo dienoraštį.

Sekite mane Twitter ne http://www.twitter.com/pagalvin

Patogu nuoroda: Numatytasis KeywordQuery paieškos rezultatai

Kai jūs remtis, vykdyti() metodas a KeywordQuery, galite sukurti ResultTable, remiantis ResultType.RelevantResults.  Šio kodo fragmentą iliustruoja, ką reiškia:

ResultTableCollection resultsTableCollection = myKeywordQuery.Execute();

ResultTable searchResultsTable = resultsTableCollection[ResultType.RelevantResults];

Dėl lentelės turės šiuos stulpelius informacijos: 

WorkId
Rangas
Antraštinė dalis
Autorius
Dydis
Maršrutas
Aprašymas
Rašyti
SiteName
CollapsingStatus
HitHighlightedSummary
HitHighlightedProperties
ContentClass
IsDocument
PictureThumbnailURL
ServerRedirectedURL

Aš gauti šį sąrašą iš SharePoint 2010 aplinkos, Enterprise edition.  Tikimės, kad tai bus naudinga kam nors ateityje.

</pabaigos>

Prenumeruoti savo dienoraštį.

Sekite mane Twitter ne http://www.twitter.com/pagalvin

Viena iš priežasčių: "Nepavyko išskleisti cab faile tirpale”

Dirbdami su visual studio žiniatinklio dalį projekto šiandien, Aš nepilnametis re-org kai kurių failų išleidžiami į aplanką _layouts diegimo proceso dalis. Konkrečiai, Aš pervadintas .js failą iš "TypeAhead.js", "TypeAhead(senas).js"  Aš planuoju jį pašalinti, kaip tik įrodo, kad jo teisių perėmėjas "TypeAhead.js" teisingai.  Jis atrodė kaip tai:

image

Tai nedelsiant sukėlė problemų su visual studio, kai aš bandė diegti projekto:

Klaida įvyko diegimo žingsnyje "Pridėti sprendimas": Nepavyko išskleisti cab faile tirpale.

Paaiškėja, kad jums neturėtų kelti a skliaustą failų varduose.  Aš pašalinti, parens ir kad išspręsti šią problemą.

</pabaigos>

Prenumeruoti savo dienoraštį.

Sekite mane Twitter ne http://www.twitter.com/pagalvin