Tag Archives: Ohjelman

Nopea ja helppo: Luoda SharePoint-sivuston käyttäen REST

On olemassa paljon rahoitusta, jotka osoittavat, miten tämä, mutta en löytänyt kattavaa mennä linkki, Joten tässä me olemme.

Voit luoda SharePoint-sivustoon käyttämällä REST API.  Tässä on täysin paistetaan esimerkki:

<!--
    SiteRequestForm.html: Kerätä tietoa ja luoda sivuston käyttäjälle.
-->

<Center>
<taulukko>
    <TR>
        <TD>Sivustonimi:</TD>
        <TD><Input tyyppi= "teksti" Nimi"SiteName =" tunnus"SiteName =" /></TD>
    </TR>
    <TR>
        <TD colspan"2 =">
            <Input tyyppi= "Lähetä" tunnus= "CreateSiteButton" arvo= "Luo sivusto" />
        </TD>
    </TR>
</taulukko>
</Center>

<Script src="../Plugins/jQuery-1.11.0.min.js"></Script>

<Script>
var CreateSiteLogicContainer = {

    createSiteData: {
            "parametrit": {
                __metadata: { "tyyppi": "SP.WebInfoCreationInformation" },
                URL-osoite: "Paultest1",
                Otsikko: "Paultest1",
                Kuvaus: "muun luomaa web Paul!",
                Kieli: 1033,
                WebTemplate: "s",
                UseUniquePermissions: False
            }
    },

    createSite: funktio () {

        jQuery.support.cors = tosi;

        CreateSiteLogicContainer.createSiteData.parameters.Url = $("#SiteName").Val();
        
        $.Ajax({
            URL-osoite: "https://bigapplesharepoint.sharepoint.com/NBAIADev/_api/web/webinfos/add",
            menetelmä: "POST",

            otsikot: {
                "hyväksy": "application/json; OData = verbose",
                content-type": "application/json;OData = verbose",
                "X-RequestDigest": $("#__REQUESTDIGEST").Val()
            },

            tiedot: JSON.stringify(CreateSiteLogicContainer.createSiteData),

            menestys: funktio () { hälytys("menestys"); },
            Virhe: funktio () { hälytys("virhe"); }

        });
    },

    wireUpForm: funktio () {
        $("#CreateSiteButton").Valitse(funktio () {
            hälytys("Aikeissa kokeilla ja luoda sivuston.");
            CreateSiteLogicContainer.createSite();
        });
    }


}

CreateSiteLogicContainer.wireUpForm();

</Script>

Kun onnistunut, Saat JSON paketin vastausta tältä:

image

Keskeisiä ajatuksia ja oppimistaan tällä:

  • Tämä lähestymistapa käyttää jQuery.  Minun tapauksessani, jQuery Kirjasto sijaitsee ".../ plugins. "  Haluat muuttaa hakea suosikki JQ sijainnin.
  • Kopioi ja liitä että koko pätkä sivun sisällön muokkaus-Web-osassa ja se toimii yhtä hyvin.  Haluat muuttaa API-kutsu päätepiste ja varmista, että viittaat JQ oikein.
  • Paikannin on suhteellinen API: n päätepiste.  Minun tapauksessani, se luo osa-sivustoja alla https://bigapplesharepoint.com
  • Sinun ei tarvitse antaa sisällön pituus. Blogiviestit ja MSDN asiakirja edellyttää, että teet, mutta tapahtui minulle automaattisesti, jonka oletan on hoitaa $.ajax puhelu itsessään.
  • Tämä rivi on välttämätöntä välttämiseksi "kielletty" vastaus: "X-RequestDigest": $("#__REQUESTDIGEST").Val().  On olemassa muita tapoja tehdä se, mutta tämä on ihan kiva.  Olen menettänyt linkki blogiin, että jos tämä pikakuvake.  Hännikäinen sinulle, salaperäinen blogger!

Onnea ja toivottavasti tämä auttaa jotakuta.

</loppu>

undefinedTilaa blogiin.

Noudata minut viserrys http://www.twitter.com/pagalvin

Nopea ja yksinkertainen: SharePoint loput soittaa vain palauttaa 100 Tietueet

Olen työskennellyt julkisen edessä web-sivuston SharePoint käytäntö täällä New York ja se käyttää paljon JavaScript ja loput vaatii Näytä sisältö.

Kaukoliikenteen kehityksen aikana, Luon pieni dataset on vain 10 tai niin rivien mukautetun luettelon ja loput puheluni sieltä.  Kerran bumped luettelo on muutamia satoja rivejä tiedot testata ennakoitu kasvu, Huomasin, että olin saada tarkalleen 100 palauttaa taaksepäin model after minun muut puhelut.

Tämä on hyvin yksinkertainen asia käsitellä.  Minun tapauksessani (ja mielestäni useimmiten), oletuksena loput vaatii SharePoint (ja mahdollisesti alan standardi?) paluu 100 rivit.  Palata enemmän kuin oletus, Käytä $top-parametria puhelu, kuten:

SAADA /Insights Dev/_api/web/lists/GetByTitle("MockBlog")/kohteita?$Valitse = ID,Otsikko,Luokat/otsikko,Blog_x0020_Author/otsikko,DatePublished,BlogSummary&$Laajenna = Blog_x0020_Author,Luokat&$suodatin =&$Top = 9999

Otin 9999 Tässä tapauksessa koska tiedän, että growth-wise, ei tule yli 200 tai niin rivejä lisätään luetteloon vuodessa.  Jos käy kömpelö, voimme toteuttaa joitakin henkilöhaku tiellä.

</loppu>

undefinedTilaa blogiin.

Noudata minut viserrys http://www.twitter.com/pagalvin

Köyhän on välimuistin ohjelman

[TL;DR versio: käytä evästeitä vanhempi puhelut tulokset; tekevät viime vanhempi puhelut tulokset välittömästi ja vahvistaa niitä jälkeen sivun lataus.]

Olen työskennellyt SharePoint intranet-sivustossa asiakas että ominaisuudet, muun muassa, tyylitelty toissijaiseen selailuun jonka valikkovaihtoehdot hallinnoidaan kautta säännöllisesti vanha mukautetun luettelon.  Ajatuksena on, että asiakas saa hallita "niiden" sivuston valikko vaikuttamatta tai sairastumatta maailmanlaajuisen satelliittinavigointijärjestelmän ojensi sen.

(on jotain uskomattoman kumouksellista lisäämisestä CEWP, joka viittaa HTML-tiedosto joka lataa CSS ja JS perusteellisesti lähes kaikki sivuston käytös... mutta se on toiseen virkaan)

Melko yksinkertainen koodi:

Kipeä paikalla täällä on aina joku osuu sivuston sivut, käyttäjän selain ulottuu saada kohteita luettelosta.  Kun dev on valmis ja testaus on osoittanut asiat on vakaa ja täydellinen, Tämä kutsu on tarpeetonta yli 99% aikaa, koska valikko harvoin muuttuu.  On myös outo UI vaikuttaa, joka on yleinen uudessa uljaassa maailmassa hyper ajaxy verkkosivujen – kohdistuksessa ja vasta sitten valikko tehdä.  Se on hermostunut ja häiritseviä mielestäni.  Ja hermostuneisuus. Niin, välimuistiin. 

Olen muuttanut logiikan thusly:

  • Etsi evästeen selaimessa, joka sisältää valikon olen viimeksi lukenut
    • Jos löytyy, tehdä välittömästi.  Älä odota hotellipoika jotta lopettaa lastaus.  (Haluat Varmista, että HTML on strategisesti sijoitettu tähän, mutta se ei ole vaikea tehdä).
  • Odota, sivu latautunut ja tehdä asynkroninen soittaa lataamaan valikkovaihtoehtojen luettelosta, käyttäen loput tai lists.asmx tai mitä tahansa
  • Vertaa, mitä olen saanut vastaan evästeen
    • Jos se vastaa, Seis
    • Muuten, käyttäen jQuery, dynaamisesti täyttää joukko jos <Li>on tässä <UL>
  • Käytä CSS tehdä kaikki muotoilut
  • Voitto!

Jotkut teistä tulevat sanomaan, "Hei! ei ole todellista caching menossa täällä, kun luet menu joka tapauksessa joka kerta, kun.”  Ja olet oikeassa-en anna palvelimen kaikenlaista tauko.  Mutta koska puhelu asynkronisen ja tapahtuu jälkeen sivun alkuperäinen HTML payload täysin tekee, "tuntuu" enemmän altis jotta käyttäjä.  Valikko tekee melko sivun lähestyessä.  Jos valikon tapahtuu muutos, käyttäjä joutuu hermostunut uudelleen piirtää valikko, mutta vain tämän yhden kerran.

Olemassa joitakin keinoja tehostaa tämä välimuisti ja auttaa palvelimelle samaan aikaan:

  • Sisältö "cookie cache" on voimassa vähintään 24 tuntia tai muut aikataulua. Niin kauan kuin ei ole vanhentunut eväste, käyttää cookie's menu tilannevedosta ja koskaan osuma palvelimen.

No... se on kaikki mitä tulee mieleen juuri nyt :). 

Jos joku on mitään viisaita ajatuksia tästä olisi kiva tietää ne.

Ja lopuksi-tätä tekniikkaa voidaan käyttää muita juttuja.  Tämän asiakkaan sivulla on monia dataan perustuva asioita eri sivuille, Monet niistä muuttuvat melko harvoin (kerran viikossa tai kerran kuukaudessa).  Jos laadit tietyillä aloilla toiminnallisuutta, Voit antaa herkemmin UI vetämällä sisältöä paikallisen evästeen Storesta ja tekee välittömästi.  Tuntuu nopeammin käyttäjälle, vaikka ei tallennetaan palvelimen mitään sykliä.  Voit voi Tallenna palvelimen sykliä päättäessään joitakin edellytyksiä ja laukaisee mitätöidä paikallisen evästeen välimuistin.  Thats kaikki tilannekohtaista ja muka juttuja ja todella hauskaa :). 

</loppu>

undefinedTilaa blogiin.

Noudata minut viserrys http://www.twitter.com/pagalvin