Trouble-Shooting Tip pre uhlové smerníc (Alebo, Naučiť sa milovať spojovníky celej znova)

Mám pár apps, že značka $http.get() hovory a ja som chcel byť schopní Ukázať pekne formátovaného chybového hlásenia s škaredé chyby Podrobnosti skryté, ale dostupné.  V podstate, this:

image

A potom ak používateľ klikne na chybu, Oni vidia viac info:

image

Jednoduché veci.  Pretože presne rovnaký potenciál chyba sa môže vyskytnúť správne obrazovke, ako aj na obrazovku koncového používateľa, jasne to nazýva vlastné uhlové smernice.  SOM  našiel toto Vynikajúca séria článkov (http://weblogs.asp.net/dwahlin/creating-custom-angularjs-directives-part-i-the-fundamentals) veľký Dan Wahlin.  Po jeho radu, Veľmi rýchlo vytvorený <Ahoj-world> smernica a presťahoval sa do mojej zložitejšie chyba displeja stierka. Bežal som do trochu problémy s touto zložitejšie smernicou.  Šťastne, druh náhodou, Som povedal WebStorm (editor používam v týchto dňoch) že JS súboru uhlové súborov a pomohlo mi zistiť problém.  Je to kód pre samotnej smernice:

angular.module("CDLApp").smernica("generalCdlErrorHandler", Funkcia() {

return {
obmedziť: "E",
nahradiť: pravda,

rozsah pôsobnosti: {
retrieveLastConfigurationError: "&"
},

šablóny:
'<div class = "upozorniť upozornenie-nebezpečenstvo" úloha = "upozornenie" ng-init = "doShowExpandedErrorDetails = true" ng-Zobraziť = "retrieveLastConfigurationError()">' +
"Tam bola chyba vstupno-výstupných operácií alebo iných. To sa zvyčajne stáva, pretože konfiguračný súbor s údajmi nie je možné " +
"našiel alebo konfiguračný súbor obsahuje nepresné informácie (ako je odkazovanie knižnice dokumentov " +
"že neexistuje).' +
' <br />' +
' <div ng-Zobraziť = "doShowExpandedErrorDetails">' +
' <href = "#" NG-kliknite = "doShowExpandedErrorDetails = ! doShowExpandedErrorDetails">' +
"Kliknite tu pre skrytie podrobností." +
' </a>: ' +
' <br />' +
' <vopred>{{retrieveLastConfigurationError() | JSON}}</vopred>' +
' <br />' +
' </DIV>' +
' <div ng-Zobraziť = "!doShowExpandedErrorDetails">' +
' <href = "#" NG-kliknite = "doShowExpandedErrorDetails = ! doShowExpandedErrorDetails">' +
"Rozbaľte kliknutím sem Podrobnosti o chybách." +
' </a>' +
' </DIV>' +
'</DIV>'
};
});

V podstate, Som vytvoriť nový prvok s názvom "generalCdlErrorHandler".  Je potrebné sprístupniť funkciu nazýva retrieveLastConfigurationError a to je spracované v rozsahu objektu.  Pravdepodobne mohol som len použiť nadradeného rozsahu, ale že cíti lenivý.  Ak niekto myslí, že som mal urobiť, že, Rád by som počul o tom v komentároch.

To bolo všetko v poriadku, ale nebolo nič dostať.  Žiadne chyby vyskočila v konzole (aspoň raz som opravené všetky chyby sx som vytvoril na ceste).  Jednoducho nemali dostať žiadny výstup zo smernice.  Išiel a pridal niektoré statický text pred ng-Zobraziť smernice a * urobil * tú. To ma napadlo, že možno smernice nesmel implicitne vytvoriť nové vars ako "doShowExpandedErrorDetails" alebo "ng-init" tam. 

Išiel som späť do HTML vidieť, keby som mal typ a tentoraz WebStorm mi pomohol.  Som mal boli okolo vo funkcii retrieveLastConfigurationError takhle:

<všeobecné-cdl-chyba-obsluha retrieveLastConfigurationError="CDLController.retrieveLastConfigurationError()">
</všeobecné-cdl--obslužný program chýb>

Ale to naozaj treba toto:

<všeobecné-cdl-chyba-Vyber-posledný-konfigurácia-chyba obsluhy = "CDLController.retrieveLastConfigurationError()">
</všeobecné-cdl--obslužný program chýb>

WebStorm bol dosť chytrý, aby vedieť, že to muselo byť rozdelené.  Ak to nemal túto nápovedu, Ja by pravdepodobne byť stále problémov to úsmev.  Zábava times!

Trik je to: Nielenže je názov smernice prvok rozdeleným slovom, Takže sú všetky atribúty môžete pridať k nemu.  Akonáhle som pridal pomlčky, to všetko fungovalo skvele.  Dan výučba stalo používať krátke názvy jednej, Takže neurobil pripojenie.

Dúfam, že to pomôže niekto.

</koniec>

undefinedVyberajte môj blog.

Nasledujte ma na stebėtų na http://www.twitter.com/pagalvin

IE9 Naozaj nemá rád, keď budete mať zástupcu s vašej <span> Tagy

Ste spadli do nemrav pomocou Chrome celú dobu.  To je "zlé", pretože veci som rozvíjať naozaj potrebuje spustiť na veľa iných webových prehliadačov, vrátane, Bohužiaľ IE8.  Svojej práci notebook má IE9 štandard z akéhokoľvek dôvodu) a bol len robí rýchly skontrolovať, čo vyzeralo ako a... to nebolo dosť.  Napríklad:

image

Má * mal * vyzerať takto:

image

 

Nielenže to bolo vypnuté, ale moje kliknite udalosti neboli streľby.  (Väčšina z nich, Každopádne).

Vizuálne, vyzeralo to, ako sa veci začali ísť mimo koľaje v blízkosti odkaz na "Rozšírené nastavenia".  Kopal do tej časti HTML a zistil, že som mal tento riadok:

<span class = "glyphicon glyphicon-nový-okno" />

Zdá sa, že ako prípustná syntax ("Chrome verzia 40.02214.94 m"je v poriadku s ním). Šiel a zmenil rovnako, ako je uvedené:

<span class = "glyphicon glyphicon-nový-okno"></span>

Že pevné.

Takéto maličké vec spôsobilo taký obrovský neporiadok obrazovky.  Zábava times.

To stalo sa narýchlo, ale to je tiež taká vec, že len dostane chrbticu nezarovnané, keď ho vidíte.  Existuje viac ako 500 linky z HTML v tento malý admin funkcie a vy jednoducho nechcú, aby sa ocitnete kopanie medzi tie buriny, niekedy úsmev.

</koniec>

undefinedVyberajte môj blog.

Nasledujte ma na stebėtų na http://www.twitter.com/pagalvin

HTTP 406 Chyba pri použití uhlové $http.get proti SharePoint ZVYŠOK koncové body

Aktualizácia: Marc AD ndersson poukázal na to, tento veľký kus info: http://blogs.Office.com/2014/08/13/JSON-Light-support-Rest-SharePoint-API-Released/. To vysvetľuje veľa :).

To môže byť niekedy najhoršie názov blogu! Anyhoo.

Zvyčajne robiť, všetky moje prototypovania proti O365 stupňa. Mám moje osobné stupňa tak, že nemusím obávať ovplyvňujúce niekto. Ako stranou-Pamätajte si, kedy nazývame vykonáva okolo virtuálnych strojov na našich laptopoch machom-SQL Server, IIS, rozhodovaní vs Hyper-V. VMWare? Anyhoo...

Mali vyvinuté aplikácie pomocou uhlového v tomto prostredí, ktoré má, okrem iného, this:

$http.Get(AdresaURLServera)
.úspech(Funkcia(údaje, stav, hlavičky, config) {

var getLinksResponse = údaje;

getLinksResponse.value.forEach(Funkcia(theResult) {

// a tak ďalej a tak penou

To bolo v poriadku len v dvoch rôznych SharePoint online prostredie. Avšak, keď môj kolega portovaný na inštanciu Cloudshare, on bol stále HTTP 406 chyba (ktorý bol prvýkrát, čo som kedy dostal ten, Takže... hurá, hádam). Som trochu výskumu a všimol si, že "Prijať" Hlavička bol preč. On-line služby SharePoint bol úplne spokojný s:

Prijať: Aplikácia/json

Ale cloudshare stupňa (čo je SP na prem, hostil na virtuálnom serveri) chcel klasické "Odate = ukecaný" pridané v aj:

Prijať: Aplikácia/json;Odata = podrobného

Opraviť to, pridali sme hlavičky ako také:

var config = {hlavičky: {
"Accept": "aplikácie/json;Odata = verbose "
}
};

$http.Get(AdresaURLServera,config)
.úspech(Funkcia(údaje, stav, hlavičky, config) {

var getLinksResponse = údaje;

getLinksResponse.value.forEach(Funkcia(theResult) {

// a tak ďalej a tak penou

Že sa zbavili 406, ale to tiež zmenil formát odpovede. To bolo viac... podrobného. (haha!) Ďalšie zmeny boli požadované, a tu je konečný výsledok:

var config = {hlavičky: {
"Accept": "aplikácie/json;Odata = verbose "
}
};

$http.Get(AdresaURLServera,config)
.úspech(Funkcia(údaje, stav, hlavičky, config) {

var getLinksResponse = údaje;

getLinksResponse.d.results.forEach(Funkcia(theResult) {

// a tak ďalej a tak penou

Len sa zmenil 30 minúte problém pre nás, tak my lucked von. Dúfajme, že niekto nájde to užitočné.

</koniec>

Postupy: Povoliť viac uhlové SharePoint webových častí na rovnakej stránke

Tento blog príspevky popisuje, ako môžete mať viac Angular.js založený SharePoint webových častí (odkazuje pomocou webovej časti editor obsahu) na rovnakej stránke. Som volanie webovej časti editor obsahu (CEWP) ktorý odkazuje JavaScript postavený s využitím rámca Angular.js "Uhlové webová časť."

Uhlová je zavádzací proces je super ľahké a len asi každý príklad nájdete na internety ide niečo takého:

<HTML ng-app = "MôjProgram">

<bla /><bla /><bla />

</HTML>

Tento štiepi, Avšak, Ak chcete povoliť viaceré CEWP zastupujúci viac uhlové webových častí na rovnakej stránke. Uhlová bude automaticky len bootstrap proti prvej smernice ng-app to nájde – aspoň už uhlové verzia 1.3.6. Riešenie je pomerne jednoduché-manuálne namiesto štartovaciu svoj kód. Vyššie sa teraz zmení na niečo takého:

<telo>
<d
IV identifikácia =”bootstrapHere” ng-controller =”myController ako theController”>
<bla /><bla /><bla />
</DIV>
</telo>

<skript src =”//Ajax.googleapis.com/AJAX/libs/angularjs/1.3.6/angular.js”></skript>

<skript>
angular.Bootstrap(angular.element(document.getElementById(“bootstrapHere”)),["MôjProgram"]);
</skript>

V podstate, Namiesto použitia ng-app na prvok robiť vaše bootstrapping, si pohlavok ID na tento prvok. Potom, Použite bootstrap() metóda na uhlové sám kontrolovať bootstrapping procesu spustenia. Testoval som to s tromi rôznymi uhlové webovými časťami na rovnakej stránke a funguje to kúzlo.

</koniec>

undefinedVyberajte môj blog.

Nasledujte ma na stebėtų na http://www.twitter.com/pagalvin

Komisia motorového vozidla New Jersey má ďalšiu obeť

Takže, môj syn je trochu oneskorené získanie jeho vodičský preukaz.  Včera, v polovici dopoludnia, on vozíky do Oakland NJ ho získať.  On tam dostane, vyplní jeho papierovanie je vydané povolenie neoražený a dozvie, že on teraz musí ísť do Ďalším MVC miesto aby jeho oko test.  Pretože, zrejme, vysoko kvalifikovaných oko testery nežijú len kdekoľvek, Takže NJ MVC musí ísť tam, kde je talent.  Alebo, možno je to preto, že filozofia Hamiltonian konsolidácie?  Ako Hamilton cítil finančné a výrobné konsolidácie boli rozhodujúce pre budúcu ekonomickú silu republiky, možno NJ MVC cíti potrebné konsolidovať oko testovanie talent pre budúce silu NJ MVC?  Možno je to súčasť nevýslovnej plánu?  Beda, Mám len otázky na túto tému a žiadne odpovede. 

Takto Oakland poradenstvo, manželka a syn truck svoju cestu až na Lodi, NJ s neoražený povolením na Lodi.  Lodi pravdepodobne najhoršie parkovanie ľubovolnej NJ MVC.  A, pretože oni tiež hostiť niektoré zriedkavé ešte veľmi vyhľadávaný oko testovanie strojov a oko testovanie profesionálov, priťahujú supplicants všetkého druhu, odtiene, vzdelávanie a gawkers.  Môj syn pracuje jeho cestu cez bludisko liniek a pokynov "never-look-them-in-the-eye" NJ MVC profesionálov a konečne dorazí na oko testovanie riadok.  Teraz učia, že Oakland človek urobil chybu na neoražený povolenia.  On MIS-zadané číslo sociálneho zabezpečenia, uvedenie "8" namiesto "2" v jednom číslic.  NJ DMV osoba to vedel, pretože keď vytiahla že zle SS # v počítači, to nebola show názov môjho syna.  Hovoria, že manželka a syn, "Ach, to je zlé číslo, potrebujete "2" tam namiesto "8." "  Čo mnohí, snáď každý spravodlivý zmýšľajúci človek očakávať v tomto bode je pre človeka NJ MVC jednoducho správne číslo sa práve vstúpil do počítača.  Ha! Blázon!  nie, namiesto toho bol požiadaný poskytnúť svoju kartu sociálneho zabezpečenia.  Poďme odbočiť na chvíľu a zastávajú názor, že s cieľom získať povolenie na neoražený na prvom mieste, on už poskytli o pas v USA, rovnako ako New Jersey rodný list a list mu napísal na jeho domácu adresu.   Jeho matka je s ním, zdieľa jeho meno, jeho adresu, jeho výška (ale bohužiaľ, nie jeho vkus v sci-fi filmy) ... vám to meno, môj syn je v poriadku a naozaj identifikovaný ako život dlhý pobyt týchto štátov USA a skutočne, New Jersey sám akýmkoľvek opatrením si dokážete predstaviť.  Ak osoba NJ MVC by jednoducho pevnú chybu Oakland osoba uskutočnila, počítač by som vytiahol môj syn informácií a to by bol koniec príbehu.  Ale zase, blázon!  Oni nemôžu robiť, že. Namiesto toho, NJ MVC trvajú na kartu sociálneho zabezpečenia teraz. 

Takže, manželka a syn ísť domov, aby si to a späť.  A na konci, získa povolenie na jeho.

To je tri rôzne výlety do NJ MVC v jeden deň.  Ak chcete získať jeho povolenie.  Trvalo takmer 6 hodín od začiatku do konca.  To je môj syn Úvod do jazdy v Garden State.

NJ MVC je jasne rozdelené. 

</koniec>

Uhlové zlyhá bootstrap v IE9

Bol som hrať s Angular.js za posledných dlho a pre život ma, Nemohol som sa dostať mojej Uhlová aplikácie spustiť v prehľadávači IE9.  Všetci pracovať pokutu v IE11 ale IE9 bych prostě show zložené zátvorky a podobné kúsky.

Hľadal v okolí a nemohol nájsť niekto sťažuje jeho problém.  Fungovalo to pokutu v Chrome, IE11, len nie IE9.

Bola zhodil skutočnosťou, že IE konzole mi dáva chyby, ako to:

SEC7111: HTTPS zabezpečenia je ohrozená res://ieframe.dll/forbidframing.htm

Že chyba ma myslenie tam bol nejaký problém so sťahovaním uhlové alebo iné knižnice, ktoré som potreboval.  Ako to dopadá, to nebol problém.

V postrkování okolo internety, Nakoniec som zistil, že som potreboval hľadať frázu "bootstrap" a aby to vyzeralo ako bootstrapping bolo neúspešné.  V závere, môj problém bol, že bol vyzdobený môj <HTML> značka s atribútom ng-app, rovnako ako v:

<HTML ng-app = "MatrixApp">

Dobre, to nebola práca pre IE9.  Namiesto toho, Zabalil som celý zvyšok HTML <telo> vnútri div a referencie MatrixApp tak.

Problém vyriešený.

Dúfajme, že to šetrí niekto nejaký smútok.

</koniec>

Vytváranie vlastných SharePoint formulárov bez predlohy

Môj kolega, Lauren Jones, napísal pekný prechádzka-cez, ako vytvoriť formulár na zadávanie vlastných údajov pomocou služby SharePoint Designer.  To nie je úplne "nové pod slnkom", ale tam je trochu twist.  Podľa jej slov:

Vytvorenie vlastných formulárov je rovno vpred v programe SharePoint Designer, Prejdite k zoznamu a stuha menu vyberte "formulár zoznamu’ a vytvorenie novej šablóny formulára.

To funguje dobre, ak chcete svoj formulár pripojený k vám stránky predlohy, ale čo keď budete mať v prípade použitia vytvoriť formulár, ktorý je vo vyskakovacom okne alebo samostatný bez SharePoint chróm. Mal som presne tento prípad použitia, Chcel som vlastné štýl formulára a potom použite tento formulár v popup div vnorené do stránky.

Nezúfajte, Existuje spôsob, ako robiť to čo nie je, že intuitívne ale pomerne ľahko splniť.

Si môžete prečítať všetky podrobnosti tu.: http://www.bigapplesharepoint.com/pages/View-An-Insight.aspx?BlogID=55&rtitle=customforms&rsrouce=pgblog a môžete vidieť v akcii kliknutím na prepojenie "kontaktujte nás pre viac informácií" na ktorúkoľvek zo služieb na stránke služby našej Big Apple SharePoint (http://www.bigapplesharepoint.com/services).

Lauren píše veľa dobrých vecí o UX a branding.  Môžete vidieť viac tu písať tu: http://www.bigapplesharepoint.com/team?showExpertName=Lauren%20Jones.

</koniec>

Rozptyľujúce dizajn a opitý na funkciu Coolaid

Môj kolega, Lauren Jones (https://twitter.com/laurenjones02) Napísal krátky článok hovorí o tom, ako príliš zložité SP rollouts sú veľmi ťažké na koncových užívateľov.  Je zrejmé, druh, spôsobom, ale to je ľahké pre mňa povedať že po som zorganizoval veľa zložitých rollouts vecí nepripravené koncovým používateľom v rokoch.

Tu je kľúč "graf:

Pred piatimi rokmi, keď som vyšiel SharePoint organizácii po prvýkrát s primárnym cieľom stáva platformu spolupráce a výmena zdieľanie diskov, sme tiež predstavil sociálne a noviniek cez RSS, Moje stránky a profily, a folksonomy značkovanie. Netreba, Toto bolo veľa pre koncových používateľov v jednom pera. Kým tam bol úspech s prijatím okolo správa dokumentov a profily, RSS a značkovanie menej úspešné bolo a to bolo naozaj kvôli zmene riadenia komunikácie a vzdelávania. Sme nemohli urobiť všetko naraz. Pričom menej je viac prístup a uvoľnenie funkcie vo fázach je jednoduchšie koncovým používateľom akceptovať a prijať.

Tento článok pripomína ďalší kúsok som čítať Kris Gale súvisiace nariekanie je funkcia set, “Jeden náklady inžinierov a produktových manažérov nepovažujem.”

Ak máte hororový príbeh alebo úspech príbeh podeliť, Dúfam, že budete robiť v komentároch v Big Apple lokalite.

</koniec>

Týždenný Roundup – Júla 13, 2014

I pre xpost to tu za posledných víkend. 

Tu je 3RD článok v sérii, kde som písať blog príspevky a online článkov, ktoré boli obzvlášť zaujímavé pre mňa v poslednom týždni alebo tak.  Tento týždeň položka v rade zdôrazňuje dva CodePlex projekty pre potenciálnu náhradu InfoPath a spravovanie povolení so službou SharePoint, Novinky o satelitoch, ešte ďalší JavaScript rámca a kývnuť na Ada Babbage a jej úlohu v histórii výpočtovej techniky.

Si môžete prečítať tu.: http://www.bigapplesharepoint.com/pages/View-An-Insight.aspx?BlogID=93&rsource=pgblog&rtitle=roundup

</koniec>

Zobrazenie CAML dotazov v reálnom čase s ULS Viewer

Môj kolega, Ashsih Patel, napísal hore Pekná prechádzka-cez popisujúca vidieť CAML za rôzne SP dotazov, ktoré stalo obchodné v reálnom čase pomocou zobrazovača ULS.

Tu je intro:

Urobil ste niekedy chceli vedieť čo CAML dotazy sú vykonávané serverom SharePoint?

Dobre, pre učenie účel a riešenie problémov, to nie je zlý nápad. napokon, SQL Profiler pomáha nám riešiť veľa problémov.

Tam môžu byť výrobky tam, ale som vymyslel spôsob, ako to urobiť bez tráviť ďalšie babek! A tu to je...

Môžete si prečítať celú vec tu: http://www.bigapplesharepoint.com/pages/View-An-Insight.aspx?BlogID=68&rsource=pgblog&rtitle=caml.

</koniec>