Teenindusandmeid otsa nurk direktiivide (Või, Õppida armastama sidekriipsud otsast jälle)

Mul on mõned apps et teha $http.get() kõned ja tahtsin võimalus näidata kenasti vormindatud tõrketeade peidetud kole tõrke üksikasjad, kuid kättesaadavad.  Põhimõtteliselt, See:

image

Ja siis kui kasutaja klikib viga, nad näevad rohkem infot:

image

Lihtne värk.  Kuna täpselt sama võimalikku viga saab kuvada ka haldus ekraani kui ka lõppkasutaja ekraani, selgelt nõudnud kohandatud nurk direktiivi.  MA  leidsin selle tasumata seeria artiklid (http://weblogs.asp.net/dwahlin/creating-custom-angularjs-directives-part-i-the-fundamentals) suur Dan Wahlin.  Pärast tema nõu, Ma väga kiiresti luua mõne <Hello-world> direktiiv ja kolis kellelegi mu keerulisem viga ekraan squeegee. I sattus natuke raske seda keerulisem direktiivile.  Õnnelikult, omamoodi juhus, Ma oleks öelnud WebStorm (Ma kasutan neid päevi toimetaja) JS faili tehti nurgeliste faili ja see aitas mul aru saada teema.  See on direktiivis tähist:

Angular.Module("CDLApp").direktiivi("generalCdlErrorHandler", funktsioon() {

edasi-tagasi {
piirata: "E",
Asenda: True,

reguleerimisala: {
retrieveLastConfigurationError: "&"
},

Mall:
'<div klassi = "alert alert-danger" roll = "Teavita" NG-init = "doShowExpandedErrorDetails = true" NG-show "retrieveLastConfigurationError =()">' +
"Ilmnes I/O tõrge või muu viga. See tavaliselt juhtub, sest konfiguratsiooni faili ei saanud " +
"leitud või konfiguratsioonifail sisaldab valeteavet (näiteks dokumenditeegi viitamine " +
"et pole olemas).' +
' <br />' +
' <div ng-Näita = "doShowExpandedErrorDetails">' +
' <href = "#" NG-vajuta = "doShowExpandedErrorDetails = ! doShowExpandedErrorDetails">' +
'Üksikasjade peitmiseks klõpsake siin.' +
' </a>: ' +
' <br />' +
' <Pre>{{retrieveLastConfigurationError() | JSON}}</Pre>' +
' <br />' +
' </DIV>' +
' <div ng-Näita = "!doShowExpandedErrorDetails">' +
' <href = "#" NG-vajuta = "doShowExpandedErrorDetails = ! doShowExpandedErrorDetails">' +
'Tõrke üksikasjad laiendamiseks klõpsake siin.' +
' </a>' +
' </DIV>' +
'</DIV>'
};
});

Põhimõtteliselt, Ma koostan uut elementi, mida nimetatakse "generalCdlErrorHandler".  See vajab juurdepääsu funktsiooni nimetatakse retrieveLastConfigurationError ja mida käsitletakse reguleerimisala objekti.  Ma ilmselt võiks just vanema ulatus, kuid mida tunneb laisk.  Kui keegi arvab, et ma oleks pidanud tegema, et, Oleks tore kuulda seda oma kommentaarides.

See oli kõik korras, Aga mul ei olnud midagi saada.  Nr vigu hüppasid üles konsool (vähemalt üks kord ma fikseeritud sx vead olen loonud mööda teed).  Ma lihtsalt ei saanud mingit väljundit direktiivi.  Ma läksin ja lisada mõned staatiline tekst enne direktiivi ng-show ja ma * ei * saada, et. See pani mind mõtlema, et ehk direktiivi ei tohtinud kaudselt luua uus vars nagu "doShowExpandedErrorDetails" või on "ng-init" seal. 

Ma läksin tagasi HTML näha, kui ma pidin tüüp ja seekord WebStorm aitas mind välja.  Ma möödaminnes sellist funktsiooni retrieveLastConfigurationError:

<Üldine cdl-Tõrkehaldur retrieveLastConfigurationError="CDLController.retrieveLastConfigurationError()">
</Üldine cdl-Tõrkehaldur>

Kuid seda tõesti vaja seda:

<Üldine cdl-Tõrkehaldur too-viimati-konfiguratsioon-error = "CDLController.retrieveLastConfigurationError()">
</Üldine cdl-Tõrkehaldur>

WebStorm oli piisavalt targad, et teavad, et see pidi olema sidekriipsuga.  Kui see ei olnud ette selle Vihje, Ma oleks ilmselt olema ikka tõrkeotsingu see naeratus.  Fun korda!

Trikk on see: mitte ainult on direktiiv elemendi nime sidekriipsuga, nii on teil lisada atribuute.  Kui lisasin kaks sidekriipsu, kõik töötas suur.  Dani juhendaja juhtus Kasuta ühtse, nii et ma ei teinud seoses.

Loodan, et see aitab keegi.

</lõpp>

undefinedTelli minu blogi.

Järgi mind vidistama kell http://www.twitter.com/pagalvin

IE9 Tõesti ei meeldi, kui te võtate otsetee oma <span> Sildid

Olete sattunud Chrome'i kasutamine alati halb harjumus.  See on "halb", sest ma arendada värk tõesti peab sõitma palju muid veebibrausereid, sealhulgas, Kahjuks IE8.  Tööarvutist on IE9 standard mingil põhjusel) ja ma tegin vaid kiire vaadata, milliseid asju vaadanud nagu ja... see ei olnud ilus.  Näiteks:

image

On * peaks * välja nägema nii:

image

 

Mitte ainult see oli välja lülitatud, Aga minu käsku sündmused ei olnud tulistamise.  (Enamik neist, Igatahes).

Visuaalselt, tundus, et asjad hakkasid kustub rööbaste lähedal link "Täpsem häälestus".  Kaevatud, et osa HTML ja leidsin, et mul oli see rida:

<span klassi = "glyphicon glyphicon-uus-akna" />

Tundub, et lubatud süntaks ("Chrome versioon 40.02214.94 m"on trahvi seda). Läks ja muutis seda niikuinii, nagu on näidatud:

<span klassi = "glyphicon glyphicon-uus-aken"></span>

Mis on määratud.

Selline väike väike asi põhjustas suure segaduse ekraani.  Fun korda.

See juhtus olema kiirparandus, Aga see on ka selline asi, et lihtsalt saab oma selja välja viimist seda.  Seal on üle 500 rida HTML funktsioon vähe admin ja sa lihtsalt ei taha leida ennast kaevamine seas nende umbrohi, kunagi naeratus.

</lõpp>

undefinedTelli minu blogi.

Järgi mind vidistama kell http://www.twitter.com/pagalvin

HTTP 406 Viga kasutamisel nurgeliste $http.get vastu SharePointi ülejäänud lõpp-punktid

Värskendus: Marc AD ndersson märkis see suur tükk info: http://blogs.Office.com/2014/08/13/JSON-Light-Support-REST-SharePoint-API-released/. Mis seletab palju :).

See võib olla halvim pealkiri blogi postitus kunagi! Anyhoo.

Ma tavaliselt kõik minu prototüüpimiseks vastu O365 eksemplar. Mul on minu isiklik eksemplar, nii et ma ei peaks olema mures mõjutavate keegi teine. Nagu kõrvale-mäletad kui me nimetame ümber virtuaalarvutid läbi meie sülearvutid MOSS-SQL Server, IIS, Otsustades Hyper-V vs. VMWare? Anyhoo...

Mul oli arenenud app kasutades nurga selles keskkonnas, mis ei, muu hulgas, See:

$http.Get(serverUrl)
.edu(funktsioon(andmed, olek, päised, config) {

var getLinksResponse = andmed;

getLinksResponse.value.forEach(funktsioon(theResult) {

// ja nii edasi ja nii vaht

See töötas suurepäraselt kahest erinevaid SharePoint online keskkondades. Aga, Kuna kolleeg portinud see Cloudshare eksemplar, ta oli saada ka HTTP 406 tõrge (mis oli esimene kord, ma kunagi sain et üks, nii... Jee, Arvan). Me tegime natuke uurida ja märganud, "Nõustu" päise oli välja. SharePoint online oli täiesti rahul:

Aktsepteeri: taotlus/json

Kuid cloudshare eksemplari (mis on SP prem, virtual server võõrustas) tahtis klassikaline "odata = verbose" lisada ka:

Aktsepteeri: taotlus/json;odata = verbose

Kinnitada, et, lisasime päise sellisena:

var config = {päised: {
"Kinnita": "rakendus/json;odata = verbose'
}
};

$http.Get(serverUrl,config)
.edu(funktsioon(andmed, olek, päised, config) {

var getLinksResponse = andmed;

getLinksResponse.value.forEach(funktsioon(theResult) {

// ja nii edasi ja nii vaht

Mis lahti on 406, kuid seda muuta ka format vastamise. See oli rohkem... verbose. (haha!) Rohkem muudatusi oli vaja ja siin on lõpptulemus:

var config = {päised: {
"Kinnita": "rakendus/json;odata = verbose'
}
};

$http.Get(serverUrl,config)
.edu(funktsioon(andmed, olek, päised, config) {

var getLinksResponse = andmed;

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

// ja nii edasi ja nii vaht

See ainult muutus on 30 hetke probleemi meile, nii me lucked. Loodetavasti keegi leiab see kasulik.

</lõpp>

Abi: Mitme nurga SharePointi Veebiosade lubamiseks samal lehel

See blogi postitusi kirjeldatakse, kuidas saab olla mitu Angular.js põhineva SharePointi veebiosade (via sisuredaktori veebiosa viitab) samal lehel. Ma helistan sisuredaktori veebiosa (CEWP) mis viitab JavaScript abil Angular.js raames on "nurgeline veebiosa."

Nurga 's bootstrap protsess on väga lihtne ja peaaegu iga näite leiate selle internets läheb midagi sellist:

<HTML ng-app = "myApp">

<blah /><blah /><blah />

</HTML>

See ei tööta, Aga, Kui soovite lubada mitu CEWP esindavad samal leheküljel mitu nurgeliste veebiosa. Nurga näidatakse ainult automaatselt bootstrap esimese ng-app direktiivi vastu see leiab – vähemalt nurgeliste nagu versiooni 1.3.6. Lahendus on päris lihtne – käsitsi bootstrap oma koodi asemel. Eespool nüüd muutub midagi sellist:

<keha>
<d
IV id =”bootstrapHere” NG-kontroller =”myController nagu theController”>
<blah /><blah /><blah />
</DIV>
</keha>

<script src =”//Ajax.googleapis.com/Ajax/libs/angularjs/1.3.6/Angular.js”></skripti>

<skripti>
Angular.Bootstrap(Angular.element(document.getElementById(“bootstrapHere”)),['myApp']);
</skripti>

Põhimõtteliselt, selle asemel kasutatakse ng-app element teha oma eellaadimisel, sa laksu peale elemendi ID. Seejärel, Kasutage selle alglaaduri() meetodi kohta nurk ise kontrollida ning eellaadimisel töödelda käitusaja. Olen testinud kolme erineva nurga veebiosadega ühel lehel ja see toimib võlu.

</lõpp>

undefinedTelli minu blogi.

Järgi mind vidistama kell http://www.twitter.com/pagalvin

New Jersey mootorsõiduki komisjon võtab mõne muu ohvril

Nii, minu poeg on veidi hilinenud saamine tema sõidu luba.  Eilsed, keskel hommikul, ta veoautod kuni Oakland NJ seda.  Ta saab seal, täidab oma pabereid tembeldamata loa väljastamisel ja saab teada, et ta peab nüüd minema teine MVC asukoht võtta tema silma test.  Sest, ilmselt, kõrge kvalifikatsiooniga silma testijad elavad lihtsalt kusagil, nii et NJ MVC peab minema, kui talent on.  Või, Võibolla sellepärast, et nad on pärast Hamiltonian filosoofia konsolideerimine?  Niipalju, kui Hamilton tundis finants- ja tootmise konsolideerimise said nii Vabariigi tulevase majandusliku tugevuse, Võibolla NJ MVC tunneb neid vaja konsolideerida silmade testimise annet NJ MVC tulevikus tugevus?  Võibolla see on kirjeldamatu tegevuskava?  Paraku, Mul on ainult küsimused selle teema ja pole vastuseid. 

Järgmine Oakland nõu, naine ja poeg veoauto teel alla Lodi, NJ tembeldamata loa Lodi.  Lodi võis kõikjale NJ MVC halvim parkimine.  Ja, Kuna nad asuvad ka mõned vähe veel väga kadedus silmade testimise seadmed ja testimise spetsialistid silma, nad meelitada supplicants kõik triibud, tooni, haridus- ja gawkers.  Minu poeg töötab oma teed läbi labürindi read ja sealseid "never-look-them-in-the-eye" NJ MVC spetsialistid ja lõpuks jõuda katsetamine rea silma.  Nad nüüd teada, et Oakland inimene tegi vea tembeldamata loa.  Ta valesti sisestatud social security number, paneb ka oma "8" asemel "2" ühte numbrit.  NJ DMV isik teadis seda, sest kuna ta tõstis selle vale SS# arvuti, See ei Näita minu poja nimi.  Naine ja poeg öelda, "oh, See on vale number, peate '2' seal asemel "8." "  Paljude, ehk iga ausa mõtlemisega inimene eeldaks sel hetkel on NJ MVC inimesele lihtsalt õige number nad arvutisse sisestatud.  Ha! Loll!  Ei, selle asemel ta paluti esitada oma social security kaardi.  Oletame hetkeks põikama ja leiavad, et selleks, et saada tembeldamata loa esimese koha, ta oli juba andnud meile passi kui ka New Jersey sünnitunnistus ja kirja kirjutada talle oma kodune aadress.   Tema ema on temaga, jagab oma nime, tema aadress, tema kõrgus (kuid kahjuks, pole tema maitse sci-fi filme) ... sa nime, minu poeg on hästi ja tõeliselt määratletud elu kaua elavad need USA osariikides ja tõepoolest, New Jersey ise võite ette kujutada meetmete kaupa.  Kui NJ MVC isik oleks lihtsalt fikseeritud vea mis Oakland isikule tehtud, arvuti oleks tõmbas mu poeg teavet ja mis oleks lõpuks lugu.  Kuid jällegi, loll!  Nad ei saa teha. Selle asemel, NJ MVC nõudma social security kaardi nüüd. 

Nii, naine ja poeg lähevad koju saada ja edasi-tagasi.  Ja lõpuks, ta hangib oma loa.

See on kolm erinevat korda NJ MVC ühel päeval.  Saada oma loa.  Kulus ligi 6 tundi mõjutuskokkupuute algusest lõpuni.  See on minu poeg Sissejuhatus Aed joobeseisundis.

NJ MVC on selgelt katki. 

</lõpp>

Nurk ei IE9 Bootstrap

Ma olen mänginud Angular.js viimase pikka aega samas ja minu elu, Ma ei saanud minu nurk apps käivitada IE9.  Nad kõik töötavad trahvi IE11 kuid IE9 näitaks just looksulge ja sarnaste bitti.

Ma otsinud umbes ja ei suutnud leida keegi kurtnud oma probleemi.  See töötas trahvi, kroom, IE11, lihtsalt ei ole IE9.

Ma visati asjaolu, et IE konsool annab mulle viga niimoodi:

SEC7111: HTTPS turvalisus satub res://ieframe.dll/forbidframing.htm

Viga oli mulle mõtlemist ei olnud mingi probleem allalaadimine selle nurga või muu teeke, mida ma vajasin.  Nagu selgub, ei olnud see probleem.

Poolt poking ümber selle internets, Ma lõpuks selgus, et mul on vaja otsida fraasi oli "bootstrap" ja et see tundus et eellaadimisel oli puudumisel.  Aasta lõpus, minu probleem oli mul oli kaunistatud minu <HTML> ng-app atribuut silt, nagu ka:

<HTML ng-app = "MatrixApp">

Hästi, See ei tööta IE9.  Selle asemel, I pakendati HTML ja ülejäänud on <keha> div ja viited MatrixApp nii sees.

Probleem lahendatud.

Loodetavasti see säästab keegi mõned leina.

</lõpp>

Kohandatud SharePointi vormide ilma ühe juhtlehe loomine

Minu kolleeg, Lauren Jones, kirjutas üles kena walk-through kohta, kuidas luua kohandatud andmesisestusvormi SharePoint Designeri abil.  See ei ole just "uus päikese" all, kuid on natuke väänata.  Tema sõnad:

Kohandatud vormide loomist on otse edasi teha SharePoint Designeris, Navigeeri oma nimekirja ja lindi menüü valimine "nimekirja vorm’ ja luua uue vormimalli.

See töötab hästi siis, kui soovite oma vormi juurde te juhtleht, Aga kui sul on kasutamise puhul vormi loomisel on popup aknas või on autonoomne ilma SharePointi chrome. Mul oli täpselt selle kasutamise puhul, Tahtsin kohandatud stiil vorm siis selle vormi popup div inline veebijuhtelementi.

Ärge heitke meelt, seal on viis seda teha, mis ei ole nii intuitiivne kuid üsna kerge täita.

Kõiki üksikasju siin lugeda: http://www.bigapplesharepoint.com/pages/View-An-Insight.aspx?BlogID=55&rtitle=customforms&rsrouce=pgblog ja saab näha seda huviorbiidis klõpsates "Võta meiega rohkem teavet" link mõnele meie Big Apple SharePointi saidi leheküljel teenuste osutamine (http://www.bigapplesharepoint.com/services).

Lauren kirjutab palju head kraami UX ja branding.  Te näete rohkem siin kirjutamise siin: http://www.bigapplesharepoint.com/team?showExpertName=Lauren%20Jones.

</lõpp>

Häirivad disain ja funktsioon Coolaid purjus

Minu kolleeg, Lauren Jones (https://twitter.com/laurenjones02) kirjutas üles lühike artikkel räägib kuidas liialt keerukas SP väljaehitamist on väga kõvasti lõppkasutajatele.  See on omamoodi selge, nii, kuid lihtne mulle öelda, et pärast seda, kui ma olen orkestreerinud palju keerulisi väljaehitamist asju lõppkasutajatele mitte valmis aastatel.

Siin on võti "graafik:

Viis aastat tagasi, Kuna ma rullitakse SharePointi organisatsioonile esmakordselt esmane eesmärk muutub koostöö platvorm ja asendades jagada kõvakettad, jagasime ka sotsiaalse ja uudiste kaudu RSS, Minu saidid ja profiilid, ja folksonomy sildistamine. Ütlematagi, See oli palju lõppkasutajal vastu võtnud ühe hoobiga. Kuigi oli edu vastuvõtmine ümber Dokumendihaldus ja profiilid, RSS ja sildistamine oli vähem edukas ja see oli tõesti tingitud muutuste juhtimise teabevahetus ja koolitus. Me ei suutnud seda teha kõik korraga. Võttes vähem on rohkem lähenemise ja vabastades funktsioone etapid on vastu ja et lõppkasutaja jaoks hõlpsamaks.

See artikkel meenutab teine natuke lugesin poolt Kris raju Yammer's funktsioonikogum seotud, “Üks maksab inseneride ja toote juhid ei pea.”

Kui teil on horror story või edulugu jagada, Loodan, et saad sa seda kommentaarides kohapeal Big Apple.

</lõpp>

Iganädalase Ratsia – Juuli 13, 2014

Ma xpost et see siin Möödunud nädalavahetusel. 

Siin on esitatud 3Rd Artikkel seeria, kus ma kirjutan blogi postitusi ja online artiklid, mis olid eriti huvitav mulle eelmisel nädalal või nii.  Sel nädalal kanne seeria tutvustab kahe CodePlex projekte potentsiaalsete InfoPathi asendamine ja olukor SharePointiga, uudiseid satelliidid, veel teise JavaScripti raamistikku ja tukkuma Ada Babbage ja tema roll Arvutustehnika ajalugu.

Saate lugeda siit: http://www.bigapplesharepoint.com/pages/View-An-Insight.aspx?BlogID=93&rsource=pgblog&rtitle=roundup

</lõpp>

Vaade CAML päringut reaalajas ULS-i vaatur

Minu kolleeg, Ashsih Patel, kirjutasin üles kena walk-through kirjeldab näha erinevate SP taga CAML päringut mis juhtub äritegevuses reaalajas kasutades ULS-i vaatur.

Siin on intro:

Kas soovite kunagi teada, milline CAML päringut käivitada SharePoint Server?

Hästi, tõrkeotsing ja õppimise eesmärgil, See ei ole halb mõte. Pealegi, SQL Profiler on aitab meid palju probleemide tõrkeotsing.

Võib esineda tooteid seal, kuid ma arvasin, kuidas seda teha ilma kulutuste ekstra dollarit! Ja siin on...

Te saate lugeda kogu asi siin: http://www.bigapplesharepoint.com/pages/View-An-Insight.aspx?BlogID=68&rsource=pgblog&rtitle=caml.

</lõpp>