Вентилация съвет за ъглови директиви (Или, Да се научим да обичат тирета цял нагоре пак)

Имам няколко програми, които правят $http.get() повиквания и аз исках да бъде в състояние да покаже добре форматирано съобщение за грешка с Грозната грешка подробности скрити, но достъпни.  По принцип, Това:

image

И след това ако потребителят кликне върху грешката, Те виждат повече информация:

image

Обикновено неща.  Тъй като точно същата потенциална грешка може да се появи в административните екрана, както и екрана на крайния потребител, Тя ясно призовава за Директива на потребителски ъглови.  АЗ  Намерих това добър сериал статии (http://weblogs.asp.net/dwahlin/creating-custom-angularjs-directives-part-i-the-fundamentals) от велики Дан Wahlin.  След съветите му, Създадох много бързо <Здравей, свят> директива и се премести към моя по-сложни грешка дисплей гумен. Аз се блъсна в малко проблеми с този по-сложни директива.  Щастливо, някак случайно, Бях казал WebStorm (редактор, използвам тези дни) че на JS файл е файл, ъглови и това ми помогна да разбера проблема.  Това е кода за самата Директива:

angular.Module("CDLApp").Директива("generalCdlErrorHandler", функция() {

връщане {
ограничаване на: "E",
замени: вярно,

приложно поле: {
retrieveLastConfigurationError: "&"
},

шаблон:
'<DIV клас = "бдителен предупреждение-опасност" роля = "предупреждение" ПГ-първоначален = "doShowExpandedErrorDetails = true" ПГ-шоу = "retrieveLastConfigurationError()">' +
"Имаше / и грешка или друга грешка. Това обикновено се случва, защото конфигурационния файл с данни не може да бъде " +
"намерени или в конфигурационния файл съдържа неточна информация (като съотнасяне на библиотека с документи " +
"това не съществува).' +
' <BR />' +
' <DIV ПГ-шоу = "doShowExpandedErrorDetails">' +
' <a href = "#" ПГ-клик = "doShowExpandedErrorDetails = ! doShowExpandedErrorDetails">' +
"Щракнете тук, за да скриете подробности." +
' </а>: ' +
' <BR />' +
' <предварително>{{retrieveLastConfigurationError() | JSON}}</предварително>' +
' <BR />' +
' </DIV>' +
' <DIV ПГ-шоу = "!doShowExpandedErrorDetails">' +
' <a href = "#" ПГ-клик = "doShowExpandedErrorDetails = ! doShowExpandedErrorDetails">' +
"Щракнете тук, за да разгънете подробни данни за грешката." +
' </а>' +
' </DIV>' +
'</DIV>'
};
});

По принцип, Аз съм създаване на нов елемент, наречен "generalCdlErrorHandler".  Тя се нуждае от достъп до функция, наречена retrieveLastConfigurationError и която се обработва в обхвата на обекта.  Вероятно би могъл само да използва родителски обхват, но това се чувства мързеливи.  Ако някой мисли, трябва да са направили това, Бих искал да чуе за това в коментарите.

Това е цял глоба, но аз не получават нищо.  Няма грешки, промъкват в конзолата (най-малко веднъж оправих всички sx грешки съм създал по пътя).  Аз просто не се получи всяка продукция от директивата.  Аз отидох и добавя някои статичен текст преди директивата на ПГ-шоу и аз * е * се, че. Това ме накара да мисля че може би директивата не бе позволено да имплицитно създаде нови vars като "doShowExpandedErrorDetails" или "ПГ-първоначален" там. 

Върнах се в HTML, за да видите, ако имах тип и този път WebStorm ми помогна.  Аз са били преминаване във функцията на retrieveLastConfigurationError като това:

<генерал cdl грешка манипулатор retrieveLastConfigurationError="CDLController.retrieveLastConfigurationError()">
</генерал-cdl-грешка-манипулатор>

Но това наистина е необходимо да бъде това:

<генерал cdl грешка манипулатор извличане-последно-конфигурация-грешка = "CDLController.retrieveLastConfigurationError()">
</генерал-cdl-грешка-манипулатор>

WebStorm е достатъчно умен, за да се знае, че тя трябваше да бъде с тире.  Ако то не е при условие че намек, Аз ще вероятно бъда все още отстраняване на това Усмивка.  Забавни Таймс!

Номерът е това: не само е с тире на Директива елемент името, така са всички атрибути, можете да добавите към него.  След като добавих тирета, всичко работи чудесно.  Дан настойнически случайност да използват къси единични имена, така че аз не направи връзката.

Надежда този помагам някой.

</край>

undefinedАбонирайте се за моя блог.

Следвайте ме на Twitter в http://www.twitter.com/pagalvin

IE9 Наистина не харесва, когато ви се съкращават с вашия <еталониране> Таговете

Аз бях паднал в лош навик на using хроничен цялото време.  Това е "лошо", защото неща, аз развиват наистина трябва да тече на много други уеб браузъри, включително, за съжаление IE8.  Работата ми лаптоп има IE9 стандарт по някаква причина) и бях просто правиш бърза проверка, за да видите какви неща изглеждаше като и това не е хубаво.  За пример:

image

Е * трябвало * да изглежда така:

image

 

Не само, че е изключено, но моите събития не са изпичане.  (Повечето от тях, все пак).

Визуално, Той изглеждаше като нещата започнаха да се вдигне на релсите близо до "Преден Setup" връзка.  В тази част от HTML и е установено, че имах този ред:

<педя клас = "glyphicon glyphicon-нов-прозорец" />

Това изглежда като допустим синтаксис ("Хром версия 40.02214.94 м"е добре с него). Аз отидох и го променя все пак, както е показано:

<педя клас = "glyphicon glyphicon-нов-прозорец"></еталониране>

Този неподвижен то.

Такава една малка малко нещо причинени такава огромна бъркотия на екрана.  Забавни Таймс.

Това се случи да бъде бързо, но това също е вид на нещо, което просто получава гръбнака неподравнени, когато го виждате.  Има над 500 линии на HTML в тази малка администратор функция и вие просто не искате да намерите себе си намират сред тези плевели, някога Усмивка.

</край>

undefinedАбонирайте се за моя блог.

Следвайте ме на Twitter в http://www.twitter.com/pagalvin

HTTP 406 Грешка при използване на ъглови $http.get срещу SharePoint ОСТАНАЛИТЕ крайни точки

Актуализация: Марк АД ndersson посочи, това голямо парче на информация: HTTP://blogs.Office.com/2014/08/13/JSON-Light-support-REST-SharePoint-API-Released/. Това обяснява много :).

Това може да бъде най-лошото заглавието на блог пост някога! Anyhoo.

Обикновено се правят всички на моята прототипи срещу O365 екземпляр. Имам моя личен случай, така че не трябва да се притеснявате за някой друг, засягащи. Като настрана-не забравяйте, когато ние наричаме се извършват около виртуални машини за нашите лаптопи с мъх – SQL Server, IIS, определящ Hyper-V срещу. VMWare? Anyhoo...

Се е развил ап използване на Ъгловата в тази среда, която прави, наред с други неща, Това:

$http.get(serverUrl)
.успех(функция(данни, статус, заглавки, довереник) {

var getLinksResponse = данни;

getLinksResponse.value.forEach(функция(Резултатът) {

// и така нататък и така пяна

Това е движение прав глоба в две различни среди SharePoint онлайн. Въпреки това, Когато колегата ми го пренесли на копие на Cloudshare, Той се HTTP 406 грешка (който е за първи път, аз винаги имам една, така... Уау, Предполагам). Направихме малко изследвания и забелязах, че заглавния блок на "Приемат" е изключено. SharePoint онлайн е напълно щастлив с:

Приемете: приложение/json

Но на cloudshare съд (което е SP на prem, домакин на виртуален сървър) Исках на класическия "odata = многословно" прибавка in както и:

Приемете: приложение/json;oData = многословно

Да се определи, че, Ние добавя заглавието като такива:

var довереник = {заглавки: {
"Приемат": "приложение/json;oData = многословно "
}
};

$http.get(serverUrl,довереник)
.успех(функция(данни, статус, заглавки, довереник) {

var getLinksResponse = данни;

getLinksResponse.value.forEach(функция(Резултатът) {

// и така нататък и така пяна

Че се отървах от 406, но това също се промени формата на отговор. Това беше повече... многословен. (Haha!) Ето крайния резултат и повече промени са били необходими:

var довереник = {заглавки: {
"Приемат": "приложение/json;oData = многословно "
}
};

$http.get(serverUrl,довереник)
.успех(функция(данни, статус, заглавки, довереник) {

var getLinksResponse = данни;

getLinksResponse.d.results.forEach(функция(Резултатът) {

// и така нататък и така пяна

Това само се превърна в 30 минута проблем за нас, така че ние lucked. Надявам се някой намери тази полезна.

</край>

Практически съвети: Разреши няколко ъглови SharePoint уеб компоненти на същата страница

Този блог постове описва как можете да имате множество Angular.js базирани SharePoint уеб части (препраща чрез уеб компонент за редактор на съдържание) на същата страница. Обаждам се на уеб компонент за редактор на съдържание (CEWP) това препраща към JavaScript, с помощта на Angular.js рамка "ъглова Web част."

На Ъгловата в bootstrap процес е супер лесно и просто за всеки пример, можете намерите на internets е нещо подобно:

<HTML ПГ-ап = "Моетоприлож">

<бла /><бла /><бла />

</HTML>

Това развали, Въпреки това, Ако искате да разрешите няколко CEWP представляващи множество ъглови уеб компоненти на същата страница. Ъгловата ще автоматично само срещу първата директива ПГ-ап го bootstrap находки – поне от ъгловите версия 1.3.6. Решението е доста проста-ръчно bootstrap своя код вместо. По-горе промени на нещо подобно:

<тяло>
<d
IV ИД =”bootstrapHere” ПГ-контролер =”myController като theController”>
<бла /><бла /><бла />
</DIV>
</тяло>

<скрипт src =”//AJAX.googleapis.com/AJAX/libs/angularjs/1.3.6/angular.js”></скрипт>

<скрипт>
angular.Bootstrap(angular.Element(document.getElementById(“bootstrapHere”)),["Моетоприлож"]);
</скрипт>

По принцип, вместо да използвате ПГ-ап на елемент да направите вашия bootstrapping, шамар ИД към този елемент. След това, Използвайте bootstrap() метод на ъгловите себе си да контролира bootstrapping процес по време на изпълнение. Аз бях тестван това с три различни ъглови уеб компоненти на същата страница и то работилница чар.

</край>

undefinedАбонирайте се за моя блог.

Следвайте ме на Twitter в http://www.twitter.com/pagalvin

Ню Джърси моторни превозни средства Комисията взема друга жертва

Така, Моят син е малко закъсняла, получаване му шофьорско разрешително.  Вчера, в средата сутрин, Той камиони до Оукланд NJ да го получи.  Той получава там, попълва документацията му се издава разрешително без марка и научава, че той сега трябва да отидете на друг MVC място да си око тест.  Тъй като, Очевидно, високо квалифицирани око тестери не само живеят някъде, така че NJ MVC трябва да отиде където талантът е.  Или, може би това е защото те са следните Хамилтонов философия на консолидация?  И Хамилтън усеща финансови и производствени консолидация са критични за бъдещата икономическа мощ на Република, може би Ню Джърси MVC чувства, те се нуждаят консолидират око тестване талант за бъдещите силата на Ню Джърси MVC?  Може би това е част от един неизказан план?  Уви, Имам само въпроси по тази тема и не отговори. 

Следните Oakland съвети, съпруга и син камион си чак до Lodi, Ню Джърси без марка разрешително за Лоди.  Лоди може да има най-лошото паркинг на всяко място, Ню Джърси MVC.  И, тъй като те също така домакин някои от оскъдни все още силно пожелах око тестване на машини и окото тестване професионалисти, те привличат supplicants на всички ивици, нюанси, образование и gawkers.  Синът ми работи пътя си през лабиринта на линии и указанията, осигурени от "never-look-them-in-the-eye" Ню Джърси MVC професионалисти и накрая да достигнем до окото тестване линия.  Те сега се научат, че на Оукланд човек прави грешка на разрешителното без марка.  Той погрешно изнервящ номера на социалната осигуровка, поставянето на "8" вместо "2" в една от цифри.  Ню Джърси КАТ човек знаеше това, защото когато тя спря този грешен SS # в компютъра, Тя не показва име на сина ми.  Съпруга и син казват, "о, Това е грешен номер, когато има нужда '2' вместо "8." "  Това, което мнозина, може би бихте очаквали всеки справедлива непредубеден човек в този момент е за Ню Джърси MVC човек да просто коригира броят те току-що влезе в компютъра.  Ха! Глупак!  Не, Вместо това той е бил помолен да предостави своя социален карта за сигурност.  Нека да отделям за момент и помисли, че за да получи разрешителното без марка на първо място, Той вече е предвидено паспорт САЩ, както и Ню Джърси, свидетелство за раждане и писмо, написано на него му домашен адрес.   Майка му е с него, споделя името му, му адрес, Неговата височина (но за съжаление, не си вкус в sci-fi филми) ... ти име, Моят син е добре и наистина определи като живот отдавна пребиваващи на тези на САЩ и наистина, Ню Джърси себе си от всяка мярка, можете да си представите.  Ако на Ню Джърси MVC човек ще са просто фиксирани грешката на Оукланд човек прави, компютърът ще извади на сина ми информация и която щеше да бъде край на историята.  Но отново, глупак!  Те не могат да направят това. Вместо това, Ню Джърси MVC настояват за социална сигурност карта сега. 

Така, съпруга и син се прибера вкъщи да го получи и рекламация.  И в крайна сметка, Той получава разрешителното му.

Ето три различни пътувания до Ню Джърси MVC в един ден.  За да получите разрешителното му.  Отне почти 6 часа от начало до край.  Това е въвеждането на сина ми на шофиране в държавата Градина.

Ню Джърси MVC е ясно счупени. 

</край>

Ъглови не успее да Bootstrap в IE9

Аз бях играя наоколо с Angular.js за последно дълго време и за живота на мен, НЕ можех да ми ъглови приложения да започне през IE9.  Всички те работят добре в IE11 но IE9 ще покаже само фигурни скоби и други подобни бита.

Аз търся наоколо и не можах да намеря някой оплаквам за проблема си.  Тя работи добре в хром, IE11, просто не IE9.

Аз бях изхвърлен от факта, че IE конзолата ми даваше грешки като тази:

SEC7111: HTTPS сигурност е компрометирана от ВЕИ://ieframe.dll/forbidframing.htm

Тази грешка ми имаше някакъв проблем изтегляне ъглови или други библиотеки, които трябваше да мисля беше.  Както се оказва, Това не е проблем.

От изпълзяват около internets, Най-накрая разбрах, че трябваше да се търси за фразата "bootstrap" и че тя изглеждаше като bootstrapping изневеряваше.  В края, Моят проблем е, че са украсени ми <HTML> етикет с ПГ-ап атрибут, както и в:

<HTML ПГ-ап = "MatrixApp">

Ами, Това не е работа за IE9.  Вместо това, Аз опаковани всички останалата част от HTML в <тяло> вътре в div и препратки MatrixApp по този начин.

Проблем решен.

Надявам се това спестява някой някои мъка.

</край>

Създаване на потребителски SharePoint форми без страница образец

Моят колега, Лорън Джоунс, пише до хубава презентация за това как да създадете потребителски данни влизане формуляр с помощта на SharePoint Designer.  Това не е точно "ново под слънцето", но там е малко на обрат.  По думите й:

Създаване на потребителски формуляри е право напред да се направи в SharePoint Designer, пътувам по море към вашия списък и в лентата на менюто изберете "формуляр за списък’ и създайте нов шаблон на формуляр.

Това работи добре, ако искате вашия формуляр, за да бъде приложен към страница образец, но какво, ако имате използват при създаване на формуляр, който е в изскачащ прозорец или е самостоятелна без SharePoint хром. Имах точно този случай употреба, Аз исках да потребителски стил форма след това да използвате този формуляр в изскачащи div вградени в рамките на страница.

Не се отчайвайте, има начин да направите това, което не е толкова интуитивен, но сравнително лесно да се постигне.

Можете да прочетете всички подробности тук: http://www.bigapplesharepoint.com/pages/View-An-Insight.aspx?BlogID=55&rtitle=customforms&rsrouce=pgblog и можете да го видите в действие, като щракнете върху "свържете се с нас за повече информация" връзката на някоя от услугите на услуги страница на нашия Big Apple SharePoint сайт (http://www.bigapplesharepoint.com/services).

Лорън пише много добри неща за UX и брандинг.  Можете да видите повече от тук пишете тук: http://www.bigapplesharepoint.com/team?showExpertName=Lauren%20Jones.

</край>

Разсейващ дизайн и пиян на функцията Coolaid

Моят колега, Лорън Джоунс (https://twitter.com/laurenjones02) пише до кратка статия говори за това как прекалено сложни SP разгръщане са много трудно на крайните потребители.  Това е нещо очевидно, по начин, но това е лесно за мен да кажа, че след като аз съм дирижирано много сложни разгръщане неща за неподготвени крайните потребители през годините.

Тук е ключът "графика:

Преди пет години, когато аз се разточва SharePoint на организация за първи път с основна цел стане платформа за сътрудничество и замяна на акции дискове, Ние също така въведе социални и информационни канали с новини чрез RSS, Моите сайтове и профили, и folksonomy маркиране. Разбира се, Това е много за крайните потребители да приемат в един замах. Докато имаше успех с приемането около управлението на документи и профили, RSS и маркиране е по-малко успешни и това наистина се дължеше на промяна управление комуникация и обучение. Ние не можех да го направя всичко наведнъж. Като по-малко е по-подход и освобождаване на функционалността на фази е по-лесно за крайните потребители да приемат и адаптират към.

Тази статия напомня друг малко четох от Крис Гейл свързани с вайкам на функцията набор, “Един разходите инженери и продуктови мениджъри не разглежда.”

Ако имате история на ужасите или успех да сподели, Надявам се, ще направи това в коментара на Голямата ябълка сайта.

</край>

Седмичен Ууди – Юли 13, 2014

Аз за да се xpost това тук през последните уикенд. 

Тук е 3RD статия от поредицата, където пиша за блог мнения и онлайн статии, които са особено интересни за мен през последната седмица или така.  Тази седмица влизане в серия подчертава две CodePlex проекти за потенциалните InfoPath подмяна и за управление на разрешения с SharePoint, Новини за спътници, още друг JavaScript рамка и кимна към ада Бабидж и нейната роля в компютърната история.

Можете да го прочетете тук: http://www.bigapplesharepoint.com/pages/View-An-Insight.aspx?BlogID=93&rsource=pgblog&rtitle=roundup

</край>

Изглед CAML заявки в реално време с ULS Регистрационните преглед

Моят колега, Ashsih Пател, пише на хубава презентация описва как да видите CAML зад различни SP заявки, се случи в хода на бизнес в реално време с помощта на ULS Регистрационните зрителя.

Ето интрото:

Гледал ли си да се знае какви CAML заявките се изпълняват от SharePoint Server?

Ами, за отстраняване на неизправности и обучение цел, Това не е лоша идея. Все пак, SQL Profiler помага ни отстраняване на много проблеми.

Може да има продукти, там, но аз измисли начин да го направя без да харчите допълнителни долара! И тук е...

Можете да прочетете цялото нещо тук: http://www.bigapplesharepoint.com/pages/View-An-Insight.aspx?BlogID=68&rsource=pgblog&rtitle=caml.

</край>