Category Archives: SharePoint Online

Gonosz izgalmas bejelentés

Hirdetményeket nem igazán az én világom, de ez alkalommal, Én valóban és igazán izgatott a csak indított szlalom Big Apple SharePoint-webhelyen. 

Szlalom Consulting dolgozik, és kezelheti a portálok & Együttműködés a gyakorlatban.  A Big Apple telek "" oldalamon az én gyakorlatban itt, New Yorkban.  Régóta szerettem volna egy ilyen. Biztos vagyok benne, hogy a sok SP pro kívánta valami hasonlót.  Hányszor van nézett a saját cég nyilvános helyen, vagy egy-ból vásárlók, és látta, őket épület ez ki, és csak tudta, és azzal a kívánsággal, hogy ők építenek, SP?  Mindannyian tudjuk, hogy SP nagyon jó ez a fajta dolog, de ez nem nagyon gyakori. 

Jól, a világ, csak jobb számomra-végül igazított SP Online igazán olcsó, A jobb csapat, és elég idő, hogy valójában nem is volt.

Volt egy csodálatos utazás, hogy a dob és néhány megosztott ott a helyszínen, és.

Olvasni róla itt, és ha érdekel a részleteket, mögötte, Én több mint boldog beszélni róla.

Itt van a hivatalos bejelentés link: http://www.bigapplesharepoint.com/pages/View-An-Insight.aspx?BlogID=82 #O365

</vége>

kézikönyv: QUnit.js és Blanket.js egység vizsgálat és teszt lefedettség beállítása egy iroda 365 SharePoint App

Intro

Már vizsgálja egység tesztelése, és a teszt lefedettség a JavaScript, mint én dolgozik-ra egy új SharePoint app SharePoint online, az irodában 365 Suite.  A nyilvánvaló kutatási út vezetett engem Qunit.js és azután, hogy jobb, a Blanket.js.

QUnit hadd beállítása unit tesztek, és csoportosítsa őket modulok.  A modul csak egy egyszerű út-hoz szervez kapcsolódó vizsgálatok. (Nem vagyok benne biztos, én használ ez a tervezettnek, de ez működik nekem eddig eddig van meghatározott kis csoportja).

Blanket.js integrálja, a Qunit, és megmutatja nekem a tényleges sornyi JavaScript-és ami még fontosabb – voltak nem ténylegesen végrehajtott vizsgálatok futtatása során.  Ez az "fedezet"-vonalak, hogy végre tartoznak a vizsgálat míg mások nem.

Jó teszt esetek felállítása és lefedettsége közötti, Mi csökkentheti annak kockázatát, hogy a kód birtokol rejtett hibák.  Jó idő.

Qunit

Feltételezve, hogy a Visual Studio projekt beállítása, Töltse le a JavaScript csomag http://qunitjs.com.  A JavaScript és a CSS megfelelő hozzáadása a megoldáshoz.  Az enyém úgy néz ki mint ez:

image

Ábra 1

Mint te tud lát, Voltam használ 1.13.0 abban az időben ezt a blogbejegyzést írtam. Ne felejtsd el letölteni, és a CSS-fájl hozzáadása.

Hogy az útból, következő lépés, hogy hozzon létre valamilyen teszt felszerszámoz és hivatkozás a Qunit bit.  Én vizsgálat egy csomó funkciók egy kézírás reszelő nevezett "QuizUtil.js", ezért hoztam létre egy HTML-lapot, az úgynevezett "QuizUtil_test.html", mint mutatott-ban:

image Ábra 2

Itt van a kód:

<!DOCTYPE HTML>
<HTML xmlns"http =://www.w3.org/ 1999/xhtml">
<fej>
    <cím>QuizUtil vizsgálat Qunit</cím>
    <Link rel= "stylesheet" href="../CSS/qunit-1.13.0.css" />
    <parancsfájl típus= text/javascript"" src="QuizUtil.js" adatok-fedél></parancsfájl>
    <a parancsfájl típus ="text/javascript" src ="qunit-1.13.0.js"></parancsfájl>
    <a parancsfájl típus ="text/javascript" src ="blanket.min.js"></parancsfájl>

    <parancsfájl>
        modul("getIDFromLookup");
        teszt("QuizUtil getIDFromLookupField", függvény () {
            var goodValue = "1;#Paul Galvin";

            egyenlő(getIDFromLookupField(goodValue) + 1, 2), "Azonosítója [" + goodValue + "] + 1 kell 2";
            egyenlő(getIDFromLookupField(nem definiált), nem definiált, "Definiálatlan bemeneti argumentum vissza undefined eredménye.");
            egyenlő(getIDFromLookupField(""), nem definiált, "Üres bemeneti argumentum kell nem definiált értéket adnak vissza.");
            egyenlő(getIDFromLookupField("gobbledigood3-thq;dkvn ada;skfja sdjfbvubvqrubqer0873407t534piutheqw;vn"), nem definiált,"Kell mindig vissza egy eredmény kabrió egy egész");
            egyenlő(getIDFromLookupField("2;#más személy"), "2", "Ellenőrzése [2;#más személy].");
            egyenlő(getIDFromLookupField("9834524;#hosszú érték"), "9834524", "Nagy érték teszt.");
            notEqual(getIDFromLookupField("5;#bárki, aki", 6), 6, "-A notEqual vizsgálat (5 nincs egyenlő 6 Ez a minta: [5;#bárki, aki]");

        });

        modul("htmlEscape");
        teszt("QuizUtil htmlEscape()", függvény () {
            egyenlő(htmlEscape("<"), "&lt;", "Menekülés a kevesebb, mint üzemeltető ('<')");
            egyenlő(htmlEscape("<div class =  "someclass">Néhány szöveg</Div>"), "&lt;div class =&quot;someclass&quot;&gt;Néhány szöveg&lt;/Div&gt;", "Bonyolultabb teszt karakterláncot.");
        });

        modul("getDateAsCaml");
        teszt("QuizUtil getDateAsCaml()", függvény () {
            egyenlő(getDateAsCaml(új Dátum("12/31/2013")), "2013-12-31T:00:00:00", "Vizsgálati fixen kódolt dátuma: [12/31/2013]");
            egyenlő(getDateAsCaml(új Dátum("01/05/2014")), "2014-01-05T:00:00:00", "Vizsgálati fixen kódolt dátuma: [01/05/2014]");
            egyenlő(getDateAsCaml(új Dátum("01/31/2014")), "2014-01-31T:00:00:00", "Vizsgálati fixen kódolt dátuma: [01/31/2014]");
            egyenlő(getTodayAsCaml(), getDateAsCaml(új Dátum()), "getTodayAsCaml() kell egyenlő getDateAsCaml(új dátum())");
            egyenlő(getDateAsCaml("képtelenség-érték"), nem definiált, "Próbálj nonszensz érték dátuma.");
            egyenlő(getDateAsCaml(nem definiált), nem definiált, "Próbálj meg időpontjában a [nem definiált] dátum.");
        });

        modul("getParameterByName");
        teszt("QuizUtil getParameterByName (a lekérdezési karakterláncban)", függvény () {
            egyenlő(getParameterByName(nem definiált), nem definiált, "Próbálj meg nem definiált paramétert kell vissza undefined.");
            egyenlő(getParameterByName("nem létezik"), nem definiált, "Megpróbál-hoz kap a paraméter értékét, ha tudjuk, hogy a paraméter nem létezik.");

        });

        modul("Cookie-k");
        teszt("QuizUtil különböző cookie-funkciók.", függvény () {
            egyenlő(setCookie("teszt", "1", -1), getCookieValue("teszt"), "Kap egy cookie-t be kell dolgozni.");
            egyenlő(setCookie("anycookie", "1", -1), igaz, "Beállítás érvényes főzés vissza"igaz".");
            egyenlő(setCookie("őrült cookie-név !@#$%"%\^&*(()?/><.,", "1", -1), igaz, "Egy rossz cookie-név beállítást vissza kell"false".");
            egyenlő(setCookie(nem definiált, "1", -1), nem definiált, "Tompított meghatározatlan, mint a cookie-név.");
            egyenlő(getCookieValue("nem létezik"), "", "Cookie nem létezik vizsgálati.");
        });

    </parancsfájl>
</fej>
<szerv>
    <Div azonosító= "qunit"></Div>
    <Div azonosító= "qunit-kellék"></Div>

</szerv>
</HTML>

Van néhány dolog történik itt:

  1. Hivatkozva az én-m kód (QuizUtil.js)
  2. Hivatkozó Qunity.js
  3. Némely elemek meghatározása (getIDFromLookup, A cookie-k, és mások)
  4. Elhelyezése a <Div> akinek azonosítás "qunit".

Majd, Csak húzza, fel ezt az oldalt és Ön kap valamit, mint ez:

image

Ábra 3

Ha megnézed, a tetején, van néhány lehetőség, melyek közül kettő is érdekes:

  • Hide teszt: Elég nyilvánvaló.  Segíthet a szem csak látni a problémás területek, és nem sok rendetlenséget teremt.
  • Modul: (legördülő): Ez kiszűri a vizsgálatok csak azok a csoportok, teszttípusokat le.

Mivel a vizsgálatokat maguk – néhány megjegyzést:

  • Magától értetődik, hogy meg kell írni a kódot, hogy tesztelhető az első helyen.  Az eszközzel segíteni érvényesíteni a fegyelem. Például, Volt egy úgynevezett "getTodayAsCaml funkció()”.  Ez nem nagyon tesztelhető, mivel nincs bemeneti argumentum tart és kipróbálni, hogy az egyenlőség, azt kell, hogy folyamatosan frissíti a teszt-kódot, hogy az tükrözze az aktuális dátumot.  Én refactored, összeadás egy adat bemeneti paramétert, majd az aktuális dátumot, ha akarom, hogy mai CAML formátumban elhaladtak.
  • Qunit keretében dokumentumokat a saját vizsgálatok, és úgy tűnik, elég erős.  Tehetünk, egyszerű dolgok, mint a tesztelés az egyenlőséget, és is birtokol támogat részére ajax style hívások (mind a "valódi", vagy a csúfolt segítségével a kedvenc mocker).
  • Megy keresztül a folyamat is arra kényszerít, hogy gondolja végig, hogy edge esetek-mi történik a "meghatározatlan", vagy null átment egy függvény.  Ez teszi halott egyszerű teszt forgatókönyvekben ki.  Jó dolog.

Blanket.js lefedettség

Blanket.js kiegészíti Qunit nyomon követése a tényleges sornyi kódot, ami fut a vizsgálat során.  Azt integrálja jobb Qunit még akkor is ha-a ' egy egész külön app, játszik szépen-ez igazán néz ki, mint egy varrás nélküli alkalmazás.

Ez a blanket.js akcióban:

image Ábra 4

image

Ábra 5

(Valójában van, hogy kattintson a "Engedélyezi a lefedettség" jelölőnégyzetre, a tetején [ábra 3] hogy ezt a lehetőséget.)

A kijelölt vonalak ábrán 5 nem hajtottak akármi-ból az én-m teszt, így kell, hogy dolgozzon ki egy teszt, hogy okoz számukra, hogy végre, ha azt akarom, hogy teljes lefedettség.

Blanket.js dolgozik, az alábbi lépéseket kap:

  1. Letölt ez-ból http://blanketjs.org/.
  2. Hozzáadása a projekthez
  3. Frissítse tesztoldalát hám (Az én esetemben QuizUtil_test.html) az alábbiak szerint:
    1. Hivatkozás a kód
    2. Díszíteni a <parancsfájl> referencia, mint ez:
    <parancsfájl típus= text/javascript"" src="QuizUtil.js" adatok-fedél></parancsfájl>

Blanket.js felveszi a "adatok-cover" attribútum, és nem a mágikus.  Ez akaszt-ba Qunit, frissíti a felhasználói felület, hogy "A lefedettség engedélyezése" lehetőséget, és voál!

Összefoglaló (TL; DR)

Használ Qunit-hoz ír a teszt esetek.

  • Letölt ez
  • Hozzáadása a projekthez
  • Írjon egy teszt felszerszámoz oldalon
  • Hozzon létre a vizsgálatok
    • Refactor, néhány, a kódot, hogy tesztelhető
    • Kreatív!  Gondolom, az őrült, lehetséges forgatókönyvek és a vizsgálati őket egyébként.

Lefedettség biztosítása blanket.js segítségével

  • Győződjön meg róla, Qunit dolgozó
  • Töltse le a blanket.js, és hozzáadása a projekthez
  • Add hozzá a tesztoldal hám:
    • Blanket.js hozzáadása
    • Adjunk hozzá egy "adat-cover" attribútumot a <parancsfájl> címke
  • Fuss a Qunit-teszt.

Soha nem tett akármi-ból ez előtt, és volt néhány kezdetleges dolog, egy maroknyi órát dolgozik. 

Boldog tesztelés!

</vége>

undefinedSubscribe to my blog.

Kövesse nekem Twitter http://www.twitter.com/pagalvin

BPOS 2010 és a "valódi bővítése”

Olvastam az egyik Ezek a szép BPOS általános bla-hasonló cikkek (A Microsoft exchange- és SharePoint a felhőben) és szerencsére waded keresztül, hogy a végén:

Egyéb rövid távon teljesítések szempontjából, Mikroszkóp kötelezi számára BPOS v.Next natív PowerShell parancsfájl keresztül egy PowerShell végpont kiépítése a PowerShell változat 2. Hitelesítés az Online azonosítók útján fogják megvalósítani, az egyetlen megbízólevél lét képes-hoz használható PowerShell mind a portál.Keane visszhangzott az üzenet más Microsoft vezetőit volna már hangot a TechEd ezen a héten: Felhő képességek, idővel, térképen  Mi az rendelkezésre álló intézményi felülbírálja válik. Jelenleg, éppen az ellenkezője igaz, és a Microsoft Online services kínál a szoftver megfelelői minden termék elérhető funkciók egy részét.

Az elképzelés, hogy a felhő akarat beszerez több tulajdonsággal rendelkeznek, mint a helyi ez új nekem. Kíváncsi vagyok, mennyire igaz hogy lesz a végén.  Úgy érzi, counterintuitive számomra.  Teljesen kap az ötlet, hogy sok vállalat cucc költözik a felhő (elindul a felhő, vagy) de általában gondolni, azért teszik, mert a pro (könnyebb admin, SLA-k, stb) messze meghaladják a hátrányokat (csökkentett). 

Im ' birtoklás egy kicsi darab-ból egy nehéz idő feltételezhető, hogy felhő kínálata meghaladja a prem képességek.  Több bérlő nehéz, és úgy tűnik, mintha azt kell erő kompromisszumok jó SLA és nyugalom-ból használ...

Én valószínűleg enni a szavaimat ezen.  Emlékszem, azt gondoltam, hogy senki sem tudna esetleg több mint 650 MB-ból adat, és ezért, a CD-t soha nem akartam javítani.

</vége>

Subscribe to my blog.

Kövesse nekem Twitter http://www.twitter.com/pagalvin

Az InfoPath és a SharePoint Online

Lehet, hogy az utolsó, aki ezt megvalósítani, de a SharePoint Online (gyakran hallani, az emberek azt mondják, ez egy megdicsőült WSS) támogatja az InfoPath Forms Services.  Ez elég erős cucc, különösen figyelembe véve, hogy IP FS MOSS vállalati funkció és BPOS olyasmi, mint $1.99/ month a 10,000 a felhasználók.  Talán-a ' egy kicsit több, mint.

Így, A SharePoint Online ellentmond egyszerű meghatározás.  Van ez a vállalati funkció, de nem névtelen hozzáférés (ami még WSS támogatja).  Meg tudod csinálni néhány érdekes dolgot a keresés (MOSS-ish, mivel meghatározhatja a webhely szintű hatókörök), de ha hozzá kell férniük az SSP-ben, ezt nem teheted meg.  You can play the “on the one hand and on the other” game all night long with this product 🙂

Mikroszkóp köszönhetően mentesít egy új változat-ból SP Online, a következő néhány hónapban.  Kíváncsi vagyok, milyen furcsa hibrid lesz, hogy?

</vége>

Subscribe to my blog.

Kövesse nekem Twitter http://www.twitter.com/pagalvin