Açısal yönergelerinin LNB'ler ipucu (Veya, Tire her yerde tekrar sevmeyi öğrenmek)

I-si olmak birkaç apps o yapmak $http.get() aramalar ve çirkin hata bilgi gizli güzel biçimlendirilmiş bir hata iletisi göstermek için güçlü olmak istedim., Ama erişilebilir.  Temelde, Bu:

image

Ve sonra Eğer üzerinde hata tıkladığında, bilgi daha fazla görmek:

image

Basit bir şey.  Beri aynı potansiyel hata yönetici ekranı olarak son kullanıcının ekran görünebilir, açıkça özel açısal yönergesi için aradı.  BEN  Bunu buldum En iyi dizisi Makaleler (http://weblogs.asp.net/dwahlin/creating-custom-angularjs-directives-part-i-the-fundamentals) büyük Dan Wahlin.  Tabi onun tavsiye, Çok hızlı bir şekilde oluşturulan bir <Merhaba Dünya> yönerge ve taşınan üstünde-e doğru benim daha karmaşık hata ekranı camsil. Biraz belaya daha karmaşık bu yönerge ile karşılaştım.  Sonsuza dek mutlu, şans eseri sayılır, WebStorm söylemişti. (Bu gün kullanmak editörü) JS dosyasının açısal bir dosya olduğunu ve o yardımcı beni sayı rakam.  Bu yönergenin kodudur:

angular.Module("CDLApp").yönergesi("generalCdlErrorHandler", işlevi() {

geri dönmek {
kısıtlamak: "E",
Değiştir: TRUE,

kapsam: {
retrieveLastConfigurationError: "&"
},

Şablon:
'<div class = "uyarı-tehlike uyarısı" rolü "uyarı =" NG-init = "doShowExpandedErrorDetails = true" NG-show "retrieveLastConfigurationError =()">' +
' Bir g/ç hatası ya da başka bir hata yapıldı.. Yapılandırma veri dosyası değil olabilir, çünkü bu genellikle olur. ' +
' bulunamadı veya hatalı bilgi yapılandırma dosyası içeriyor (başvuran bir belge kitaplığı gibi ' +
' Bu mevcut değil).' +
' <br />' +
' <div ng-show "doShowExpandedErrorDetails" =>' +
' <bir href = "#" NG tıklayın = "doShowExpandedErrorDetails = ! doShowExpandedErrorDetails">' +
'Ayrıntıları gizlemek için burayı tıklatın.' +
' </bir>: ' +
' <br />' +
' <Pre>{{retrieveLastConfigurationError() | JSON}}</Pre>' +
' <br />' +
' </div>' +
' <div ng-show = "!doShowExpandedErrorDetails">' +
' <bir href = "#" NG tıklayın = "doShowExpandedErrorDetails = ! doShowExpandedErrorDetails">' +
'Hata ayrıntılarını genişletmek için burayı tıklatın.' +
' </bir>' +
' </div>' +
'</div>'
};
});

Temelde, "GeneralCdlErrorHandler" adlı yeni bir öğe oluşturmak değilim.  RetrieveLastConfigurationError adında bir işlevi erişmesi ve bu kapsam nesne işlenir.  Ben muhtemelen sadece üst kapsam kullanılmış olabilir, Ama bu tembel geldi.  Eğer başka kimse bunu yapmalıydık, Bu konuda yorum duymak isteriz..

Bu her şey çok güzel, Ama bir şey elde değildi.  Konsol hiçbir hata çıktı (en az bir kez, ben yol boyunca oluşturulan tüm sx hataları sabit).  Ben sadece herhangi bir çıktı yönergesi alamadım.  Gittim ve bir statik metin ng-show yönergesi ve önce eklendi * mi * olsun. Bu beni belki direktif örtülü olarak "doShowExpandedErrorDetails" gibi yeni vars oluşturmak veya bir "ng-init" olması için izin verilmedi ki orada düşündürdü. 

Eğer bir tür ile bu kez WebStorm bana yardımcı oldu görmek için HTML içine döndü.  Ben böyle retrieveLastConfigurationError işlevinde geçen:

<General cdl hata işleyicisi retrieveLastConfigurationError="CDLController.retrieveLastConfigurationError()">
</General cdl hata işleyicisi>

Ama bu gerçekten bu olması gerekiyordu:

<General cdl hata işleyicisi Al-son-yapılandırma-hata "CDLController.retrieveLastConfigurationError =()">
</General cdl hata işleyicisi>

WebStorm anavatanına bağlı zorunda olduğunu bilecek kadar akıllı.  Bu ipucu verdiyse yoktu, Ben muhtemelen hala bu sorun giderme Gülümseme.  Eğlenceli kez!

İşin sırrı budur.: Sadece yönerge öğesi adı hecelerine bölünen, Yani sen eklemek herhangi bir özniteliktir.  Bir keresinde tire ekledi, o tüm amele büyük.  Dan'in öğretici kısa tek isimleri için oldu., Bu yüzden bağlantı yapmak değil.

Bu kimse yardımcı olur.

</sonunda>

undefinedBenim blog abone.

Heyecan beni izleyin http://www.twitter.com/pagalvin

IE9 İle kestirmeden gerçekten çok hoşlanmaz, <yayılma> Etiketler

İstimal krom her zaman kötü bir alışkanlık düştüm.  "Kötü" çünkü ben geliştirmek şeyler gerçekten diğer web tarayıcıları çok üzerinde çalıştırmak için gereken., dahil olmak üzere, Ne yazık ki IE8.  Benim iş laptop IE9 standart herhangi bir nedenle vardır.) Sadece hızlı bir işi vardı ne şeyler gibi ve... o baktı görmek için kontrol güzel değildi.  Örneğin:

image

Bu * gerektiği * bu gibi görünmek için:

image

 

Sadece kapalı olduğunu, Ama benim click olayları ateş değildi.  (Bunların çoğu, Yine de).

Görsel olarak, "Gelişmiş Ayarlar" bağlantısını yakınındaki raylar çıkmak bir şeyler başladı galiba.  HTML parçası kazdık ve bu hat vardı bulundu:

<sınıf span "glyphicon glyphicon-yeni-pencere" = />

İzin verilen sözdizimi gibi görünüyor ("Chrome sürümü 40.02214.94 m"sorun). Ben de gidip en azından değiştirdi, görüldüğü gibi:

<sınıf yayılan glyphicon glyphicon-yeni-= "pencere"></yayılma>

Bu sabit.

Küçük, küçücük bir şey büyük bir ekranın berbat neden oldu.  Eğlenceli kez.

Bu hızlı bir düzeltme oldu, Ama aynı zamanda gördüğün zaman sadece dışarı uyum omurga aldığı bir şey.  Orada vardır 500 Bu küçük yönetici fonksiyonu ve HTML hatları sadece kendinizi bu yabancı otların arasında kazma bulmak istemiyorum, Şimdiye kadar Gülümseme.

</sonunda>

undefinedBenim blog abone.

Heyecan beni izleyin http://www.twitter.com/pagalvin

HTTP 406 SharePoint dinlenme bitiş noktaları karşı açısal $http.get kullanırken hata

Güncelleştirme: Marc reklam ndersson bu büyük parça-in haberdar etmek işaret etti.: http://blogs.Office.com/2014/08/13/JSON-Light-support-Rest-SharePoint-api-released/. Bu çok açıklayıcı oldu :).

Bu kadar kötü başlık bir blog yazısı olabilir! Her neyse.

Ben genellikle yapmak tüm-in benim prototipleme karşı bir O365 örneği. Benim kişisel örnek başka birini etkileyen hakkında endişeli olmaya gerek yok ben vardır. Bir kenara olarak – ne zaman bizim laptoplarda MOSS ile– sanal makineleri taşınan arayacağız SQL Server hatırlıyorum, IIS, Hyper-V vs karar verme. VMWare? Her neyse...

Bu ortamda açısal kullanarak bir uygulama geliştirmişti., diğer şeyler arasında, Bu:

$http.get(serverUrl)
.başarı(işlevi(veri, durumu, başlıkları, config) {

var getLinksResponse = veri;

getLinksResponse.value.forEach(işlevi(Result) {

// ve benzeri ve çok saçma

Bu sadece iyi iki farklı SharePoint çevrimiçi ortamlarda çalışıyordu. Ancak, Ne zaman benim meslektaşım Cloudshare örneğine taşıdık, o was getting bir HTTP 406 hata (Bu aldığım ilk kez neydi, Bu yüzden... yay, Sanırım). Biraz araştırma yaptım ve "Kabul ediyorum" başlık kapalı olduğunu fark ettim. SharePoint online ile gayet mutlu:

Kabul etmek: uygulama/json

Ama cloudshare örneği (prem üzerinde SP hangisi, sanal sunucuda barındırılan) Klasik istedim "odata = verbose" de eklendi:

Kabul etmek: uygulama/json;Odata = verbose

Bunu düzeltmek için, Bu başlığı eklendi:

config var = {başlıkları: {
'Kabul': ' uygulama/json;Odata = verbose'
}
};

$http.get(serverUrl,config)
.başarı(işlevi(veri, durumu, başlıkları, config) {

var getLinksResponse = veri;

getLinksResponse.value.forEach(işlevi(Result) {

// ve benzeri ve çok saçma

Bu var kurtulun 406, Ama aynı zamanda yanıt biçimi değişti. Daha fazla... ayrıntılı. (haha!) Daha fazla değişiklik gerekli ve nihai sonuç:

config var = {başlıkları: {
'Kabul': ' uygulama/json;Odata = verbose'
}
};

$http.get(serverUrl,config)
.başarı(işlevi(veri, durumu, başlıkları, config) {

var getLinksResponse = veri;

getLinksResponse.d.results.forEach(işlevi(Result) {

// ve benzeri ve çok saçma

Bu sadece içine açık bir 30 bizim için dakika sorun, Biz dışarı lucked. Umarım kimse bu yararlı bulur.

</sonunda>

Nasıl yapılır: Aynı sayfada birden çok açısal SharePoint Web bölümleri etkinleştir

Bu blog Mesaj açıklar nasıl çoklu olabilir Angular.js dayalı SharePoint web bölümleri (İçerik Düzenleyici web bölümü başvurulan) aynı sayfada. İçerik Düzenleyici web bölümü arıyorum (CEWP) JavaScript bir "açısal Web Bölümü" Angular.js framework ile oluşturulan referanslar

Açısal'ın önyükleme işlemi çok kolaydır ve her örnek Internets üzerinde bulmak böyle devam ediyor:

<HTML ng-app 'Uygulamam' =>

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

</HTML>

Bu yıkar, Ancak, birden çok CEWP'ın aynı sayfa üzerinde birden fazla açısal web bölümü temsil eden etkinleştirmek istiyorsanız. Açısal yalnızca otomatik olarak ilk ng-uygulama yönergesi karşı bu buluntular bootstrap – En azından açısal sürüm itibaren 1.3.6. Çözüm oldukça basit-el ile kodunuzu yerine bootstrap. Şimdi böyle bir şey için yukarıdaki değiştirir:

<vücut>
<d
IV kimliği =”bootstrapHere” NG-controller =”myController theController olarak”>
<blah /><blah /><blah />
</div>
</vücut>

<script src =”//Ajax.googleapis.com/Ajax/libs/angularjs/1.3.6/angular.js”></komut dosyası>

<komut dosyası>
angular.Bootstrap(angular.Element(Document.getElementById(“bootstrapHere”)),['Uygulamam']);
</komut dosyası>

Temelde, NG-app öğesinde, önyükleme yapmak için kullanmak yerine, Bu öğenin üzerine bir kimlik tokat. O zaman, bootstrap kullanın() açısal yöntemi kendisi önyüklemesi denetlemek için çalışma zamanında işlemek. Ive'sınav bu aynı sayfada üç farklı açısal web bölümleriyle ve o inşaat a çekicilik.

</sonunda>

undefinedBenim blog abone.

Heyecan beni izleyin http://www.twitter.com/pagalvin

New Jersey motorlu araç komisyon alır bir kurban daha

Yani, Oğlum onun sürüş izni alma biraz gecikti.  Dün, Orta sabah, o kamyon almak için Oakland NJ kadar.  Oraya ulaşmadan, evrak işlerini dışarı dolgu unstamped bir izni verilir ve o şimdi için gitmesi gerektiğini öğrenir başka bir Onun göz testi için MVC konum.  Çünkü, Görünüşe göre, çok yetenekli göz test sadece bir yerde yaşamak değil, Yani NJ MVC yetenek nerede gitmesi gerekiyor.  Veya, Konsolidasyon Hamilton felsefesini takip ediyoruz çünkü Belki bu kadar?  Konsolidasyon mali ve üretim Hamilton hissettim ne kadar kritik Cumhuriyet gelecekteki ekonomik gücünü, Belki onlar NJ MVC gelecek gücü için yetenek testi göz birleştirmek NJ MVC hissediyor?  Tarifsiz bir planın parçası olabilir?  Ne yazık ki, Ben sadece bu konuda ve cevap sorular var. 

Şu Oakland'ın tavsiyesi, karısı ve oğlu Lodi aşağı onların yol kamyon, NJ Lodi için unstamped izni ile.  Lodi en kötü Park NJ MVC herhangi bir konum olabilir.  Ve, Onlar da bazı kıt ana beri test makineleri ve profesyonel test göz göz henüz son derece coveted, Onlar tüm çizgiler güvenemeyeceklerini çekmek, gölgeler, Eğitim ve gawkers.  Oğlum labirent aracılığıyla onun yol çizgileri ve yön "never-look-them-in-the-eye" NJ MVC profesyoneller tarafından sağlanan çalışır ve sonunda hattı sınamakta gözüne geliyor.  Öğrenmeleri şimdi Oakland kişi üzerinde unstamped izni bir hata yaptım.  O sosyal güvenlik numarası yanlış tuşladığınız, koyarak bir "2" bir basamak yerine bir "8".  Ne zaman içinde belgili tanımlık bilgisayar o yanlış SS# yukarı çekti çünkü NJ DMV kişi bunu biliyordu, Oğlumun adı gelmedi.  Eşi ve oğlu söylemek, "Ah, yanlış numara, Orada bir '8' yerine '2' istiyorum"  Ne çok, Belki de her bir adil fikirli kişi beklediğiniz bu noktada NJ MVC kişi sayısı sadece düzeltmek için onlar değil sadece bilgisayar girdi.  Ha! Aptal!  Hayır, Bunun yerine kendi sosyal güvenlik kartı sağlanan için istendi.  Hadi bir an için konuyu dağıtmak ve ilk etapta unstamped izni almak için düşünün, o zaten bir ABD pasaport yanı sıra New Jersey doğum belgesi ve ona ev adresini yazılmış mektup verdiğini.   Annesi var, Onun adı hisse, onun adresi, onun yüksekliği (Ama ne yazık ki, bilim-kurgu film değil onun tadında) ... daha neler neler, benim oğlum bu ABD eyaletinden ve gerçekten iyi ve gerçekten hayat uzun yerleşik olarak tanımlanan, New Jersey kendisi tarafından hayal edebileceğiniz herhangi bir önlem.  NJ MVC kişi sadece bir hata sabit Eğer Oakland kişi yaptı, bilgisayar, oğlumun bilgilerini çıkardı ve bu hikayenin sonu olurdu.  Ama yine de, aptal!  Bunu yapamazlar. Bunun yerine, NJ MVC şimdi sosyal güvenlik kartı üzerinde ısrar ediyorum. 

Yani, Karın ve oğlun eve almak için dönüş git ve.  Ve sonunda, onun izni alır.

Bir günde üç farklı geziler NJ MVC böyle.  Onun izni almak için.  Neredeyse aldı 6 dan itibaren baştan sona.  Bu Garden State sürüş için oğlumun giriştir.

NJ MVC açıkça bozuldu. 

</sonunda>

Açısal içinde IE9 Bootstrap başarısız

Angular.js ile son uzun süre ve bana yaşam için oynuyorum, Benim açısal apps-e doğru denize indirmek içinde IE9 alınamadı.  Hepsi IE11 içinde iş para cezası ama IE9 sadece kaşlı ve benzer bit gösterir.

I aramak çevrede ve kimse onun sorun hakkında şikayet etmek-ebil'bulmak.  O amele para cezası içinde krom, IE11, IE9 değil.

Ben IE konsol bana bu hata veriyordu Aslında tarafından atılmış:

SEC7111: Res tarafından HTTPS güvenliğini tehlikeye://ieframe.dll/forbidframing.htm

Bu hata bana açısal downloading biraz problem ya da gerekli diğer kütüphaneler olduğunu düşünüyorum vardı.  Anlaşılan o ki, Bu sorun değildi..

Internets poking tarafından, Nihayet tümcecik aramak için gerekli "önyükleme" ve önyükleme başarısız gibi görünüyordu öğrendim.  Sonunda, dekore edilmiş benim sorunum oldu benim <HTML> ng-app özniteliği içeren etiketi, olarak:

<HTML ng-app "MatrixApp" =>

İyi, IE9 için işe yaramadı.  Bunun yerine, HTML'de kalan sarılmış <vücut> içinde bir DIV ve referanslar MatrixApp bu şekilde.

Sorun çözüldü.

Umarım bu kimse bazı keder kaydeder.

</sonunda>

Özel SharePoint form olmadan bir ana sayfa oluşturma

Benim meslektaşım, Lauren Jones, güzel bir yürüyüş SharePoint Designer'ı kullanarak bir özel veri giriş formu oluşturma hakkında yazdı.  Bu tam olarak "yeni güneş altında" ama biraz twist's.  Onun sözleriyle:

Özel formlar oluşturmak için SharePoint Designer'da yalındır olduğunu, listenize ve şerit menü seçin gidin ' liste formu’ yeni form şablonunuzu oluşturun.

Formunuz için bağlanmak isterseniz de bu işleri ana sayfa, Ama eğer bir form oluşturma ve kullanma durumu var içinde a halk pencere veya SharePoint chrome olmadan tek başına bir. Tam olarak bu kullanım örneği vardı., Bir form için özel stil o zaman bir pop-up div satır içi bir sayfa içinde o formu kullanmak istedim..

Umutsuzluğa kapılma, Ama oldukça kolay ulaşmak için bu kolay değildir bunu yapmanın bir yolu.

Sen-ebilmek okumak tüm ayrıntıları: http://www.bigapplesharepoint.com/pages/View-An-Insight.aspx?BlogID=55&rtitle=customforms&rsrouce=pgblog herhangi bir Big Apple SharePoint sitesi hizmetleri sayfasında Hizmetleri "daha fazla bilgi için bize ulaşın" bağlantısını tıklatarak eylem görebilirsiniz (http://www.bigapplesharepoint.com/services).

Lauren, UX ve markalaşma çok iyi şeyler yazıyor.  Daha burada burada yazma görebilirsiniz: http://www.bigapplesharepoint.com/team?showExpertName=Lauren%20Jones.

</sonunda>

Tasarım ve özellik Coolaid sarhoş edici

Benim meslektaşım, Lauren Jones (https://twitter.com/laurenjones02) kısa bir makale hakkında fazla konuşmak kadar karmaşık SP üretimler son kullanıcılara çok zor yazdı.  Bu çeşit açıktır, bir şekilde, Ama yıllar içinde çok şey hazırlıksız son kullanıcılar için karmaşık işlemlerini düzenledi sonra söylemek daha kolaydır..

Burada anahtar 's ' grafik:

Beş yıl önce, Ne zaman işbirliği platformu olma ve paylaşım sürücüleri değiştirme birincil hedefi ile ilk kez bir organizasyon için SharePoint haddelenmiş., Biz de sosyal tanıttı ve RSS haber başlıkları, Benim siteleri ve profilleri, ve folksonomy etiketleme. Söylemeye gerek yok, Bu son kullanıcıların bir birer birer evlat edinmek çoktu. Belge yönetimi ve profilleri kabulü ile başarı iken, RSS ve etiketleme daha az başarılı ve bu gerçekten değişiklik yönetimi iletişim ve eğitim nedeniyle oldu. Tek seferde yapamayız. Alarak daha az, daha bir yaklaşımdır ve işlevselliği aşamalarında bırakmadan daha kolay son kullanıcılar kabul ve kabul.

Bu makalede, başka bir bit tarafından okunan hatırlatıyor Kris Gale Ağlamak'ın özellik seti ile ilgili, “Mühendisler mal ve ürün yöneticileri olarak görmüyor.”

Eğer sen-si olmak bir korku hikayesi ya da paylaşmak için başarı öyküsü, Umarım yorum Big Apple sitesinde bunu.

</sonunda>

Haftalık geçen hafta – Temmuz 13, 2014

Ben xpost için bu geçmiş hafta sonu buraya. 

İşte 3RD makale blog posta ve geçen hafta ya da öylesine benim için özellikle ilginç online makaleler hakkında yazmak bir dizi.  Bu haftanın giriş serisi iki CodePlex projeler için potansiyel InfoPath değiştirme ve yönetme izinleri olan SharePoint olayları, uydular hakkında Haberler, henüz başka bir JavaScript çerçeve ve Ada Babbage ve geçmiş bilgisayar rolü bir nod.

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

</sonunda>

Görünüm CAML sorguları gerçek zamanlı ULS Görüntüleyici ile

Benim meslektaşım, Ashsih Patel, yazdığı kadar güzel bir yürüyüş CAML çeşitli SP arkasında görmek nasıl açıklayan bu gerçekleşmesi sırasında gerçek zamanlı ULS görüntüleyiciyi kullanarak iş sorgular.

İşte intro:

CAML sorguları SharePoint sunucusu tarafından yürütülen biliyor musun hiç?

İyi, sorun giderme ve amaçla öğrenme için, Bu kötü bir fikir değil.. Sonuç olarak, SQL Profiler bize birçok sorunu gidermek yardım ediyor.

Orada-ebilmek var olmak ürünler var ama ekstra dolar harcama olmadan yapmak için bir yol buldum! Ve işte...

Sen-ebilmek okumak her şey burada: http://www.bigapplesharepoint.com/pages/View-An-Insight.aspx?BlogID=68&rsource=pgblog&rtitle=caml.

</sonunda>