Interessante iPhone aansoek

image Die mobiele span hier by Slalom het 'n baie koel iPad aansoek wat 'n kombinasie van virtuele realiteit wat strek w / offline vermoë te verskaf wat dalk die beste New York metro finder en routing artikels wat vandag beskikbaar is.

Hier is die plek wat die artikels in meer besonderhede beskryf: http://www.nycstationfinder.com/.

Ek het nie 'n Apple-produkte, so ek kan dit nie toets myself, maar dit lyk pretty cool. Ek hoop hulle poort en oor na Android gou.

</einde>

Skryf in op my blog.

Volg my op Twitter http://www.twitter.com/pagalvin

MVP weer

Microsoft weer toegeken my met SharePoint MVP op 1 Julie hierdie jaar en dit is nie minder opwindend as wat dit was die eerste keer in vier jaar gelede.

Die SharePoint gemeenskap is net 'n wonderlike plek.  Ek onthou toe ek die eerste keer na SharePoint deur my ou werkgewer, Conchango.  Ek was nie gelukkig oor dit Smile.  Ek was in 'n BizTalk wêreld leef vir 'n jaar of twee in die aanloop tot my werk daar en voor dit, gewerk het in 'n ander insulaire wêreld van mense en maatskappye wat 'n lewe van Progress.  Ek sê "insulêre" omdat die SharePoint wêreld is niks, maar!

Ek is voortdurend bly en opgewonde om deel te wees van hierdie bisarre aanlyn gemeenskap van mense wat voel vreemd verplig om eindeloos te blog, gee hulle Saterdae gratis konferensies, spook online forums, bou van alle vorme van doodop gratis produkte uit te sit op CodePlex en 'n magdom van ander gemeenskap pogings van alle vorms en groottes. 

Ek weet nie wat dit is oor hierdie produk wat so 'n vrywillige en dompel inspireer, maar ek hoop dit verander nooit nie.

</einde>

Skryf in op my blog.

Volg my op Twitter http://www.twitter.com/pagalvin

Laat sprekende voorbeelde lei die pad tot verhoogde SharePoint Aanneming

My eerste "suiwer" BrightStarr blog inskrywing is vandag gepubliseer.  Hier is 'n teaser:

Daar was 'n baie gesprek oor die Netscape van die laat op die onderwerp van SharePoint aanneming en veral die gebrek daaraan. Niemand wil gaan na al die probleme van die ontwerp van 'n plaas en sekuriteit infrastruktuur, deelname aan werkswinkels, om saam 'n deftiger lyk en voel, werk uit 'n rots vaste inligting argitektuur wat die lotgevallen van die maatskappy Re-orgs en uiteindelik kan weerstaan, 'n fanfare-gevulde uitrol net drie maande na te ontdek dat minder as gaan lewe 50% van die werknemers van die maatskappy is die gebruik van die Sharepoint en die meeste van hulle gebruik dit om die ou netwerk file servers te vervang ("Die S:\ ry ").

Geen silwer bullet (of n blog boodskap) gaan om daardie probleem op te los. Egter, daar is baie dinge wat jy kan doen om te verminder die risiko van 'n anemiese SharePoint Portal. Een so 'n tegniek is die "skitterende voorbeeld patroon."

Ek sou graag wou weet oor die ander SharePoint aanneming strategieë wat jy omgee om te deel.  As jy deel doen, laat asseblief as 'n kommentaar op die BrightStarr blog.

Lees die hele ding hier: http://www.brightstarr.com/US/Pages/blog-view.aspx?BlogID=52

</einde>

Skryf in op my blog.

Volg my op Twitter http://www.twitter.com/pagalvin

"Toegang geweier” te Default.aspx op 'n SharePoint 2010 Sub Site

Een van my kliënte het live met hul SharePoint 2010 omgewing vandag.  Ons het ontdek dat 'n sekere groep van die gebruikers kan nie toegang tot hul standaard tuisblad.  SharePoint gereageer met "Toegang geweier" en die gewone "teken in as 'n ander gebruiker" of "versoek om toegang" antwoord. 

Wanneer ons die nifty "Check Toegang"-funksie gebruik het, het dit bevestig dat die einde gebruikers het toegang.  Tog, hulle kon nie na die bladsy.

Ek het 'n baie paaie na verskeie dood eindig totdat ek besluit het om die web dele op die gebreekte bladsy teen 'n soortgelyke werk bladsy te vergelyk.  Ek het wat deur om die bladsy in die onderhoud af deur die toevoeging van "?contents = 1 "na die bladsy. So, dit lyk soos "http://bediener / subsite / subsite / default.aspx?contents = 1 ". 

Dit het vir my gewys twee web dele genaamd "fout" met 'n beskrywing soos "fout" op die gebreekte bladsy.  Ek het nie gedink 'n skerm dop by die tyd te neem.

Ek het hulle verwyder en dat die probleem opgelos.

Ek het gesien dat 'n vraag soos hierdie op die forums in die verlede en ek was baie skepties oor die plakkaat se aandrang dat hy sekuriteit behoorlik opgestel.  Ek weet ek het sekuriteit opstel reg Smile  Volgende keer, Ek sal meer oop en minder skepties.

</einde>

Skryf in op my blog.

Volg my op Twitter http://www.twitter.com/pagalvin

XSLT en jQuery Monsters

Ek doen 'n baie van XSLT en jQuery en het gedink dat ek 'n paar stukkies wat ander kan nuttig wees in die toekoms wil deel.

Voorbeeld 1: Uitstraal eenvoudige JavaScript / jQuery in XSLT:

<xsl:sjabloon wedstryd = "iets" xml:ruimte = "bewaar">

  <!– Blank uit die soektog vriendelike filters verborge veld –>
  <script type = "text / JavaScript">
    $(dokument).gereed(funksie(){
      $("# QueryFriendlyFilters").Val("Leë");
    });
  </script>

</xsl:sjabloon>

Dit bietjie straal 'n paar JavaScript wat wag vir die bladsy laai te voltooi (as gevolg van die $(dokument).gereed(...)) en stel dan die waarde van 'n versteekte veld met die naam QueryFriendlyFilters aan die letterlike waarde "leë".

Voorbeeld 2: Gebruik <xsl:indien> om te kyk nie. "groter as",  "Minder as", ens..

<xsl:sjabloon wedstryd = "iets" xml:ruimte = "bewaar">

  <div id = "fdcAllFilters">
 
    <xsl:as toets = "@ Graaf>0">
      <span class = "fdcFilterLabel">Huidige filters:</span>
    </xsl:indien>

    <!– meer dinge gebeur hier. –>

</xsl:sjabloon>

Die bogenoemde uit nagegaan om te sien as 'n kenmerk met die naam "Count" van die "iets" element is groter as nul.  Die XML agter dit sou wees iets soos:"

<iets Count = "5" />

Voorbeeld 3: Itereer deur al die elemente, interspersing jQuery oproepe.

<!– Itereer deur al die filters en vertoon die korrekte  skakels. –>
<xsl:vir-elke kies = "UserFilter-">

  <a class = "FilterHref" href = "javascript:mySubmitPage(‘RemoveUserFilter’,"{@ ID}")">[X]</1>

  <span class = "fdcFilterLabel"><xsl:waarde van uitgesoekte = "@ FilterValue" /></span>

  <script type = "text / JavaScript">

    $(dokument).gereed(funksie(){
        <xsl:teks><![CDATA[$("# QueryFriendlyFilters").Val( ($("# QueryFriendlyFilters").Val() + " ]]></xsl:teks>\"<xsl:waarde van uitgesoekte = "@ FilterValue" />\"<xsl:teks><![CDATA["));]]></xsl:teks>
    });

  </script>

</xsl:vir-elke>

Die bogenoemde uit die mees komplekse en daar kan makliker wees om maniere om dit te doen.

Die XML agter dit lyk ongeveer soos hierdie:

<UserFilter ID = "123" FilterValue = "Xyzzy" />

Hierdie brokkie is iterating deur <UserFilter> nodes. 

Dit straal die eerste keer 'n anker tag dat wanneer gekliek beroept 'n JavaScript-funksie wat op die bladsy is reeds, "MySubmitPage" en gaan die waarde van 'n kenmerk van die <UserFilter> node met die naam "ID". 

Dit straal dan 'n paar jQuery wat wag vir die bladsy te laai.  JQuery updates 'n versteekte veld met die naam "QueryFriendlyFilters" deur die byvoeging van die waarde van die FilterValue kenmerk.  Let op al die gek <xsl:teks> en <![CDATA[ ... ]]> dinge.

Dit is dit, hoop dit help!

</einde>

Skryf in op my blog.

Volg my op Twitter http://www.twitter.com/pagalvin

PerformancePoint en Fout 33494

Een van my kliënte het vandag gebel toe hul PerformancePoint omgewing (in SharePoint 2010) gebreek het.  Een van die app bedieners in die plaas loop laag op skyfspasie.  Terwyl die aanspreek van daardie, die kliënt verwyder "te veel" en die PP die stuff alle gestop funksionering.  Verskeie web dele sou wys "'n Onverwagse fout het voorgekom. Fout 33494. Verdere besonderhede is aangemeld vir jou administrateur ":

image

Ek kyk op die fout en het niks vind nie spesifiek "Fout 33.494", maar hierdie MSDN forums gepos was behulpsaam: http://social.technet.microsoft.com/forums/en-us/sharepoint2010setup/thread/E1FE189D-7F89-455D-A98B-C1A12D8626AB

Ek het gevind ADOMD.NET hier as 'n komponent in die SQL Server 2008 Funksie Pack: http://www.microsoft.com/downloads/en/details.aspx?FamilyId=228DE03F-3B5A-428A-923F-58A033D316E1&displaylang=en

image

(kliek om te vergroot)

Aflaai en geïnstalleer word dat dit vasgestel alles.

Ek dink dit is 'n mooi oddball soort van fout, Maar as jy dit getref het, jy ten minste jy het 'n opsie.

</einde>

Skryf in op my blog.

Volg my op Twitter http://www.twitter.com/pagalvin

Lists.asmx, GetListItems en dopgehou

Ek was 'n bietjie navorsing te doen vir iemand vandag rondom die list.asmx-web-diens verskaf as deel van SharePoint 2010 (en vroeër).  Sy was in staat om die lys items te kry om by die wortel gids (insluitend die name van die sub-gidse), maar kon dit nie kry items in die sub-gidse.  Ek het 'n paar kyk rond op die Inter en dit is 'n verbasend algemene vraag.  Tog, Ek kon nie 'n goeie antwoord op die eenvoudige vraag, "As ek weet die gids, Hoe kry ek die items in die gids?"  Om eerlik te wees, Ek het nie probeer om al die harde omdat ek wou hierdie een op my eie vir 'n rukkie om uit te vind Smile.

Om dit te kan opstel, Ek het 'n webwerf met die naam "Blogging scenario's" en 'n persoonlike lys met die naam "Custom Lys met sub dopgehou".  Ek het toe 'dopgehou:

  • Jaar 2005
  • Jaar 2006
  • Jaar 2007

Ek het ook 'n paar items tot die gids "Jaar 2006".  Dit is hoe dit lyk:

image

My vriend is nie 'n C # kode te skryf, maar eerder met behulp van Java, sodat die seep koevert was wat sy werklik nodig is.  Om dit te kry, Ek het 'n bietjie van jQuery en dan gebruik Fiddler die werklike HTTP gesprek te kry.

Hier is die betrokke jQuery (Ek kopieer die kode hieronder neer as jy wil kopieer / plak):

image

Hulle eerste sleutel is om in te sluit beide 'n <queryOptions> en <QueryOptions> knoop.  Die tweede sleutel is dat die <Folder> node is 'n URL wat die kliënt het toegang.

Daar mag dalk ander maniere om dit te kry, maar dit het goed gewerk vir my as die gebruik van jQuery.

Hier is die seep koevert vir die bogenoemde:

<soapenv:Koevert xmlns:soapenv =’http://schemas.xmlsoap.org / seep / koevert /’>                
  <soapenv:Liggaam>
    <GetListItems xmlns =’
http://schemas.microsoft.com / SharePoint / seep /’>
      <list name>Custom Lys met Sub dopgehou</list name>
      <viewFields>  
        <ViewFields>
          <FieldRef name = "Titel’ />
          <FieldRef Naam = "EncodedAbsUrl-’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <Folder>
http://demoserver1/Blogging Scenarios / lyste / Custom Lys met sub dopgehou / Jaar 2006</Folder>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:Liggaam>
</soapenv:Envelope>

Daar is baie voorbeelde en bespreking rondom hierdie het my gelei om te glo dat alles wat ek nodig het, was <QueryOptions> en 'n gids spesifiseer.  Vir my, Ek moet aan beide wrap dit binne <queryOptions> sowel as 'n ten volle gekwalifiseerde URL vir die spesifiseer <Folder> node.

Hier is die jQuery AJAX setup:

$(dokument).gereed(funksie() {
       soapEnv =
           "<soapenv:Koevert xmlns:soapenv =’http://schemas.xmlsoap.org / seep / koevert /’> \
               <soapenv:Liggaam> \
                    <GetListItems xmlns =’http://schemas.microsoft.com / SharePoint / seep /’> \
                       <list name>Custom Lys met Sub dopgehou</list name> \
                       <viewFields> \
                           <ViewFields> \
                              <FieldRef name = "Titel’ /> \
                              <FieldRef Naam = "EncodedAbsUrl-’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <Folder>http://demoserver1/Blogging Scenarios / lyste / Custom Lys met sub dopgehou / Jaar 2006</Folder> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:Liggaam> \
           </soapenv:Envelope>";

</einde>

Skryf in op my blog.

Volg my op Twitter http://www.twitter.com/pagalvin

Lists.asmx, GetList en "Waarde kan nie nul wees”

Ek ontdek vandag dat die GetList() metode in lists.asmx Web diens het baie versigtig genoem word, of is dit geneig om 'n geheimsinnige "Waarde te gooi kan nie nul" uitsondering (en dit is die veronderstelling wat jy kan kry verby die nog erger algemene fout boodskap, “Exception of type ‘Microsoft.SharePoint.SoapServer.SoapServerException’ gegooi is. ")  Spesifiek, Ek het gevind dat jy nie kan enige soort van voorvoegsel op die GetList metode.  Die volgende jQuery uit illustreer die punt:

image

As jy dit doen, die web diens reageer met "Waarde kan nie null" soos vervat in hierdie Fiddler-met dien verstande HTTP transkripsie:

<?die xml weergawe = "1,0" encoding = utf-8 "?>
  <seep:Envelope
     xmlns:seep ="
http://schemas.xmlsoap.org / seep / koevert /"    
     xmlns:XSi = "
http://www.w3.org/2001/XMLSchema-instance"
     xmlns:xsd ="
http://www.w3.org/2001/XMLSchema">

  <seep:Liggaam>
    <seep:Fout>
      <faultcode>seep:Server</faultcode>
      <faultstring>
        Exception of type ‘Microsoft.SharePoint.SoapServer.SoapServerException’ gegooi.
      </faultstring>
      <detail>
        <String xmlns ="
http://schemas.microsoft.com / SharePoint / seep /">
Waarde kan nie nul wees.
        </String>
      </detail>
    </seep:Fout>
  </seep:Liggaam>
</seep:Envelope>

Natuurlik, jy sal waarskynlik nie byvoeg dat "s0" voorvoegsel op jou eie, maar 'n paar tools is geneig om dit te doen (soos Eclipse).

Dit is al hoe meer verwarrend / frustreer omdat ander metodes duld voorvoegsels.  Byvoorbeeld, die GetListCollection metode nie omgee as dit is voorafgegaan, selfs met nonsens voorvoegsels soos "Xyzzy":

image

Hierdie waarde kan nie null "lyk redelik gemeen met lists.asmx so hopelik sal dit help om iemand in die toekoms.

</einde>

Skryf in op my blog.

Volg my op Twitter http://www.twitter.com/pagalvin