Arkivat mujore: Maj 2011

PerformancePoint dhe Error 33494

Një nga klientët e mi sot quhet kur mjedisi i tyre PerformancePoint (në SharePoint 2010) u ndërprenë.  Një nga serverat app në fermë është duke i ulët në hapësirë ​​në disk.  Ndërsa adresimin që, klienti uninstalled "shumë" dhe stuff PP gjithë funksional ndalur.  Pjesët e ndryshme të internetit do të tregojë "Një gabim i papritur ka ndodhur. Gabim 33494. Detaje shtesë kanë qenë të regjistruar për administratorin tuaj të ":

image

I shikuar deri gabimin dhe nuk gjeni ndonjë gjë të veçantë për të "Gabim 33494" Por kjo Forume MSDN postimit ishte e dobishme: http://social.technet.microsoft.com/forums/en-us/sharepoint2010setup/thread/E1FE189D-7F89-455D-A98B-C1A12D8626AB

Kam gjetur ADOMD.NET këtu si një komponent në SQL Server 2008 Pack Feature: http://www.microsoft.com/downloads/en/details.aspx?FamilyId=228DE03F-3B5A-428A-923F-58A033D316E1&displaylang=en

image

(kliko për të zmadhuar)

I shkarkuar dhe instaluar atë dhe atë fikse gjithçka.

Unë mendoj se kjo është një lloj mjaft oddball e gabimit, por në qoftë se ju goditi atë, ju të paktën ju keni një mundësi.

</fund>

Abonohen në blogun tim.

Atëherë ejani pas meje në Twitter në http://www.twitter.com/pagalvin

Lists.asmx, GetListItems dhe dosjet

Unë kam qenë duke bërë disa kërkime për dikë sot rreth shërbimit të internetit list.asmx ofruara si pjesë e SharePoint 2010 (dhe më herët).  Ajo ishte në gjendje për të marrë sendet listë në dosjen rrënjë (duke përfshirë edhe emrat e sub-folders), por nuk mund të merrni artikuj në sub-folders.  I did some looking around on the internets and it’s a surprisingly common question.  Ende, I couldn’t get a good answer to the simple question, “if I know the folder, how do I get the items in the folder?"  To be honest, I didn’t try all that hard since I’ve wanted to figure this one out on my own for a while buzëqeshje.

To set this up, I created a site named “Blogging Scenarios” and a custom list named “Custom List with Sub Folders”.  I then created folders named:

  • Year 2005
  • Year 2006
  • Year 2007

I added a few items to the folder “Year 2006”.  Kjo është ajo që duket si:

image

My friend isn’t writing C# code but rather using Java, so the SOAP envelope was what she really needed.  To get that, I wrote a bit of jQuery and then used fiddler to get the actual HTTP conversation.

Here’s the relevant jQuery (I copied the code down below if you want to copy/paste):

image

They first key is to include both a <queryOptions> dhe <QueryOptions> node.  The second key is that the <Folder> node is a URL to which the client has access.

There may be other ways to get this, but this worked well for me when using jQuery.

Here is the SOAP envelope for the above:

<soapenv:Envelope xmlns:soapenv=’http://schemas.xmlsoap.org / sapun / Zarfi /’>                
  <soapenv:Trup>
    <GetListItems xmlns=’
http://schemas.microsoft.com / SharePoint / sapun /’>
      <listName>Custom List with Sub Folders</listName>
      <viewFields>  
        <ViewFields>
          <FieldRef Name=’Title’ />
          <FieldRef Name=’EncodedAbsUrl’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <Folder>
http://demoserver1/Blogging Scenarios/lists/Custom List with Sub Folders/Year 2006</Folder>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:Trup>
</soapenv:Zarf>

A lot of examples and discussion around this led me to believe that all I need was <QueryOptions> and specify a folder name.  Për mua, I need to both wrap it inside <queryOptions> as well as specify a fully qualified URL for the <Folder> node.

Here’s the jQuery AJAX setup:

$(dokument).gati(funksion() {
       var soapEnv =
           "<soapenv:Envelope xmlns:soapenv=’http://schemas.xmlsoap.org / sapun / Zarfi /’> \
               <soapenv:Trup> \
                    <GetListItems xmlns=’http://schemas.microsoft.com / SharePoint / sapun /’> \
                       <listName>Custom List with Sub Folders</listName> \
                       <viewFields> \
                           <ViewFields> \
                              <FieldRef Name=’Title’ /> \
                              <FieldRef Name=’EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <Folder>http://demoserver1/Blogging Scenarios/lists/Custom List with Sub Folders/Year 2006</Folder> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:Trup> \
           </soapenv:Zarf>";

</fund>

Abonohen në blogun tim.

Atëherë ejani pas meje në Twitter në http://www.twitter.com/pagalvin

Lists.asmx, GetList dhe "Vlera nuk mund të jetë null”

Kam zbuluar sot se GetList() Metoda në lists.asmx web shërbim ka për t'u quajtur me shumë kujdes ose ajo është i prirur për të hedhur një misterioze "Vlera nuk mund të jetë null" përjashtim (dhe kjo është duke supozuar që ju mund të merrni kaluara mesazh gabimi edhe më keq gjenerik, “Exception of type ‘Microsoft.SharePoint.SoapServer.SoapServerException’ u hodh. ")  Në mënyrë të veçantë, Kam gjetur se ju nuk mund të japin asnjë lloj prefiksi mbi metodën GetList.  JQuery snippet vijim ilustron pikën:

image

Nëse ju bëni që, shërbim web përgjigjet me "Vlera nuk mund të jetë i pavlefshëm" si për këtë violinist-me kusht transkript HTTP:

<?xml version="1.0" encoding="utf-8"?>
  <sapun:Zarf
     xmlns:Sapun ="
http://schemas.xmlsoap.org / sapun / Zarfi /"    
     xmlns:XSi = "
http://www.w3.org/2001/XMLSchema-instance"
     xmlns:XSD ="
http://www.w3.org/2001/XMLSchema">

  <sapun:Trup>
    <sapun:Faj>
      <faultcode>sapun:Server</faultcode>
      <faultstring>
        Exception of type ‘Microsoft.SharePoint.SoapServer.SoapServerException’ u hodh.
      </faultstring>
      <hollësi>
        <xmlns string error ="
http://schemas.microsoft.com / SharePoint / sapun /">
Vlera nuk mund të jetë null.
        </errorstring>
      </hollësi>
    </sapun:Faj>
  </sapun:Trup>
</sapun:Zarf>

Sigurisht, ju ndoshta nuk do të shtoja se "s0" prefiks në tuaj, por disa mjete janë të prirur për të bërë atë (si Eclipse).

Kjo është e gjitha shumë konfuz / frustruese sepse metoda të tjera të tolerojë prefikset.  Për shembull, the GetListCollection metodë nuk parasysh nëse ajo është prefixed, madje edhe me prefikset pakuptimta si "xyzzy":

image

Kjo "nuk mund të jetë vlera null" duket mjaft e zakonshme me lists.asmx kështu që shpresojmë se kjo do të ndihmojë dikë në të ardhmen.

</fund>

Abonohen në blogun tim.

Atëherë ejani pas meje në Twitter në http://www.twitter.com/pagalvin

Pafund Folezojnë <div> Tags dhe jQuery

Kjo duket si një temë e tillë oddball, Unë nuk jam i sigurt se kjo është me të vërtetë me vlerë rreth Blogging, por që kurrë nuk është ndalur mua para, kështu që këtu ne do të shkojmë buzëqeshje

Unë jam duke punuar në një projekt ku unë jam tërhequr disa të dhëna nga një kërkim, paketimin atë deri në një mesazh XML dhe pastaj se XML është transformuar përfundimisht në HTML me anë XSLT.  Nuk është një shumë e jQuery përfshirë, një grimë e cila zbaton disa funksionalitetin tastit tab.  Kur ju klikoni mbi një tab (vërtet, një <div>), jQuery invokes. fshehin() dhe. show() on divs ndryshme (ngarkesa fillestare faqe shkarkon të gjithë përmbajtjen kështu që nuk ka postbacks në këtë rast).

Një bandë e orë më parë, logjika tab kalimi filluar të sillen erratically dhe ajo nuk do të tregojë një prej tabs mi.  Unë përfundimisht gjurmuar atë poshtë për faktin se internet explorer (të paktën) mendonin se <div> tags mbivendosur tani, shumë më të thellë se Developer Toolbar intended.The do të tregojë:

-<div id = "Tab1Content">
  -<div>
    -<div>
      -<div id = "Tab2Content">
        -<div>
           ..............................
                   </div>  <-Më në fund duke treguar ajo ishte e mbyllur të gjithë rrugën poshtë këtu!

Kështu, në qoftë se kam bërë një $("# Tab1Content").fsheh(), Unë do të fsheh Tab2 dhe unë kurrë nuk mund të tregojë Tab2 në qoftë se unë nuk e tregojnë gjithashtu Tab1.  I kopjuar dhe ngjit kodin e deri në studio vizuale dhe ajo i tregoi të gjitha rreshtim DIV-së deri bukur, ashtu si ata ishin menduar të jetë bërë, në kërkim si kjo:

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

I rrahur kokën time kundër murit për një kohë dhe të vënë re se në kodin aktual HTML është gjeneruar një shumë të zbrazët <div> tags, si:

<trup>

  <div id = "Tab1Content">

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

  </div>

  <div id = "Tab2Content">

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

  </div>

</trup>

(Sipër është waaaaaaaaaaaay thjeshtëzuar.  Tags boshe div janë krejtësisht të vlefshme. Disa nga tim <div> tags ishin plot e përmbajtjes, por shumë më tepër nuk ishin.  Unë kam ardhur në realizimin se im <XSL:për njëri-> Direktivat janë emitting-shkurtra formë tags div kur XSL:për njëri-nuk 'gjejnë ndonjë të dhënave.  I detyruar një koment HTML në dalje, siç tregohet:

image

 

Pasi unë e bëri atë, div të gjitha është rreshtuar bukur dhe switching im tab filluar pune.

Si gjithmonë, Unë shpresoj se kjo ndihmon dikush në një majë.

</fund>

Abonohen në blogun tim.

Atëherë ejani pas meje në Twitter në http://www.twitter.com/pagalvin

Fix shpejtë: "$ I tipi i përmbajtjes emri 'Burimet:ReportServerResources … nuk mund të përmbajë … karaktere të veçanta”

Unë kam qenë duke kaluar disa kohë pastrimin e SharePoint 2010 web site dhe një nga çështjet e pastrimit të bëjë me një korruptuar / instaluar gabimisht Raporto SQL Server Sherbime çështje.  Çështja u ngrit kur një nga kolegët e mi u përpoqën për të shpëtuar një vend si një template dhe pastaj të krijojë të krijuar një faqe të re të bazuar në atë template.  Operacioni Save punuar mirë, por kur ajo u përpoq për të krijuar faqe të reja, SharePoint shfaqet mesazh gabimi:

Gabim

Burimet $ Lloji i përmbajtjes emrin ':ReportServerResources,DataSourceContentTypeName;'Nuk mund të përmbajnë: \ / : * ? " # % < > { } | ~ & , dy periudha të njëpasnjëshme (..), ose karaktere të veçanta të tilla si një skedë.

Këtu është një kapak ekran:

 

image

Unë kisha një vështrim në llojet e përmbajtjes në këtë faqe interneti dhe e gjeti këtë:

image

Këto lloje përmbajtjes janë qartësisht të sëmurë.

Kjo çështje duket se për të ardhur deri në një shumë mbi Internets dhe atje nuk duket të jetë një konsensus i vetëm mbi atë se si për të zgjidhur atë.  Kam gjetur një tabelë dobishëm që konturuar emrat e këqija tipi i përmbajtjes emrave të mira tipi i përmbajtjes ketu: http://social.technet.microsoft.com/Forums/en-ZA/sharepoint2010programming/thread/cb03e866-8184-4943-acfe-cafffa1b8b7a.  Unë manualisht përditësuar ato thusly:

image

(BrightStarr në emër është padyshim fakultative, por ajo nuk mund të dëmtojë buzëqeshje )

Kjo lejohet mua për të krijuar një template të ri dhe nuk e thyejnë asgjë në faqet e tjera, duke përfshirë edhe disa sende Server PerformancePoint se një grup krejtësisht të ndryshme të njerëzve ishin duke punuar.  Unë kam qenë atëherë në gjendje për të krijuar një faqe të re në template.  Sukses!

Unë nuk jam i sigurt se kjo është një 100% zgjidhje, por ajo mori mua dhe të gjithë të përfshirë kaluarën këtij gabimi annoying.  Nëse unë gjej asgjë të re, Unë do të postoj një update.  Nervozizmi im buron nga fakti se këto emra nuk duhet të jetë i gabuar në vendin e parë dhe nga ndreqim emrin e ekranit, Unë nuk jam duke prekur emrin e brendshëm. 

</fund>

Abonohen në blogun tim.

Atëherë ejani pas meje në Twitter në http://www.twitter.com/pagalvin

Një Shkak për "krijuesi i këtij defekti nuk përcaktoi një arsye.”

Unë kam qenë duke bërë një punë shumë e me kerkimin SharePoint kohët e fundit dhe në veçanti klasa KeywordQuery, pronat dhe metodat.

Nëse ju doni rezultati vendosur të kthehen rezultatet më lart dhe përtej të dyshuarit e zakonshme (shikoni këtu), ju shtoni atë në mbledhjen SelectedProperties, si në:

myKeywordQuery.SelectProperties.Add("xyzzy");

Many thanks dhe një tip i kapelë për të Corey Roth dhe ky post jashtëzakonisht e dobishme blog (http://www.dotnetmafia.com/blogs/dotnettipoftheday/archive/2008/02/19/how-to-use-the-moss-enterprise-search-keywordquery-class.aspx)

Në rastin tim, "Xyzzy" nuk është në fakt një pronë menaxhuar.  Kur kam shtuar atë për SelectedProperties gjithsesi, SharePoint hodhi një nga përjashtimet e mia të preferuar ndonjëherë runtime:

"Krijuesi i këtij defekti nuk specifikon një arsye."

Unë veçanërisht pëlqen të kryeqytetit "R" Arsyes.  Kjo për mua tingëllon si ekuivalente. Neto i "Unë nuk kam asnjë gojën, dhe unë duhet të bërtas."

</fund>

Abonohen në blogun tim.

Atëherë ejani pas meje në Twitter në http://www.twitter.com/pagalvin

Referenca Handy: Rezultatet Default nga KeywordQuery Kërko

Kur ju kërkoj Execute() metodë në një KeywordQuery, ju mund të krijoni një ResultTable bazuar në ResultType.RelevantResults.  Ky copëza kodi ilustron çfarë dua të them:

ResultsTableCollection ResultTableCollection = myKeywordQuery.Execute();

ResultTable searchResultsTable = resultsTableCollection[ResultType.RelevantResults];

Tabela rezulton do të ketë kolona e mëposhtme të informacionit: 

WorkId
Rank
Titull
Autor
Madhësi
Rrugë
Përshkrim
Shkruaj
SITENAME
CollapsingStatus
HitHighlightedSummary
HitHighlightedProperties
Contentclass
IsDocument
PictureThumbnailURL
ServerRedirectedURL

Unë rrjedh nga një këtë listë SharePoint 2010 mjedis, Enterprise Edition.  Shpresojmë se kjo do të jetë i dobishëm për dikë në të ardhmen.

</fund>

Abonohen në blogun tim.

Atëherë ejani pas meje në Twitter në http://www.twitter.com/pagalvin

Një arsye për: Msgstr "Dështova në nxjerrjen e file taksi në zgjidhjen”

Duke punuar në një projekt vizual studio web sot pjesë, Unë bëra një i mitur ri org-e disa dosjeve për të vënë në dosje _layouts si pjesë e procesit të vendosjes. Në mënyrë të veçantë, Unë riemëruar një skedar. Js nga "TypeAhead.js" për "TypeAhead(i vjetër).js "  Kam planifikuar për të hequr atë sa më shpejt të jetë pasuesja e saj "TypeAhead.js" provon saktë.  Ajo dukej si kjo:

image

Kjo shkaktoi menjëherë një problem me vizual studio kur unë u përpoq për të vendosur projektin:

Error occurred in deployment step ‘Add Solution’: Dështoi në nxjerrjen e file taksi në zgjidhjen.

Ajo rezulton se ju nuk duhet të vënë një parantezë në emrat e file.  I larguar parens dhe se zgjidhur problemin.

</fund>

Abonohen në blogun tim.

Atëherë ejani pas meje në Twitter në http://www.twitter.com/pagalvin