Interesante iPhone cerere

image Echipa mobilă aici la Slalom a dezvoltat o aplicatie foarte misto iPad care combină realitatea virtuală augmentare w capacitate offline pentru a oferi ceea ce poate fi mai bun New York metrou finder şi dirijare app disponibile astăzi.

Aici este site-ul descrie app mai în detaliu: http://www.nycstationfinder.com/.

Nu am orice produse Apple, aşa că am nu pot testa mine, dar se pare destul de cool. Eu sunt în speranţa ei port l peste la Android în curând.

</scop>

Aboneaza-te la blog-ul meu.

Urmaţi-mă pe Twitter, la http://www.twitter.com/pagalvin

MVP din nou

Microsoft re-atribuite mine cu SharePoint MVP pe 1 iulie anul acesta si este nu mai puţin interesant decât a fost prima dată în urmă cu patru ani.

Comunitatea SharePoint este doar un loc uimitor.  Îmi amintesc când am fost prima dată introdus la SharePoint de angajatorului meu vechi, Conchango.  Nu am fost fericit despre asta Zâmbet.  Au fost de viaţă într-o lume de BizTalk pentru un an sau doi au dus la meu loc de muncă acolo şi înainte de faptul că, a lucrat în altă lume insular de oameni şi companii care a făcut o viaţă off de Progresul Software.  Spun "insular", pentru că lumea SharePoint este nimic, dar!

Continuu sunt bucuros şi emoţionat să facă parte din această comunitate online bizar de oameni care se simt ciudat obligaţi să blog-ul la nesfarsit, renunta sambata lor gratuit de conferinţe, bantuie forumurile online, construi toate tipurile de produse gratuit whacked afară pentru a pune pe CodePlex şi o multitudine de alte eforturile Comunităţii de toate formele şi mărimile. 

Nu ştiu ce este despre acest produs care inspiră astfel de voluntariat şi imersiune, dar sper că niciodată nu modificări.

</scop>

Aboneaza-te la blog-ul meu.

Urmaţi-mă pe Twitter, la http://www.twitter.com/pagalvin

Lasa stralucitoare exemple plumb modul a crescut SharePoint adoptarea

Prima mea de "pur" BrightStarr blog intrare a fost publicat astăzi.  Aici este un teaser:

A existat o mulţime de conversaţie pe Internet de întârziere pe subiect de adoptarea SharePoint şi mai ales lipsa acestora. Nimeni nu vrea să meargă la toate probleme de proiectare a unei infrastructuri de fermă şi de securitate, participarea la ateliere de lucru, punerea împreună un aspect snazzy, o arhitectura de informaţii solide de rock care poate rezista la vicisitudinile compania re-orgs de lucru şi în cele din urmă, un rollout fanfara-umplut doar pentru a descoperi trei luni post go-live care mai puţin 50% companiei de angajaţi sunt utilizând SharePoint şi cele mai multe dintre ele sunt folosind-o pentru a înlocui vechiul fişier servere ("S:\ şofer").

Nici un glont de argint (sau post singur blog) se va rezolva această problemă. Cu toate acestea, Există multe lucruri pe care le puteţi face pentru a reduce riscul de un anemici SharePoint portal. O astfel de tehnica este "Shining exemplu modelul."

Mi-ar plăcea să ştiţi despre alte strategii de adoptarea SharePoint care ai grija de a împărtăşi.  Dacă partajați, vă rugăm să lăsaţi ca un comentariu pe blog-ul BrightStarr.

Citiţi totul aici: http://www.brightstarr.com/US/Pages/blog-view.aspx?BlogID=52

</scop>

Aboneaza-te la blog-ul meu.

Urmaţi-mă pe Twitter, la http://www.twitter.com/pagalvin

„Acces refuzat” de Default.aspx pe o SharePoint 2010 Site-ul sub

Unul dintre clienţii mei mers vii cu lor SharePoint 2010 mediu astăzi.  Am descoperit că un anumit grup de utilizatori nu a putut accesa pagina de pornire lor implicit.  SharePoint răspuns cu "Access Denied" şi obicei "sign in ca alt utilizator" sau "solicitarea acces" răspuns. 

Când am folosit funcţia puturos "Acces verificaţi" s-a confirmat că utilizatorilor finali într-adevăr a avut acces.  Încă, acestea nu ar putea ajunge la pagina.

Am urmat o multime de drumuri pentru diverse morţi se termină până când am decis să compare părţi web pe pagina rupt împotriva o pagină de lucru similare.  Am făcut că prin punerea pagina în modul de întreţinere adăugând"?conţinutul = 1 "de la pagina. Deci, parea ca "http://Server/subsite/subsite/default.aspx?conţinutul = 1 ". 

Acest lucru mi-a arătat două web piese numit "Eroare" cu o descriere ca "Eroare" pe pagina de spart.  Eu nu cred că a lua un capac de ecran în timp.

Am scos-le şi care a rezolvat problema.

Am vazut o intrebare de genul acest venit sus pe forumuri în trecut şi am fost foarte sceptic cu privire la insistenţa lui afiş că el a avut securitate configurat corect.  Am * ştiu * am avut securitate instituit dreptul Zâmbet  Data viitoare, Voi fi mai deschis şi mai sceptici.

</scop>

Aboneaza-te la blog-ul meu.

Urmaţi-mă pe Twitter, la http://www.twitter.com/pagalvin

XSLT și jQuery probe

Am făcut o mulţime de XSLT şi jQuery şi gândit aş parts câteva fragmente care alţii pot considera util în viitor.

Exemplu 1: Emite simplu JavaScript / jQuery în XSLT:

<XSL:meci de şablon "ceva =" XML:spaţiu = "conserva">

  <!– Martor interogare prietenos filtrele câmp ascuns –>
  <script-ul de tip = "text/javascript">
    $(document).gata(funcţia(){
      $("#QueryFriendlyFilters").vasilica("gol");
    });
  </script-ul>

</XSL:şablon>

Că pic emite unele JavaScript care aşteaptă pentru ca pagina să termin de încărcare (din cauza $(document).gata(…)) şi seturi de valoarea unui câmp ascuns numit atunci QueryFriendlyFilters la valoarea literal "gol".

Exemplu 2: Utilizarea <XSL:Dacă> pentru a verifica "mai mare",  "mai puţin", etc.

<XSL:meci de şablon "ceva =" XML:spaţiu = "conserva">

  <div id = "fdcAllFilters">
 
    <XSL:Dacă test="@Count>0">
      <span class = "fdcFilterLabel">Filtre de curent:</durata de>
    </XSL:Dacă>

    <!– mai multe lucruri se întâmplă aici. –>

</XSL:şablon>

Fragmentul de mai sus controale pentru a vedea dacă un atribut numit "Conta" a elementului "ceva" este mai mare decât zero.  XML-ul din spatele acest lucru ar fi ceva de genul:”

<ceva Count = "5" />

Exemplu 3: Repeta prin toate elementele, Interspersing jQuery apeluri.

<!– Repeta prin toate filtrele şi afişa corect  link-uri. –>
<XSL:pentru fiecare select = "UserFilter">

  <o clasa = "FilterHref" href = "javascript:mySubmitPage('RemoveUserFilter','{@ID}’)">[X]</o>

  <span class = "fdcFilterLabel"><XSL:valoare de select="@FilterValue"/></durata de>

  <script-ul de tip = "text/javascript">

    $(document).gata(funcţia(){
        <XSL:textul><![CDATA[$("#QueryFriendlyFilters").vasilica( ($("#QueryFriendlyFilters").vasilica() + " ]]></XSL:textul>\"<XSL:valoare de select="@FilterValue"/>\"<XSL:textul><![CDATA["));]]></XSL:textul>
    });

  </script-ul>

</XSL:pentru fiecare>

Fragmentul de mai sus este cea mai complexă şi poate fi mai uşor de moduri de a face acest lucru.

XML-ul din spatele acestei arata aproximativ asa:

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

Acest fragment este iterarea prin <UserFilter> noduri. 

El emite mai întâi o ancoră tag-ul care atunci când aţi făcut clic pe invocă o funcţie JavaScript, care este deja pe pagina, "mySubmitPage" şi trece în valoarea de un atribut <UserFilter> nodul numit "ID". 

Ea emite apoi unele jQuery care aşteaptă pentru ca pagina să se încarce.  JQuery care actualizează un câmp ascuns numit "QueryFriendlyFilters" prin adăugarea valorii atributului FilterValue.  Notă toate nebun <XSL:textul> şi <![CDATA[ … ]]> chestii.

Asta este, Sperăm că vă ajută!

</scop>

Aboneaza-te la blog-ul meu.

Urmaţi-mă pe Twitter, la http://www.twitter.com/pagalvin

PerformancePoint şi de eroare 33494

Unul dintre clienţii mei numit astăzi atunci când mediul lor PerformancePoint (în SharePoint 2010) stricat.  Unul dintre serverele app în fermă a fost terminate spațiu-disc.  În timp ce abordarea care, clientul uninstalled "prea mult" şi chestii PP toate oprit funcţionarea.  Diferitele părţi web ar arăta "eroare neașteptată. Eroare 33494. Detalii suplimentare au fost înregistrate pentru administrator":

image

Am uitat eroare şi nu au găsit nimic specific "eroare 33494" dar acest forum MSDN postarea a fost de ajutor: http://social.technet.microsoft.com/forums/en-us/sharepoint2010setup/thread/E1FE189D-7F89-455D-A98B-C1A12D8626AB

Am găsit ADOMD.NET aici ca o componentă în SQL Server 2008 Feature Pack: http://www.microsoft.com/downloads/en/details.aspx?FamilyId=228DE03F-3B5A-428A-923F-58A033D316E1&displaylang=en

image

(click pentru marire)

Descărca şi instala care şi a stabilit totul.

Cred că aceasta este un fel de aiurit destul de eroare, dar dacă te-a lovit, tu macar ai o opţiune.

</scop>

Aboneaza-te la blog-ul meu.

Urmaţi-mă pe Twitter, la http://www.twitter.com/pagalvin

Lists.asmx, GetListItems and Folders

Am făcut unele de cercetare pentru cineva astăzi în jurul web list.asmx serviciului furnizat ca parte din SharePoint 2010 (şi mai devreme).  Ea a fost în măsură pentru a obţine elementele de listă la folderul rădăcină (inclusiv numele subfolderelor), dar nu a putut obţine elemente în sub-pliant.  Am făcut unele privire around pe Internet şi este o chestiune de surprinzător de comune.  Încă, Nu am putut ajunge un răspuns bun la întrebarea simplă, "dacă ştiu folderul, cum a face I a lua elementele în folderul?”  Pentru a fi sincer, Nu încerc toate că greu deoarece mi-am dorit pentru a figura acest una pe propria mea pentru un timp Zâmbet.

Pentru a parametriza acest lucru, Am creat un site numit "Blogging-ul scenarii" şi o listă particularizată numit "Lista cu Sub foldere personalizate".  Apoi am creat foldere numit:

  • An 2005
  • An 2006
  • An 2007

Am adăugat câteva elemente în folderul "Anul 2006".  Aceasta este ceea ce pare ca:

image

Prietenul meu nu este scris în C# cod, dar mai degrabă folosire Java, Deci plicul SĂPUN a fost ceea ce ea într-adevăr nevoie.  Pentru a obţine că, Am scris un pic jQuery şi apoi folosite Scripcarul pentru a obţine conversaţie reale HTTP.

Aici este jQuery relevante (Am copiat codul în jos mai jos dacă doriţi să copiaţi/lipiţi):

image

Au prima cheie este de a include atât un <queryOptions> şi <QueryOptions> nod.  A doua cheie este că <Folder> nodul este un URL la care clientul are acces.

Pot exista alte modalităţi de a obţine acest lucru, dar aceasta a lucrat bine pentru mine când folosind jQuery.

Aici este plicul SĂPUN pentru cele de mai sus:

<soapenv:Plic xmlns:soapenv =’http://schemas.xmlsoap.org/SOAP/envelope/’>                
  <soapenv:Organism>
    <GetListItems xmlns =’
http://schemas.Microsoft.com/SharePoint/SOAP/’>
      <listName>Lista particularizată cu subdosarele</listName>
      <viewFields>  
        <ViewFields>
          <Numele FieldRef =' titlu’ />
          <Numele FieldRef ='EncodedAbsUrl’ />
        </ViewFields>
      </viewFields>
      <queryOptions>
        <QueryOptions>
          <Folder>
http://demoserver1/blogging-ul Scenarii/liste/particularizat lista cu Sub foldere/anul 2006</Folder>
        </QueryOptions>
      </queryOptions>
   
</GetListItems>
  </soapenv:Organism>
</soapenv:Plic>

O mulţime de exemple şi discuţii în jurul acest lucru a condus-mi să cred că tot ce am nevoie a fost <QueryOptions> şi specificaţi un nume de folder.  Pentru mine, I nevoie atât wrap-o în interiorul <queryOptions> precum şi specificaţi un URL-ul complet pentru <Folder> nod.

Iată de configurare de AJAX jQuery:

$(document).gata(funcţia() {
       var soapEnv =
           "<soapenv:Plic xmlns:soapenv =’http://schemas.xmlsoap.org/SOAP/envelope/’> \
               <soapenv:Organism> \
                    <GetListItems xmlns =’http://schemas.Microsoft.com/SharePoint/SOAP/’> \
                       <listName>Lista particularizată cu subdosarele</listName> \
                       <viewFields> \
                           <ViewFields> \
                              <Numele FieldRef =' titlu’ /> \
                              <Numele FieldRef ='EncodedAbsUrl’ /> \
                          </ViewFields> \
                       </viewFields> \
                       <queryOptions> \
                         <QueryOptions> \
                           <Folder>http://demoserver1/Blogging Scenarii/liste/particularizat lista cu Sub foldere/anul 2006</Folder> \
                         </QueryOptions> \
                       </queryOptions> \
                   </GetListItems> \
               </soapenv:Organism> \
           </soapenv:Plic>";

</scop>

Aboneaza-te la blog-ul meu.

Urmaţi-mă pe Twitter, la http://www.twitter.com/pagalvin

Lists.asmx, GetList şi "valoare nu poate fi nul”

Am descoperit astăzi că GetList() metoda în lists.asmx serviciu Web trebuie să fie numit foarte atent sau este predispus să arunce un misterios "Valoare nu poate fi null" excepţie (şi care este presupunând că puteţi obţine trecut chiar mai rău mesajul generic de eroare, "Excepţie de tip" Microsoft.SharePoint.SoapServer.SoapServerException’ a fost aruncat.")  În mod specific, Am constatat că nu pot oferi nici un fel de prefix pe metoda GetList.  Următorul fragment jQuery ilustrează punctul:

image

Dacă faci asta, serviciul web răspunde cu "Valoare nu poate fi null" ca pe acest lautar-furnizate HTTP transcriere:

<?XML version = "1.0" codificare = "utf-8"?>
  <săpun:Plic
     xmlns:săpun ="
http://schemas.xmlsoap.org/SOAP/envelope/"    
     xmlns:XSi = "
http://www.w3.org/ 2001/XMLSchema-exemplu
     xmlns:XSD ="
http://www.w3.org/ 2001/XMLSchema">

  <săpun:Organism>
    <săpun:Vina>
      <faultCode>săpun:Server</faultCode>
      <faultString>
        Excepţie de tip "Microsoft.SharePoint.SoapServer.SoapServerException’ a fost aruncat.
      </faultString>
      <detaliu>
        <errorstring xmlns ="
http://schemas.Microsoft.com/SharePoint/SOAP/">
Valoarea nu poate fi nul.
        </errorstring>
      </detaliu>
    </săpun:Vina>
  </săpun:Organism>
</săpun:Plic>

desigur, tu, probabil, nu ar adăuga că prefixul "s0" pe cont propriu, dar unele instrumente sunt predispuse să facă acest lucru (ca Eclipse).

Acest lucru este tot mai confuz / frustrant deoarece alte metode tolera prefixe.  De exemplu, The GetListCollection metoda nu minte dacă acesta este fost prefixate, chiar şi cu prostii prefixele ca "xyzzy":

image

Aceasta "valoare nu poate fi null" pare destul de comune cu lists.asmx deci sperăm că acest lucru va ajuta pe cineva afară în viitor.

</scop>

Aboneaza-te la blog-ul meu.

Urmaţi-mă pe Twitter, la http://www.twitter.com/pagalvin