Etikedaj Arkivoj: JavaScript

Rapide kaj Facile: Krei SharePoint Ejo Uzanta RIPOZON

Estas multaj rimedoj #?irka? tiu rezulto kiel faras #tio ?i, Sed mi couldn?? Trovas ampleksan iri-ligi, Tiel #?i tie ni estas.

Vi povas krei SharePoint ejo uzanta la RIPOZAN API.  #?I tie?? plene bakita ekzemplon:

<!--
    SiteRequestForm.Html: Kolekti informon kaj krei ejon por la uzanto.
-->

<Centro>
<Tablo>
    <Tr>
        <Td>Eja Nomo:</Td>
        <Td><Enigo Tipo="Teksto" Nomo="SiteName" Identigaĵo="SiteName" /></Td>
    </Tr>
    <Tr>
        <Td Colspan="2">
            <Enigo Tipo="#Submeti?i" Identigaĵo="CreateSiteButton" Valoro="Krei la Ejon" />
        </Td>
    </Tr>
</Tablo>
</Centro>

<Skribo Src="../Kromsoftvaroj/jquery-1.11.0.Min.Js"></Skribo>

<Skribo>
Var CreateSiteLogicContainer = {

    CreateSiteData: {
            "Parametroj": {
                __Metadata: { "Tipo": "SP.WebInfoCreationInformation" },
                Url: "Paultest1",
                Titolo: "Paultest1",
                Priskribo: "Ripozo-kreita #aranea?o de Paul!",
                Lingvo: 1033,
                WebTemplate: "Sts",
                UseUniquePermissions: Falsa
            }
    },

    CreateSite: Funkcio () {

        JQuery.Subteno.Cors = Vera;

        CreateSiteLogicContainer.CreateSiteData.Parametroj.Url = $("#SiteName").Val();
        
        $.Ajax({
            Url: "Https://Bigapplesharepoint.Sharepoint.Com/NBAIADev/_api/#aranea?o/webinfos/aldonas",
            Metodo: "#PO?TO",

            Titoloj: {
                "Akcepti": "Apliko/json; Odata=verbose",
                "Kontenta-tipo": "Apliko/json;Odata=verbose",
                "X-RequestDigest": $("#__REQUESTDIGEST").Val()
            },

            Datumoj: JSON.Stringify(CreateSiteLogicContainer.CreateSiteData),

            Sukceso: Funkcio () { Atentigo("Sukceso"); },
            Eraro: Funkcio () { Atentigo("Eraro"); }

        });
    },

    WireUpForm: Funkcio () {
        $("#CreateSiteButton").Klako(Funkcio () {
            Atentigo("Proksimume provi kaj krei la ejon.");
            CreateSiteLogicContainer.CreateSite();
        });
    }


}

CreateSiteLogicContainer.WireUpForm();

</Skribo>

Kiam sukcesa, Vi akiras JSONan saketon en respondo tiel:

image

miaj kernaj pensoj kaj lernadoj de #tio ?i inkluzivas:

  • #?I tiu #alproksimi?o uzoj jQuery.  En mia kazo, Mia jQuery biblioteko estas #trovi?i en ??./Kromsoftvaroj.?  Vi??L deziras #?an?i tion indiki al via preferata JQa loko.
  • Vi povas kopii kaj almeti tiun tutan ereton en Kontenta Redaktora #Aranea?o Parto sur #pa?o kaj ?i devus labori nuran monpunon.  Vi??L deziras #?an?i la finan punkton de la APIa voko kaj faro certe vi referencas JQ #?uste.
  • La URL estas relativa al via API?? Endpoint.  En mia kazo, ?i?? Kreanta sub-ejoj sub https://bigapplesharepoint.com
  • Vi surmetas?? Bezono provizi kontentan-longeco. Kelkaj blogaj #po?to kaj MSDNa dokumento implicas ke vi fari, Sed okazita por mi #a?tomate, Kiu mi supozas estas estanta pritraktita de la $.Ajax vokas ?in mem.
  • #?I tiu linio estas postulita por eviti ??Orbidden?? Respondo: "X-RequestDigest": $("#__REQUESTDIGEST").Val().  Estas aliaj vojoj fari ?in, Sed #tio ?i estas #sufi?e bela.  Mi perdis la ligon al blogo kiu provizis #?i tiu mallongirejon.  H/T al vi, Mistera bloganto!

Bona fortuno kaj esperi #tio ?i helpas iun ekstere.

</Fino>

undefinedAboni al mia blogo.

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

Rapide kaj Simpla: SharePoint RIPOZO Vokas Nurajn Revenojn 100 Rekordoj

I??E estita laboranta sur publika #tega?o retejo por mia SharePoint praktiko #?i tie je Nov-Jorko Kaj ?i uzas multa JavaScript kaj RIPOZAJ vokoj montri enhavon.

Dum #?eftendenca evoluado, Mi kreas malgrandan dataset kun nura 10 #A? do disputoj en #la?menda listo kaj mia RIPOZO vokas #?iu tirita de tie.  Unufoje mi ekfrapis supre la liston havi kelkaj cent disputoj de datumo elprovi por anticipita kreskon, Mi trovis ke mi estis akiranta #?uste 100 Disputoj revenis reen sur miaj RIPOZAJ vokoj.

#Tio ?i estas tre simpla afero trakti.  En mia kazo (Kaj mi kredas en plejpartoj de kazoj), La #defa?lta RIPOZAJ vokoj al SharePoint (Kaj eble kiel industria normo?) Reveno 100 Disputoj.  Reveni pli da ol la nerepago, Uzi la $pintan parametron sur via voko, Kiel je:

GETaj /Enrigardoj Dev/_api/#aranea?o/listoj/GetByTitle(‘MockBlog')/Eroj?$Elektita=#IDENTIGA?O,Titolo,Kategoria/Titolo,Blogo_x0020_#A?toro/Titolo,DatePublished,BlogSummary&$Vastigi=Blogon_x0020_#A?toro,Kategorioj&$Filtrilo=&$#?Apeli=9999

Mi elektis 9999 En #?i tiu kazo pro tio ke mi scias ke kreskiga-#sa?a, Tie gajnita?? Esti pli da ol 200 #A? do disputoj aldonis #?i tiu liston en jaro.  Se ?i #fari?i malgracia, Ni povas efektivigi kelkaj paging malsupren la vojo.

</Fino>

undefinedAboni al mia blogo.

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

#Malri?a Viro?? Caching en JavaScript

[TL;D-ra versio: Uzaj kuketoj enteni la rezultojn de async vokoj; Fari la rezultojn de pasinta async vokoj tuj kaj tiam konfirmas ilin post #pa?o-#?ar?o.]

I??E estita laboranta sur SharePoint intrareta ejo por kliento ke #?efa?o, Inter aliaj aferoj, stylized duaranga navigado kies menuaj elektoj estas administrita tra regula malnova #la?menda listo.  La ideo estas ke la kliento akiras kontroli ??Heredanto?? Ejo?? Menuo sen influanta #a? estanta influita de la tutmonda navigado elmetis de ?I.

(Estas io nekredeble renversemulo pri aldonanta CEWP kiu indikas al HTMLa dosiero kiu #?ar?i #kelka CSS kaj JS fundamente #?an?i #preska? #?io pri ejo?? Konduto?? Sed tio?? Por alia #po?to)

La kodo por #?i tiu #sufi?e simpla:

La dolora punkto #?i tie estas ke #?iu tempo iu ajn frapas unu el la ejo?? #Pa?o, KE uzanto?? #Aranea?o retumilo estas elatinganta akiri erojn de la listo.  Unufoje dev estas kompleta kaj elprovado pruvis aferojn esti stabila kaj kompleta, #?I tiu voko estas nenecesa pli ol 99% De la tempo ekde la menuo malofte #?an?o.  ?i #anka? havas strangan UIan efikon kiu estas ofta en #?i tiu #kura?a nova mondo de hyper-ajaxy retejoj ?? La #pa?o faras kaj nur tiam faras la menuon faras.  ?i?? Maltrankvila kaj distranta en mia vido.  Kaj maltrankvila. Tiel, Caching. 

Mi modifis la logikon thusly:

  • #Ser?i kuketon en la retumilo kiu enhavas la menuon kiel mi #da?ri legita ?in
    • Se trovita, Fari ?in tuj.  Don?? Atendo por la #pa?o fini #?ar?ado.  (Vi devas fari certe vian HTML estas strategie lokita #?i tie, Sed ?i?? Ne malfacile fari).
  • Atendo por la #pa?o fini #?ar?ado kaj fari async voko #?ar?i supre menuajn erojn de listo uzanta RIPOZON #a? listoj.asmx #a? kio ajn
  • Kompari kion mi akiris #kontra? la kuketo
    • Se ?i egalas, HALTIGO
    • Alie, Uzanta jQuery, Dynamically #lo?i aron se <Li>?? En <Ul>
  • Uza CSS fari #?iu la aspektigado
  • Profito!

Kelkaj de vi estas iranta diri, ??Ey! Tie?? Neniu vera caching #da?rigi #?i tie ekde vi??E leganta la menuon #?iuokaze #?Iu ununura tempo.”  Kaj vi??E rajto ?? I?? Ne donanta la servilo ajna speco de #rompi?o.  Sed #?ar la voko estas async kaj okazas post la #pa?o?? Komenca HTML payload plene faras, ?i ??Angiloj?? Pli da respondema al la uzanto.  La menuo faras #sufi?e tre kiel la #pa?o tiroj.  Se la menuo okazas al la #?an?o, La uzanto estas submetita al maltrankvila re-tiro de la menuo, Sed nur ke unu fojo.

Estas kelkaj vojoj fari #?i tiu caching pli efika kaj helpo ekstere la servilo samtempe:

  • Metita en regulo ke la ??Ookie konservejo?? Estas valida por minimumo de 24 Horoj #a? kelkaj alia timeframe. Kiel longe kiel estas ne #eksvalidi?i kuketon, Uzi la kuketon?? Menua momentfoto kaj neniam frapita la servilon.

Puto ?? Tio?? #?Iu kiu venas atenti #?uste nun :). 

Se iu ajn havas ajnajn lertajn ideojn #?i tie I?? Amo scii ilin.

Kaj fine ?? #?I tiu tekniko povas esti uzita por alia #a?o.  #?I tiu kliento?? #Pa?o havas nombron de datumo-veturita aferojn sur diversaj #pa?o, Multaj de ili #?an?i relative malofte (#?Ati unufoje semajnon #a? unufoje monato).  Se vi celas specifajn areojn de funkcio, Vi povas doni pli respondema UI de tiranta enhavon de la loka kuketa vendejo kaj faranta tuj.  ?i sentas pli rapidan al la uzanto #e? se vi??E ne savanta la servilon ajnaj cikloj.  Vi Ujo Savi la servilajn ciklojn de decidanta sur kelkaj #kondi?o kaj ellasiloj nuligi #?i tiu lokan kuketan konservejon.  Tio?? #?Iuj situational kaj artsy #a?o kaj vere la plej amuza :). 

</Fino>

undefinedAboni al mia blogo.

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