Monataj Arkivoj: Majo 2011

PerformancePoint kaj Eraro 33494

Unu el miaj klientoj vokis hodiaŭ kiam ilia PerformancePoint medio (En SharePoint 2010) Rompis malsupren.  Unu el la app serviloj en la bieno estis kuranta malalte sur diska spaco.  Dum traktanta tion, La kliento uninstalled “tro da” kaj la PP ŝtopas ĉiujn haltis funkcianta.  Diversaj araneaĵaj partoj montrus “neatenditan eraron okazis. Eraro 33494. Suplementaj detaloj estis arbohakita por via administranto”:

image

Mi rigardis supre la eraron kaj ne trovis ion ajn specifa al “Eraro 33494” sed ĉi tiu MSDNa foruma afiŝo estis helpema: http://social.technet.microsoft.com/forums/en-us/sharepoint2010setup/thread/E1FE189D-7F89-455D-A98B-C1A12D8626AB

Mi trovis ADOMD.RETO ĉi tie kiel ero en la SQLa Servilo 2008 Ĉefaĵa Amaso: http://www.microsoft.com/downloads/en/details.aspx?FamilyId=228DE03F-3B5A-428A-923F-58A033D316E1&displaylang=en

image

(Klaki vastigi)

Mi elŝutas kaj instalis tion kaj ĝin riparis ĉion.

Mi pensas tion ĉi estas bela bizarula speco de eraro, Sed se vi frapis ĝin, Vi almenaŭ vi havas elekton.

</Fino>

Aboni al mia blogo.

Sekvi min sur Pepi ĉe http://www.twitter.com/pagalvin

Listoj.Asmx, GetListItems kaj Tekoj

Mi estis faranta iun esploron por iu hodiaŭ ĉirkaŭ la listo.Asmx araneaĵa servo provizita kiel parto de SharePoint 2010 (Kaj antaŭe).  Ŝi estis kapabla akiri la listajn erojn ĉe la radika teko (Inkluzivanta la nomojn de sub-tekoj), Sed ne povus akiri erojn en sub-tekoj.  Mi faris kelkajn rigardantan proksimume sur la interretoj kaj ĝi estas surprize ofta demando.  Ankoraŭ, Mi ne povus akiri bonan respondon al la simpla demando, “Se mi scias la tekon, Kiel mi akiras la eroj en la teko?”  Esti honesta, Mi ne provis ĉiuj tiu malfacila pro tio ke mi deziris kalkuli ĉi tiu unu ekstere sur mia propra por momento rideto.

Instali tion ĉi, Mi kreis ejon nomis “Blogging Scenaroj” kaj laŭmenda listo nomis “Laŭmendan Liston kun Sub Tekoj”.  Mi tiam kreis tekojn nomis:

  • Jaro 2005
  • Jaro 2006
  • Jaro 2007

Mi aldonis kelkajn erojn al la teka “Jaro 2006”.  Tio ĉi estas kio ĝi similas:

image

Mia amiko ne estas skribanta C# kodon sed prefere uzanta Java, Do la SAPA koverto estis kio ŝi vere devis.  Akiri tion, Mi skribis iom de jQuery kaj tiam uzita fiddler akiri la realan HTTPan konversacion.

Ĉi tie-a la rilata jQuery (Mi kopiis la kodon sube se vi deziras kopii/almeti):

image

Ili unue kerna estas inkluzivi ambaŭ <QueryOptions> Kaj <QueryOptions> Nodo.  La dua ŝlosilo estas ke la <Teko> Nodo estas URL al kiu la kliento havas aliron.

Tie povas esti aliaj vojoj akiri tion ĉi, Sed tio ĉi laboris bone por mi kiam uzanta jQuery.

Ĉi tie estas la SAPA koverto por la supra:

<Soapenv:Koverto xmlns:Soapenv=’Http://Schemas.Xmlsoap.Org/sapa/koverto/’>                
  <Soapenv:Korpo>
    <GetListItems xmlns=’
Http://Schemas.Microsoft.Com/sharepoint/sapo/’>
      <ListName>Laŭmenda Listo kun Sub Tekoj</ListName>
      <ViewFields>  
        <ViewFields>
          <FieldRef Nomo='Titolo’ />
          <FieldRef Nomo='EncodedAbsUrl’ />
        </ViewFields>
      </ViewFields>
      <QueryOptions>
        <QueryOptions>
          <Teko>
Http://Demoserver1/Blogging Scenaroj/enlistigas/Laŭmendan Liston kun Sub Teka/Jaro 2006</Teko>
        </QueryOptions>
      </QueryOptions>
   
</GetListItems>
  </Soapenv:Korpo>
</Soapenv:Koverto>

Multaj ekzemploj kaj diskuto ĉirkaŭ tio ĉi gvidis min kredi ke ĉiuj mi devas estis <QueryOptions> Kaj specifi tekan nomon.  Por mi, Mi devas al ambaŭ mantelo ĝi interne <QueryOptions> Tiel kiel specifas plene kvalifikita URL por la <Teko> Nodo.

Ĉi tie-a la jQuery AJAXa aranĝo:

$(Dokumento).Preta(Funkcio() {
       Var soapEnv =
           "<Soapenv:Koverto xmlns:Soapenv=’Http://Schemas.Xmlsoap.Org/sapa/koverto/’> \
               <Soapenv:Korpo> \
                    <GetListItems xmlns=’Http://Schemas.Microsoft.Com/sharepoint/sapo/’> \
                       <ListName>Laŭmenda Listo kun Sub Tekoj</ListName> \
                       <ViewFields> \
                           <ViewFields> \
                              <FieldRef Nomo='Titolo’ /> \
                              <FieldRef Nomo='EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </ViewFields> \
                       <QueryOptions> \
                         <QueryOptions> \
                           <Teko>http://demoserver1/Blogging Scenaroj/enlistigas/Laŭmendan Liston kun Sub Teka/Jaro 2006</Teko> \
                         </QueryOptions> \
                       </QueryOptions> \
                   </GetListItems> \
               </Soapenv:Korpo> \
           </Soapenv:Koverto>";

</Fino>

Aboni al mia blogo.

Sekvi min sur Pepi ĉe http://www.twitter.com/pagalvin

Listoj.Asmx, GetList kaj “Valoro ne povas esti null”

Mi eltrovis hodiaŭ ke la GetList() Metodo en Listoj.Asmx Araneaĵa servo devas esti vokita tre zorgeme aŭ ĝi estas kuŝa ĵeti misteran “Valoron ne povas esti null” escepto (Kaj tio estas supozanta vin povas akiri pasintan la para pli malbona kolektiva eraro mesaĝo, “Escepto de tipo ‘Microsoft.SharePoint.SoapServer.SoapServerException’ Estis ĵetita.”)  Specife, Mi trovis ke vi ne povas provizi ajnan specon de prefikso sur la GetList metodo.  La sekvanta jQuery ereto ilustras la punkton:

image

Se vi fari tion, La araneaĵa servo respondas kun “Valoro ne povas esti null” kiel por tio ĉi Fiddler-Provizita HTTPan transskribaĵon:

<?Xml versio="1.0" Kodanta="utf-8"?>
  <Sapo:Koverto
     Xmlns:Sapo="
Http://Schemas.Xmlsoap.Org/sapa/koverto/"    
     Xmlns:Xsi=”
Http://Www.w3.org/2001/xmlschema-okazo
     Xmlns:Xsd="
Http://Www.w3.org/2001/xmlschema">

  <Sapo:Korpo>
    <Sapo:Misfaro>
      <Faultcode>Sapo:Servilo</Faultcode>
      <Faultstring>
        Escepto de tipo ‘Microsoft.SharePoint.SoapServer.SoapServerException’ Estis ĵetita.
      </Faultstring>
      <Detalo>
        <Errorstring xmlns="
Http://Schemas.Microsoft.Com/sharepoint/sapo/">
Valoro ne povas esti null.
        </Errorstring>
      </Detalo>
    </Sapo:Misfaro>
  </Sapo:Korpo>
</Sapo:Koverto>

Nature, Vi verŝajne ne aldonus tiu “s0” prefikso sur via propra, Sed kelkaj iloj estas kuŝaj fari ĝin (Kiel Eklipso).

Tio ĉi estas multe pli konfuzanta / Ĉagreniĝanta ĉar aliaj metodoj toleras prefiksojn.  Ekzemple, La GetListCollection Metodo ne atentas se ĝi estas estita prefixed, Eĉ kun absurdaj prefiksoj kiel “xyzzy”:

image

Ĉi tiu “valoro ne povas esti null” ŝajnas juste ofta kun listoj.Asmx sekve espereble tio ĉi helpos iun ekstere en estonteco.

</Fino>

Aboni al mia blogo.

Sekvi min sur Pepi ĉe http://www.twitter.com/pagalvin

Endlessly Nestado <Div> Etikedoj kaj jQuery

Tio ĉi ŝajnas kiel tia bizarula temo, Mi ne estas certe ĝi estas vere valora blogging pri, Sed tio estas neniam haltita min antaŭe, Tiel ĉi tie ni iras rideto

Mi estas eliranta sur projekto kie mi estas tiranta kelkajn datumojn de serĉo, Prezentanta ĝin supre en XMLa mesaĝo kaj tiam ke XML estas fine transformita en HTML tra XSLT.  Tie estas multa jQuery okupita, Unu mordis de kiu efektivigas kelkaj tabbing funkcio.  Kiam vi klakas sur klapeto (Vere, al <Div>), JQuery alvokas .Felo() Kaj .Rezulto() Sur diversaj divs (La komenca paĝa ŝarĝo elŝutas ĉiuj la enhavo sekve estas ne postbacks en ĉi tiu kazo).

Aro de horoj antaŭe, La klapeto ŝaltanta logikon komencita konduti nekonstante kaj ĝi ne montrus unu el miaj klapetoj.  Mi fine spuris ĝin malsupren al la fakto ke interreta esploristo (Almenaŭ) Pensis ke la <Div> Etikedoj nestis ege, Ege pli profunda ol celita.La ellaboranto toolbar montrus:

-<Div identigaĵo=”Tab1Content”>
  -<Div>
    -<Div>
      -<Div identigaĵo=”Tab2Content”>
        -<Div>
           …………………………
                   </Div>  <—Fine montranta ĝin estis fermita tute malsupren ĉi tie!

Tiel, Se mi faris $(“#Tab1Content”).Felo(), Mi ankaŭ kaŝus Tab2 kaj min neniam povus montri Tab2 se mi ne ankaŭ montris Tab1.  Mi kopiis kaj almetis la kodon supre en vida studio kaj ĝi montris ĉiujn de la div-a viciganta agrable, Nur ŝatas ilin estis supozita esti faranta, Similanta tion ĉi:

-<Div identigaĵo=”Tab1Content”>
  +<Div>
  +<Div>
-<Div identigaĵo=”Tab2Content”>
  +<Div>
  +<Div>

Mi venkas mian kapon kontraŭ la muro por momento kaj rimarkita ke en la reala HTMLa kodo estis produktanta multan senhoman <Div> Etikedoj, Ŝatas:

<Korpo>

  <Div identigaĵo=”Tab1Content”>

    <Div identigaĵo=”row1” />
    <Div identigaĵo=”row2” />

  </Div>

  <Div identigaĵo=”Tab2Content”>

    <Div identigaĵo=”row1” />
    <Div identigaĵo=”row2” />

  </Div>

</Korpo>

(La sur estas waaaaaaaaaaaay oversimplified.  La senhoma div etikedoj estas tute validaj. Kelkaj de mia <Div> Etikedoj estis plene de enhavo, Sed multa plio ne estis.  Mi venis al la konscio ke mia <Xsl:Pro tio ke-ĉiu> Instrukcioj estis emanigantaj la mallongan-formo div etikedas kiam la xsl:Pro tio ke-ĉiu faris ne' trovas ajnan datumon.  Mi devigis HTMLan rimarkon en la produktado, Kiel montrita:

image

 

Post kiam mi faris tion, Ĉiuj la div-a vicigis agrable kaj mia klapeto ŝaltanta komencita laboranta.

Kiel ĉiam, Mi esperas tion ĉi helpas iun en pinĉo.

</Fino>

Aboni al mia blogo.

Sekvi min sur Pepi ĉe http://www.twitter.com/pagalvin

Rapida Senpaneigo: “La kontentaj tipaj nomaj ‘$Rimedoj:ReportServerResources … Ne povas enhavi … Specialaj karakteroj”

Mi estis elspezanta iun tempon puriganta SharePoint 2010 ejo kaj unu el la postpurigaj aferoj rilatas al korupta / Neĝuste instalita SQLa Servilo Raportaj Servoj afero.  La afero ekestiĝis kiam unu el miaj kolegoj provita savi ejon kiel ŝablono kaj tiam krei krei novan ejon bazita sur tiu ŝablono.  La savi operacion laboris bone, Sed kiam ŝi provis krei la novan ejon, SharePoint montris la sekvantan eraran mesaĝon:

Eraro

La kontentaj tipaj nomaj ‘$Rimedoj:ReportServerResources,DataSourceContentTypeName;' Ne povas enhavi: \ / : * ? “ # % < > { } | ~ & , Du sinsekvaj periodoj (..), Aŭ specialaj karakteroj kiel klapeto.

Ĉi tie-a ekrana kaskedo:

 

image

Mi havis rigardi la enhavon entajpas la ejon kaj trovita tion ĉi:

image

Tiuj kontentaj tipoj estas klare nesanaj.

Ĉi tiu afero ŝajnas veni supre tre sur la Interretoj kaj tie ne ŝajnas esti ununura interkonsentiĝo sur kiel solvi ĝin.  Mi trovis oportunan tablon kiu mapis la malbonajn enhavajn tipajn nomojn al bona enhava tipo nomas ĉi tie: http://social.technet.microsoft.com/Forums/en-ZA/sharepoint2010programming/thread/cb03e866-8184-4943-acfe-cafffa1b8b7a.  Mi mane ĝisdatigis ilin thusly:

image

(BrightStarr En la nomo estas evidente laŭvola, Sed ĝi ne povas dolori rideto )

Tio ĉi permesis min krei novan ŝablonon kaj ne rompis ion ajn sur la aliaj ejoj, Inkluzivanta kelkaj PerformancePoint Servila aĵo ke tute malsama grupo de homoj estis laborantaj sur.  Mi estis tiam kapabla krei novan ejon sur la ŝablono.  Sukceso!

Mi ne estas certe tio ĉi estas 100% Solvo, Sed ĝi akiris min kaj ĉiun okupis pasintan ĉi tiu ĝena eraro.  Se mi trovas ion ajn nova, Mi poŝtos ĝisdatigon.  Miaj maltrankvilecaj tigoj de la fakto ke ĉi tiuj nomoj ne devus esti malĝuste en la unua loko kaj de riparanta la montriĝan nomon, Mi ne estas tuŝanta la internan nomon. 

</Fino>

Aboni al mia blogo.

Sekvi min sur Pepi ĉe http://www.twitter.com/pagalvin

Unu Afero por “La kreinto de ĉi tiu misfaro ne specifis Kialon.”

Mi estis faranta multan laboron kun SharePoint serĉo lastatempe kaj specife la KeywordQuery klaso, nemoveblaĵoj kaj metodoj.

Se vi deziras la rezulton fiksita reveni rezultojn sur kaj pretere la kutimaj suspektatoj (Vidi ĉi tie), Vi aldonas ĝin al la SelectedProperties kolekto, Kiel je:

MyKeywordQuery.SelectProperties.Aldonas("Xyzzy");

Multaj dankonas kaj konsileto de la ĉapelo al Corey Roth Kaj Tio ĉi grandege helpema bloga poŝto (http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2008/02/19/how-to-use-the-moss-enterprise-search-keywordquery-class.aspx)

En mia kazo, “Xyzzy” ne estas efektive administrita nemoveblaĵon.  Kiam mi aldonis ĝin al SelectedProperties ĉiuokaze, SharePoint ĵetis unu el mia ŝatolisto iam ajn runtime esceptoj:

“La kreinto de ĉi tiu misfaro ne specifis Kialon.”

Mi precipe kiel la majuskla “R” en Kialo.  Tio ĉi sonas al mi kiel la .PURA ekvivalento de “Mi havas neniun buŝon, Kaj mi devas ŝirkrii.”

</Fino>

Aboni al mia blogo.

Sekvi min sur Pepi ĉe http://www.twitter.com/pagalvin

Oportuna Referenco: Defaŭltaj Rezultoj de KeywordQuery Serĉo

Kiam vi alvokas la Efektivigi() Metodo sur KeywordQuery, Vi povas krei ResultTable bazita sur ResultType.RelevantResults.  Ĉi tiu koda ereto ilustras kion mi signifas:

ResultTableCollection resultsTableCollection = myKeywordQuery.Efektivigas();

ResultTable searchResultsTable = resultsTableCollection[ResultType.RelevantResults];

La rezultinta tablo havos la sekvantajn kolumnojn de informo: 

WorkId
Senhonta
Titolo
Aŭtoro
Grandeco
Vojo
Priskribo
Skribi
SiteName
CollapsingStatus
HitHighlightedSummary
HitHighlightedProperties
ContentClass
IsDocument
PictureThumbnailURL
ServerRedirectedURL

Mi derivis ĉi tiun liston de SharePoint 2010 Medio, Entreprena eldono.  Espereble ĝi estos oportuna al iu en estonteco.

</Fino>

Aboni al mia blogo.

Sekvi min sur Pepi ĉe http://www.twitter.com/pagalvin

Unu Kialo por: “Malsukcesita eltiri la taksian dosieron en la solvo”

Dum laboranta sur vida studia araneaĵa parto projekto hodiaŭ, Mi faris negravan re-org de kelkaj dosieroj esti metita en la _plana teko kiel parto de la deploja procezo. Specife, Mi renomis .Js dosiero de “TypeAhead.Js” al “TypeAhead(Malnova).Js”  Mi planas forigi ĝin tuj kiam ĝia posteulo “TypeAhead.Js” pruvas ĝustan.  Ĝi similis tion ĉi:

image

Tio ĉi tuj kaŭzis problemon kun vida studio kiam mi provis deplojiĝi la projekton:

Eraro okazita en deploja paŝo ‘Aldonas Solvon': Malsukcesita eltiri la taksian dosieron en la solvo.

Ĝi rezultas ke vi ne devus meti parenthesis en dosieraj nomoj.  Mi forigis la parens kaj ke solvis la problemon.

</Fino>

Aboni al mia blogo.

Sekvi min sur Pepi ĉe http://www.twitter.com/pagalvin