Tagu arhīvi: JavaScript

Ātri un viegli: Izveidojiet SharePoint vietnes, izmantojot pārējo

Ir daudz resursus visā, kas parāda, kā to izdarīt, bet nevarēju atrast visaptverošu iet uz saiti, tāpēc šeit mēs esam.

Var izveidot SharePoint vietnē, izmantojot pārējo API.  Šeit ir pilnīgi cep piemērs:

<!--
    SiteRequestForm.html: Apkopot informāciju un veidot vietnes lietotājam.
-->

<centrs>
<tabula>
    <TR>
        <TD>Vietnes nosaukums:</TD>
        <TD><ievades tips= "text" vārds= "SiteName" ID= "SiteName" /></TD>
    </TR>
    <TR>
        <TD colspan= "% 2">
            <ievades tips= "iesniegt" ID= "CreateSiteButton" vērtība= "Izveidot vietnes" />
        </TD>
    </TR>
</tabula>
</centrs>

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

<skriptu>
var CreateSiteLogicContainer = {

    createSiteData: {
            "parametri": {
                __metadata: { "tips": "SP.WebInfoCreationInformation" },
                URL: "Paultest1",
                Nosaukums: "Paultest1",
                Apraksts: "izveidots atpūtas web, Paul!",
                Valodas: 1033,
                Web veidni: "sts",
                UseUniquePermissions: viltus
            }
    },

    createSite: funkcija () {

        jQuery.support.cors = patiess;

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

            galvenes: {
                "Akceptēt": "lietojumprogrammu/json; oData = runīgs",
                content-type": "lietojumprogrammu/json;oData = runīgs",
                "X-RequestDigest": $("#__REQUESTDIGEST").Val()
            },

            datu: JSON.stringify(CreateSiteLogicContainer.createSiteData),

            panākumi: funkcija () { brīdinājums("veiksme"); },
            kļūda: funkcija () { brīdinājums("kļūda"); }

        });
    },

    wireUpForm: funkcija () {
        $("#CreateSiteButton").noklikšķiniet uz(funkcija () {
            brīdinājums("Apmēram, lai mēģinātu izveidot vietni.");
            CreateSiteLogicContainer.createSite();
        });
    }


}

CreateSiteLogicContainer.wireUpForm();

</skriptu>

Kad veiksmīga, jūs saņemsiet paciņu JSON atbildi, kā šis:

image

Manas galvenās domas un mācība no šī iekļaut:

  • Šo pieeju izmanto jQuery.  Manā gadījumā, mana jQuery bibliotēka atrodas ".../ plug-in. "  Jūs vēlaties mainīt, norādiet uz jūsu mīļākie Alekseev atrašanās vietu.
  • Var kopēt un ielīmēt, ka viss fragments satura redaktora Web daļu lapas, un tai vajadzētu strādāt tikai naudas sodu.  Jūs vēlaties mainīt API zvanu beigu punktam un pārliecinieties, ka jūs uzmeklēt Alekseev pareizi.
  • URL ir attiecībā pret jūsu API galapunktu.  Manā gadījumā, tā ir izveidot apakšvietnes zem https://bigapplesharepoint.com
  • Jums nav nepieciešams sniegt satura garums. Dažus blog posts un MSDN dokumenta nozīmē, ka jums, bet notika man automātiski, kuru es pieņemu, veic pati $.ajax zvanu.
  • Šīs rindas ir vajadzīga, lai nerastos "aizliegtā" atbildi: "X-RequestDigest": $("#__REQUESTDIGEST").Val().  Ir arī citi veidi, kā to izdarīt, bet tas ir diezgan jauki.  Ir zaudējuši saites, blog, kas nodrošināja šo saīsni.  H/T pie jums, noslēpumainā blogger!

Good luck, un ceru, ka tas palīdz kāds.

</beigās>

undefinedAbonēt manu blogu.

Sekot mani uz čivināt pie http://www.twitter.com/pagalvin

Ātrs un vienkāršs: SharePoint atpūtas zvanīt tikai atgriež 100 Ieraksti

Esmu strādājusi valsts saskaras ar tīmekļa vietnē mana SharePoint praksē šeit New York un to izmanto daudz JavaScript un pārējie zvani Rādīt saturu.

Maģistrālēm izstrādes laikā, Vienkārši izveidot mazu kopu ar 10 vai tik rindas ar pielāgotu sarakstu un mans pārējie zvani izvilka no turienes.  Reiz es bumped līdz sarakstā ir daži simti rindas datu, lai pārbaudītu sagaidāmo pieaugumu, Es atklāju, ka man bija panākt, lai tieši 100 rindās atgriezās atpakaļ uz manu pārējie zvani.

Tas ir ļoti vienkārša lieta, lai adresi.  Manā gadījumā (un es uzskatu, vairumā gadījumu), noklusējuma pārējie zvani uz SharePoint (un iespējams, nozares standartu?) atgriešanās 100 rindas.  Atgriezties vairāk nekā noklusējuma, izmantojiet parametru $top zvanam, kā:

IEGŪT /Insights Dev/_api/web/lists/GetByTitle('MockBlog')/krājumi?$Atlasiet = ID,Nosaukums,Kategorijas/nosaukums,Blog_x0020_Author/nosaukums,DatePublished,BlogSummary&$izvērsiet = Blog_x0020_Author,Kategorijas&$filtrs =&$top = 9999

Es paņēmu 9999 Šajā gadījumā, jo es zinu, ka growth-wise, tur nebūs vairāk nekā 200 vai tik gadā rindas pievienot šim sarakstam.  Ja tas kļūst nepievilcīgs, mēs varētu ieviest dažas lapošanas pa ceļu.

</beigās>

undefinedAbonēt manu blogu.

Sekot mani uz čivināt pie http://www.twitter.com/pagalvin

Nabaga cilvēks ir kešatmiņā, JavaScript

[TL;DR versija: izmanto sīkdatnes, lai saglabātu async sarunu rezultāti; padarīt rezultāti pēdējos async aicina nekavējoties un pēc tam apstiprināt tos pēc lapas ielādes.]

Es esmu strādājusi par SharePoint iekštīkla vietnes klientu, ka līdzekļi, cita starpā, stilizētu sekundārās navigācijas, kuru izvēlnes opcijas tiek pārvaldīti regulāru veco pielāgotu sarakstu.  Ideja ir tāda, ka klients saņem, neietekmējot vai slimas ar globālās navigācijas uzdeva to kontrolēt "viņu" portāla izvēlne.

(tur ir kaut kas ārkārtīgi graujošām par pievienojot CEWP, kas norāda uz HTML failu, kas ielādē daži CSS un JS pašos pamatos mainīt gandrīz visu par vietņu uzvedība... bet tas ir citā amatā)

Šī ir diezgan vienkāršs kods:

Iekaisis vietas šeit ir tas, ka katru reizi, kad kāds pieskaras viens no vietnes lapas, šī lietotāja web pārlūkprogrammā ir sasniedzamas, lai saņemt vienumus no saraksta.  Pēc tam, kad ir pabeigta dev un pārbaude ir pierādījusi lietas ir stabilas un pabeigt, šo aicinājumu nav vajadzīga vairāk nekā 99% laika, jo reti maina izvēlni.  Tai arī dīvaini UI ietekmē, kas ir kopīgs šo drosmīgs jaunu pasauli, hiper ajaxy tīmekļa vietnes-lappuse tiek atveidota, un tikai tad izvēlnē padarīt.  Tas ir nervozs un uzmanību, manuprāt.  Un nervozs. Tik, kešatmiņā. 

Loģika ir rediģēts thusly:

  • Meklēt cookie pārlūks, kas satur izvēlnes, kā es to izlasītu pēdējās
    • Ja konstatēts, padarīt to nekavējoties.  Negaidiet, lai lapas lejuplādēšanas pabeigšanai.  (Jums ir jāpārliecinās, ka jūsu HTML stratēģiski novietoti šeit, bet tas nav grūti izdarāms).
  • Pagaidiet, līdz lappuse ir lejuplādēšanas pabeigšanai un veikt zvanu izvēlnes elementus sarakstā, izmantojot atpūtas vai lists.asmx vai kāds ielādējiet async
  • Salīdzināt to, ko es saņēmu pret cookie
    • Ja tas atbilst, apstājieties
    • Pretējā gadījumā, izmantojot jQuery, dinamiski aizpildīt ķekars, ja <Li>ir programmā <UL>
  • Izmantot CSS darīt visu formatējumu
  • Peļņa!

Daži no jums gatavojas teikt, "Hei! nav, nav īsta caching notiek šeit, jo jūs lasāt izvēlnes, tomēr katru reizi, kad.”  Un tev taisnība-es neesmu dodot serveris nekādu pārtraukumu.  Bet jo async izsaukums un notiek pēc sākotnējās lappuses HTML komerckrava pilnībā padara, to "jūtas" vairāk reaģē uz lietotāja.  Izvēlnes padara diezgan daudz kā lapa vērš.  Ja notiek izmaiņas izvēlnes, lietotājs ir pakļauts nervozitātes atkārtoti izdarīt no izvēlnes, bet viena vienīga reize.

Ir daži veidi, kā padarīt šo kešatmiņā efektīvākas un izpalīdzēt serverī vienlaikus:

  • Ielikt "sīkfailu kešatmiņa" ir derīga vismaz kārtulā 24 stundas vai kādu citu laika periodu. Kamēr nav beidzies sīkfailu, izmantojiet izvēlni sīkfailu momentuzņēmumu un nekad hit servera.

Nu... tas ir viss, kas nāk prātā tieši tagad :). 

Ja kāds ir jebkurš gudrs idejas šeit labprāt vēlētos zināt tos.

Un visbeidzot – šo tehniku var izmantot arī citas lietas.  Šī klienta lapa ir vairākas lietas, datu vadītas dažādās lappusēs, daudzi no viņiem mainās samērā reti (piemēram, reizi nedēļā vai reizi mēnesī).  Ja jums mērķis konkrētas jomas funkcionalitāti, jūs varat dot vairāk atsaucīgāku UI, velkot saturu no vietējo Sīkfails uzglabāt un padarot nekavējoties.  Tā uzskata ātrāk lietotājs, pat tad, ja nav krājat naudu serverim jebkurā cikliem.  Jums var saglabāt serverī cikli, izlemjot par dažiem nosacījumiem un trigeriem par spēkā neesošiem šī vietējā sīkfailu kešatmiņa.  Tas ir visas situācijas un artsy stuff, un tiešām visvairāk jautru :). 

</beigās>

undefinedAbonēt manu blogu.

Sekot mani uz čivināt pie http://www.twitter.com/pagalvin