Težav konica za kotno direktiv (Ali, Naučimo se ljubiš vezaje vsega spet)

Imam nekaj apps, da bi $http.get() klici in želel biti zmožen razkazati a lepo oblikovanega sporočila o napaki z grdo napako podrobnosti skrite, vendar dosegljiv.  V bistvu, to:

image

In potem če uporabnik klikne na napako, vidijo več info:

image

Prepost tvar.  Ker točno isto potencialne napake se lahko pojavijo v upravnih zaslon, kot tudi končni uporabnik zaslon, jasno pozval meri kotni direktive.  I  našel to izjemne serije člankov (http://weblogs.asp.net/dwahlin/creating-custom-angularjs-directives-part-i-the-fundamentals) z veliki Dan Wahlin.  Po njegov nasvet, Sem zelo hitro zagnati krik in vik a <Hello-world> Direktiva in se preselil na moji kompleksnejše napake prikaz strgalo iz gume. Stekel sem v a košček od trud s to direktivo, bolj zapletene.  Srečno, nekako po naključju, Je povedal WebStorm (urejevalnik uporabljam te dni) da JS datoteko kotni datoteko in to pomočnik mi razbrati vprašanje.  To je koda za sama direktiva:

angular.module("CDLApp").Direktive("generalCdlErrorHandler", Funkcija() {

vrnitev {
omejujejo: "E",
Zamenjaj: True,

področje: {
retrieveLastConfigurationError: "&"
},

predlogo:
'<razred del = "opozori opozorilo-nevarnost" vlogo = "opozorila" NG-init = "doShowExpandedErrorDetails = true" NG-show = "retrieveLastConfigurationError()">' +
"Prišlo do v/i napake ali druge napake. To se običajno zgodi, ker konfiguracijo podatkovne datoteke ni bilo mogoče " +
"najti ali pa konfiguracijska datoteka vsebuje netočne informacije (kot navajanje knjižnico dokumentov " +
"da ne obstaja).' +
' <br />' +
' <div ng-show = "doShowExpandedErrorDetails">' +
' <a href = "#" NG klik = "doShowExpandedErrorDetails = ! doShowExpandedErrorDetails">' +
Kliknite tukaj za skrivanje podrobnosti." +
' </a>: ' +
' <br />' +
' <pre>{{retrieveLastConfigurationError() | JSON}}</pre>' +
' <br />' +
' </div>' +
' <div ng-show = "!doShowExpandedErrorDetails">' +
' <a href = "#" NG klik = "doShowExpandedErrorDetails = ! doShowExpandedErrorDetails">' +
»Kliknite tukaj, da razširite podrobnosti o napaki. « +
' </a>' +
' </div>' +
'</div>'
};
});

V bistvu, Sem ustvariti nov element, imenovano "generalCdlErrorHandler".  Potrebuje dostop do funkcijo imenovano retrieveLastConfigurationError in ki obravnava področje predmeta.  Imam verjetno bi lahko samo uporabljajo nadrejenega obsega, ampak to meni leni.  Če kdo misli, da bi moral narediti da, Bi radi slišali o tem v pripombah.

To je bilo vse v redu, vendar sem bil ne dobili ničesar.  Brez napak, ki izstrelil v konzoli (vsaj enkrat sem popravil vse napake sx, sem ustvaril na poti).  Preprosto nisem dobil nobenih rezultatov iz Direktive.  Šel in dodal nekaj statičnega besedila pred ng-show direktive in * si * dobil. To me mislijo, da morda direktive ni bilo dovoljeno da implicitno ustvariti nov VURS kot "doShowExpandedErrorDetails" ali "ng-init" tam. 

Sem šel nazaj v HTML, da vidim, če sem imel vrsto in ta čas WebStorm mi je pomagal.  Sem imel bil poteka v funkciji retrieveLastConfigurationError takole:

<splošno-cdl-napaka-trener retrieveLastConfigurationError="CDLController.retrieveLastConfigurationError()">
</splošno-cdl-napaka-trener>

Ampak res je bilo to:

<splošno-cdl-napaka-trener rešitev-nazadnje-konfiguracijo-napaka = "CDLController.retrieveLastConfigurationError()">
</splošno-cdl-napaka-trener>

WebStorm je bil dovolj pameten, da veš, da je moral biti deljena.  Če to ni ta namig, Jaz bi verjetno treba še odpravljanje težav to Smile.  Zabavno krat!

Ukana je to: ne samo direktiva element ime deljena, tako so vse atribute dodate nanj.  Ko sem dodal vezaje, vse obdelan velik.  Dan's tutorial, se je zgodilo z uporabo kratkih enotnega imena, tako da nisem, da povezave.

Upanje to pomoč nekateri.

</namen>

undefinedNaročite se na moj blog.

Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin

IE9 Res ne bo všeč, ko ste vzeli bližnjico z vašo <razpon> Tags

Sem padel v slabo navado uporabe Chrome ves čas.  To je "slabo", ker stvari sem razviti res mora teči na veliko drugih spletnih brskalnikov, vključno z, na žalost IE8.  Prenosnega računalnika ima IE9 standard iz kakršnega koli razloga) in jaz sem samo delaš hitro preverite, kaj stvari pogledal všeč in... to ni bila lepa.  Na primer:

image

Ima * naj * takole:

image

 

Ne samo, da je off, vendar niso bili vžignega moj kliknite dogodki.  (Večina od njih, Kakorkoli že).

Vizualno, je izgledala stvari začel iti dol tirnice blizu "Napreden Setup" link.  Kopali v tisti del HTML in ugotovil, da sem imel to vrstico:

<razpon razreda = "glyphicon glyphicon-novo-okno" />

To se zdi kot dovoljeni sintaksa ("Različica chrome 40.02214.94 m"je v redu z njim). Šel in spremenil to nekako, kot je prikazano:

<razpon razreda = "glyphicon glyphicon-novo-okno"></razpon>

To nepremičen to.

Drobcen neznaten takega povzročila ogromno nered na zaslonu.  Zabavno krat.

To se je zgodilo, da hitro popraviti, je pa tudi takšne stvari, ki šele pride hrbtenici poravnana, ko vidite, da.  Obstaja več kot 500 vrstic HTML v to malo admin funkcijo in ne želijo znajdete kopati med tiste plevel, Kdaj Smile.

</namen>

undefinedNaročite se na moj blog.

Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin

HTTP 406 Napaka pri uporabi kotni $http.get proti SharePoint PREOSTALI končne točke

Posodobitev: Marc oglas ndersson poudariti to velik krpa od zavijati: http://blogs.Office.com/2014/08/13/JSON-Light-support-REST-SharePoint-API-Released/. To pojasnjuje veliko :).

Da se lahko najslabši naslov blog post Kdaj! Anyhoo.

Običajno delam vse moje prototipov proti primerek O365. Imam svoj osebni primer, tako da ni treba biti zaskrbljen zaradi vpliva nikomur. Kot prahi – ne pozabite kdaj pravimo izvajajo okoli virtualne stroje na naših prenosnih računalnikov z MAHOM – SQL Server, IIS, odločanju, Hyper-V vs. VMWare? Nekako...

Sem imel razvit app uporabo kotnega v tem okolju, ki pa, med drugim, to:

$http.Get(serverUrl)
.uspeh(Funkcija(podatkov, status, glave, config) {

var getLinksResponse = podatkov;

getLinksResponse.value.forEach(Funkcija(theResult) {

// in tako naprej in tako pena

To je ki dela šele lep v dveh različnih SharePoint online okoljih. Vendar, ko moj kolega je napovedati stopnje Cloudshare, bil je že na HTTP 406 Napaka (ki je prvič sem kdajkoli dobil tisti, tako... Bravo, zdi se mi). Nismo malo raziskav in opazil, da je glava "Accept" odštel. SharePoint online je bila popolnoma zadovoljna z:

Sprejeti: Uporaba/json

Vendar je cloudshare stopnje (ki je SP na prem, gostuje v virtualni strežnik) Hotel classic "odata = verbose" doda tudi:

Sprejeti: Uporaba/json;odata = verbose

Se določi, da, Dodali smo glave kot take:

var config = {glave: {
"Sprejeti": "uporaba/json;odata = verbose "
}
};

$http.Get(serverUrl,config)
.uspeh(Funkcija(podatkov, status, glave, config) {

var getLinksResponse = podatkov;

getLinksResponse.value.forEach(Funkcija(theResult) {

// in tako naprej in tako pena

Ki znebili na 406, vendar je tudi spremenila oblika odziva. Je bilo več... glej verbosly. (haha!) Več sprememb so bile zahtevane in tukaj je končni rezultat:

var config = {glave: {
"Sprejeti": "uporaba/json;odata = verbose "
}
};

$http.Get(serverUrl,config)
.uspeh(Funkcija(podatkov, status, glave, config) {

var getLinksResponse = podatkov;

getLinksResponse.d.Results.forEach(Funkcija(theResult) {

// in tako naprej in tako pena

To samo spremenila v a 30 minuto problem za nas, tako mi lucked. Upajmo, da nekdo najde, to je koristen.

</namen>

Nasveti: Omogoči več kotni SharePoint spletnih gradnikov na isti strani

Ta blog objav opisuje, kako lahko imate več Angular.js podlagi SharePoint spletnih gradnikov (sklicuje preko spletni gradnik urejevalnika vsebine) na isti strani. Kličem spletni gradnik urejevalnika vsebine (CEWP) ki se sklicuje na JavaScript, zgrajena z uporabo okvir Angular.js »Kotni spletnega gradnika. «

Kotni 's bootstrap proces je super enostavno in skoraj vsak primer najdete na internets gre nekako takole:

<HTML ng-app = "MojaAplikacija">

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

</HTML>

Ta razgradi, vendar, Če želite omogočiti več CEWP predstavlja več kotni spletnih gradnikov na isti strani. Kotni bo le samodejno bootstrap proti prve Direktive ng-app to najde – vsaj od različice kotni 1.3.6. Rešitev je zelo preprosta-ročno bootstrap kodo namesto. Zgoraj zdaj spremeni v kaj takega:

<telo>
<d
IV id =”bootstrapHere” NG kontroler =”myController kot theController”>
<bla /><bla /><bla />
</div>
</telo>

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

<skript>
angular.bootstrap(angular.element(document.getElementById(“bootstrapHere”)),[»» MyApp ««]);
</skript>

V bistvu, namesto using ng-app na elementu uganjati vaš bootstrapping, slap ID na ta element. Nato, uporabite v bootstrap() metoda na kotni sam nadzor, je bootstrapping proces pri zagonu. Ive ' preizkušen to s treh različnih kotni spletne gradnike na isti strani in to tovarna a čar.

</namen>

undefinedNaročite se na moj blog.

Sledite mi na Cvrkutati na http://www.twitter.com/pagalvin

New Jersey motorno vozilo Komisija upošteva drugo žrtev

Tako, moj sin je malo zamuja, pridobitev svoje vozniško dovoljenje.  Včeraj, v sredi zjutraj, On tovornjaki do Oakland NJ zadobiti to.  Dobi tam, izpolni svoje administracije se izda dovoljenje za žiga in izve, da mora zdaj iti k drugo MVC mesto zavzeti njegovo oko test.  Ker, očitno, visoko usposobljenih oči izpraševalec ne samo živeti kjerkoli, tako NJ MVC mora iti, kjer je talent.  Ali, Morda je zato, ker so po Hamiltonov filozofija konsolidacije?  Toliko, kot Hamilton počutil finančnih in proizvodnih konsolidacije so bili kritični do prihodnje gospodarske moči Republike, morda NJ MVC počuti treba utrditi oči testiranje talent za prihodnje moč NJ MVC?  Morda je del neizrekljive načrta?  Žal, Imam samo vprašanja na to temo in ne odgovori. 

Naslednje Oakland nasvet, žena in sin tovornjak svojo pot do Lodi, NJ z žiga dovoljenje za Lodi.  Lodi morda najhujše parkiranje katerokoli lokacijo NJ MVC.  In, ker so prav tako gostila nekaj omejenih še zelo coveted oči testiranje stroji in oči testiranje strokovnjakov, privlačijo, supplicants vseh črt, odtenki, izobraževanje in tepec.  Moj sin dela svojo pot skozi labirint linij in navodila, ki jih "never-look-them-in-the-eye" NJ MVC strokovnjakov in končno prišli na oko testiranje linije.  Sedaj se učijo, da oseba Oakland pomyliło žiga dovoljenju.  On napačno vpisana številka zavarovanja, polaganje a "8" namesto "2" v eni od številk.  NJ DMV oseba to vedel, ker ko je potegnil gor da narobe SS # v računalnik, to ni pokazal Sinovo ime.  Žena in sin reči, "oh, To je napačno številko, vi potreba '2' tam namesto "8." "  Kaj mnogo, morda bi pričakovali vsak posameznik pošteno mislečimi na tej točki je NJ MVC oseba preprosto pravilno številko so pravkar vnesli v računalnik.  Ha! Bedak!  ne, namesto tega so ga prosili zagotoviti svoje socialne varnosti kartice.  Let's Zastraniti za trenutek in menijo, da bi dobili dovoljenje za žiga na prvem mestu, On je že pod pogojem Passport ZDA, kot tudi New Jersey rojstnega lista in pismo napisal, da mu na njegov domači naslov.   Njegova mama je z njim, delnice svoje ime, njegov naslov, njegove višine (ampak na žalost, ne njegov okus v sci-fi filmi) ... ti je ime, moj sin je dobro in resnično opredeljene kot življenje dolgo prebivajo teh držav v ZDA in dejansko, New Jersey sama kakršen koli ukrep, si lahko predstavljate.  Če oseba NJ MVC bi je preprosto to določeno napako Oakland oseba, ki, računalnik bi potegnil gor moj sin informacije in da bi bil konec zgodbe.  Pa spet, bedak!  Ne morete storiti, da. Namesto tega, NJ MVC vztrajajo na kartice socialnega zavarovanja. 

Tako, žena in sin šel domov, da dobim in vrnitev.  In na koncu, ga pridobi njegovo dovoljenje.

To je tri različne izlete NJ MVC v enem dnevu.  Dobiti njegovo dovoljenje.  Trajalo je skoraj 6 ur od začetka do konca.  To je moj sin uvod v vožnji v stanje zamaknjenosti.

NJ MVC je jasno in zdrobljen. 

</namen>

Kotni ne Bootstrap v IE9

Sem bil igranje s Angular.js za zadnji dolgo, medtem ko in za življenje me, Nisem mogel dobiti moje kotni apps za začetek v IE9.  Oni vsi opus lep v IE11, vendar bi IE9 le pokazati, zavite oklepaje in podobne bitov.

Jaz preiskava okrog ter mogli najti kdorkoli pritožujejo nad njegov problem.  To obdelan lep v Chrome, IE11, samo ne IE9.

Sem bil vržen dejstvo, da IE konzoli dal me napak, kot je ta:

SEC7111: HTTPS varnost je ogrožena zaradi res://ieframe.dll/forbidframing.htm

To zmota je razmišljal, da je bilo nekaj problem downloading s kotno ali drugih knjižnic, ki jo potrebujem.  Kot se izkaže, to ni vprašanje.

Ki jih poking okoli internets, Končno sem ugotovil, da sem potreboval, da iskanje za frazo "bootstrap" in da je zdelo, kot je bootstrapping je ni.  Na koncu, moj problem je bil, da sem imel neoviran moje <HTML> oznake z atributom ng-app, kot v:

<HTML ng-app = "MatrixApp">

Dobro, to ni delo za IE9.  Namesto tega, Sem zaviti vsi ostali HTML v na <telo> znotraj div in reference MatrixApp tako.

Problem rešen.

Upajmo, da to nekdo prihrani nekaj žalosti.

</namen>

Ustvarjanje obrazcev po meri SharePoint brez stran z matrico

Moj kolega, Lauren Jones, napisal gor lepo sprehod skozi kako ustvariti obrazec za vnos podatkov po meri s programom SharePoint Designer.  Ki je ni ravno "novega pod soncem", vendar je malo twist.  V njene besede:

Ustvarjanje obrazcev po meri je naravnost naprej uganjati v programu SharePoint Designer, krmarite na seznam in na traku menija izberite "seznam obliki’ in ustvarite novo predlogo obrazca.

To deluje dobro, če želite, da vaš obrazec vas priloži stran z matrico, ampak kaj, če imate primer uporabe ustvarjanja obrazca, ki je v a ljudstvo okno ali je standalone brez SharePoint krom. Sem imel točno ta primer uporabe, Sem hotel, da meri slog obrazec potem uporabite ta obrazec v ljudstvo div inline znotraj strani.

Ne obupa, obstaja način za to, kar ni to intuitiven, vendar dokaj enostaven za izpolnitev.

Si lahko preberete vse podrobnosti tukaj: http://www.bigapplesharepoint.com/pages/View-An-Insight.aspx?BlogID=55&rtitle=customforms&rsrouce=pgblog in lahko vidite to v akciji s klikom na povezavo "Kontaktirajte nas za več informacij" na vsako storitev, na strani storitev naše Big Apple SharePointovega mesta (http://www.bigapplesharepoint.com/services).

Lauren piše veliko dobrih stvari o UX in blagovnih znamk.  Si lahko ogledate več tukaj pisanje tukaj: http://www.bigapplesharepoint.com/team?showExpertName=Lauren%20Jones.

</namen>

Moteča Design in pijan na zunanja oblika Coolaid

Moj kolega, Lauren Jones (https://twitter.com/laurenjones02) napisal kratek članek govoril o tem, kako preveč zapletene zagonov SP so zelo težko na končne uporabnike.  To je neke vrste očitno, na način, ampak to je enostavno za mene, da pravijo, da jih Orkestriran veliko zapletenih zagonov stvari do nepripravljenega končnim uporabnikom v letih.

Tukaj je ključ "graf:

Pred petimi leti, ko sem razvalja SharePoint organizaciji prvič z primarni cilj postati platforma za sodelovanje in nadomešča delež pogoni, smo tudi uvedli družbene in vire novic preko RSS, Moje strani in profilov, in označevanje folksonomy. Poudarjati, To je veliko za končne uporabnike, da sprejmejo eni Nasrnuti. Medtem ko se je uspeh s sprejetjem okoli upravljanje dokumentov in profili, RSS in označevanje je bila manj uspešna in je to res zaradi spremembe upravljanje komunikacije in usposabljanja. Nismo mogli narediti vse naenkrat. Ob manj je več pristop in spusti funkcionalnost v fazah je lažje za končne uporabnike, da sprejme in sprejme do.

Ta članek spominja drugi košček sem prebral z Kris Gale povezane osebe Bastard nabor funkcij, “Ena stane inženirjev in produktne vodje ne menijo.”

Če imate grozo zgodbo ali zgodbo o uspehu na delež, Upam, da vam da pripombe na spletni strani Big Apple.

</namen>

Tedenski Roundup – Julija 13, 2014

Sem za xpost te tukaj nad čez vikend. 

Tukaj je na 3RD članek v seriji, kjer sem pisal o blog delovnih mest in spletnih člankov, ki so bili še posebej zanimivo, da me v zadnjem tednu ali tako.  Ta teden vstop v seriji izpostavlja dva CodePlex projektov za morebitne zamenjave InfoPath in za upravljanje dovoljenj s SharePointom, novice o satelitih, še drugo JavaScript okvir in prižgali zeleno luč za Ada Babbage in njeno vlogo v zgodovini računalništva.

Si lahko preberete tukaj: http://www.bigapplesharepoint.com/pages/View-An-Insight.aspx?BlogID=93&rsource=pgblog&rtitle=roundup

</namen>

Pogled CAML poizvedb v realnem času z ULS gledalec

Moj kolega, Ashsih Patel, napisal gor lepo sprehod skozi kako videti CAML za različne SP poizveduje to zgodilo v okviru dejavnosti v realnem času pregledovalnikom ULS.

Tukaj je intro:

Si Kdaj želite vedeti, katere CAML poizvedbe izvede SharePoint Server?

Dobro, za odpravljanje težav in učne namene, to ni slaba ideja. navsezadnje, SQL Profiler je bil pomagati nam odpraviti veliko vprašanj.

Lahko izdelke tam, vendar sem mislil, kako to storiti brez porabe dodatnih dolarjev! In tukaj je...

Si lahko preberete celotno stvar tukaj: http://www.bigapplesharepoint.com/pages/View-An-Insight.aspx?BlogID=68&rsource=pgblog&rtitle=caml.

</namen>