Petua Trouble-Shooting untuk sudut arahan (Atau, Belajar untuk menyukai sengkang sekali lagi)

Saya mempunyai beberapa apps yang membuat $http.get() panggilan dan saya ingin dapat tayang mesej ralat baik diformat dengan butir-butir ralat hodoh yang tersembunyi, tetapi boleh diakses.  Pada asasnya, ini:

image

Dan jika pengguna klik pada ralat, mereka melihat maklumat lanjut:

image

Hal-hal yang mudah.  Kerana tepat ralat potensi yang sama boleh muncul di skrin pentadbiran serta skrin pengguna akhir, Ia jelas menuntut arahan sudut adat.  Saya  Adakah ini siri cemerlang artikel-artikel (http://weblogs.asp.net/dwahlin/creating-custom-angularjs-directives-part-i-the-fundamentals) oleh yang hebat Dan Wahlin.  Berikutan nasihat beliau, Saya dengan cepat telah mencipta satu <Hello dunia> arahan dan bergerak ke squeegee paparan ralat saya lebih kompleks. Aku berlari ke dalam sedikit masalah dengan arahan ini lebih kompleks.  Bahagia, semacam kebetulan, Saya telah memberitahu WebStorm (editor yang saya gunakan hari ini) bahawa fail JS adalah satu fail sudut dan ia membantu saya memikirkan isu ini.  Ini adalah kod untuk arahan itu sendiri:

angular.Module("CDLApp").arahan("generalCdlErrorHandler", fungsi() {

kembali {
mengehadkan: "E",
menggantikan: benar,

Skop: {
retrieveLastConfigurationError: "&"
},

template:
'<DIV class = "memberi amaran berjaga-jaga-bahaya" peranan = "memberi amaran" Ng-init = "doShowExpandedErrorDetails = true" Ng-Tunjuk "retrieveLastConfigurationError =()">' +
' Jadilah ralat I/O atau lain-lain kesalahan. Ini biasanya berlaku kerana Konfigurasi fail data tidak boleh ' +
' dijumpai atau fail konfigurasi itu mengandungi maklumat yang tidak tepat (seperti rujukan Perpustakaan dokumen ' +
' yang tidak wujud).' +
' <br />' +
' <Bhg. ng-Tunjuk = "doShowExpandedErrorDetails">' +
' <a href = "#" Ng-click = "doShowExpandedErrorDetails = ! doShowExpandedErrorDetails">' +
'Klik di sini untuk menyembunyikan maklumat.' +
' </1>: ' +
' <br />' +
' <pra>{{retrieveLastConfigurationError() | JSON}}</pra>' +
' <br />' +
' </div>' +
' <Bhg. ng-Tunjuk = "!doShowExpandedErrorDetails">' +
' <a href = "#" Ng-click = "doShowExpandedErrorDetails = ! doShowExpandedErrorDetails">' +
'Klik di sini untuk mengembangkan butiran ralat.' +
' </1>' +
' </div>' +
'</div>'
};
});

Pada asasnya, Saya sedang membuat elemen baru yang dipanggil "generalCdlErrorHandler".  Ia memerlukan akses kepada fungsi yang dipanggil retrieveLastConfigurationError dan bahawa ia akan dikendalikan dalam objek skop.  Saya mungkin dapat hanya menggunakan skop ibu/bapa, tetapi yang terasa malas.  Sesiapa yang menyangka saya harus melakukan yang, Saya akan senang mendengar tentang hal itu dalam komen.

Ini semua baik-baik saja, tetapi saya tidak mendapat apa-apa.  Tiada ralat yang muncul dalam konsol (sekurang-kurangnya sekali aku tetap semua ralat sx saya mencipta duka).  Saya hanya tidak mendapat sebarang output daripada petunjuk.  Saya pergi dan ditambah beberapa teks statik sebelum arahan ng-Tunjuk dan * pula * mendapatkan bahawa. Ini membuat saya berfikir bahawa mungkin arahan tidak dibenarkan tersirat mencipta vars baru seperti "doShowExpandedErrorDetails" atau satu "ng-init" di sana. 

Saya pergi semula ke HTML untuk melihat jika saya mempunyai sejenis dan buat masa ini WebStorm membantu saya.  Saya telah lulus dalam fungsi retrieveLastConfigurationError seperti ini:

<retrieveLastConfigurationError="CDLController.retrieveLastConfigurationError Ketua-cdl-ralat-pengendali()">
</am-cdl-ralat-pengendali>

Tetapi ia benar-benar perlu berada ini:

<am-cdl-ralat-pengendali mendapatkan semula-terakhir-tatarajah-ralat = "CDLController.retrieveLastConfigurationError()">
</am-cdl-ralat-pengendali>

WebStorm adalah cukup pintar untuk mengetahui bahawa ia pasti akan hyphenated.  Jika ia tidak memberikan petunjuk bahawa, Saya akan mungkin akan masih menyelesaikan masalah ini Smile.  Masa untuk berseronok!

Silap mata ini: bukan sahaja nama elemen arahan hyphenated, begitu juga mana-mana atribut yang anda menambah kepadanya.  Sebaik sahaja saya menambah sengkang dalam, Semua bekerja hebat.  Dan tutorial berlaku untuk menggunakan nama-nama tunggal yang pendek, supaya aku tidak membuat sambungan.

Harap ini membantu seseorang.

</akhir>

undefinedLanggan ke blog saya.

Mengikuti aku di Twitter http://www.twitter.com/pagalvin

IE9 Benar-benar tidak suka apabila awak pintasan dengan anda <span> Tags

Saya telah jatuh ke dalam satu tabiat buruk menggunakan Chrome sepanjang masa.  Ia adalah "buruk" kerana barang-barang yang saya membangunkan benar-benar memerlukan untuk menjalankan banyak pelayar web lain, termasuk, Malangnya IE8.  Laptop kerja saya mempunyai IE9 standard atas sebab-sebab) dan saya hanya lakukan cepat semak untuk melihat Apakah perkara-perkara yang kelihatan seperti dan... ia tidak cantik.  Sebagai contoh:

image

Ia mempunyai * sepatutnya * kelihatan seperti ini:

image

 

Bukan sahaja itu mati, tetapi acara-acara klik saya tidak melepaskan tembakan.  (Sebahagian besar daripada mereka, anyway).

Visual, Ia kelihatan seperti perkara mula pergi rel berhampiran pautan "Persediaan lanjutan".  Saya digali ke dalam bahagian HTML dan mendapati bahawa aku ini selari:

<rentang class = "glyphicon glyphicon--tetingkap baru" />

Yang seolah-olah seperti sintaks yang dibenarkan ("Chrome versi 40.02214.94 m"adalah baik dengan). Saya pergi dan berubah juga, seperti yang ditunjukkan:

<rentang class = "glyphicon glyphicon--tetingkap baru"></span>

Yang tetap ia.

Kecil kecil sesuatu disebabkan apa-apa berantakan besar dari skrin.  Masa untuk berseronok.

Ini berlaku supaya cepat, tetapi ianya juga jenis perkara yang hanya mendapat tulang belakang anda daripada penjajaran bila anda melihatnya.  Terdapat lebih 500 baris-baris HTML dalam fungsi admin yang sedikit ini dan anda hanya ingin untuk mendapati diri anda menggali antara rumpai yang, pernah Smile.

</akhir>

undefinedLanggan ke blog saya.

Mengikuti aku di Twitter http://www.twitter.com/pagalvin

HTTP 406 Ralat apabila menggunakan sudut $http.get berbanding SharePoint rehat hujung Mata

Mengemas kini: MARC AD ndersson menunjukkan ini sebahagian besar maklumat: http://Blogs.Office.com/2014/08/13/JSON-Light-support-Rest-SharePoint-api-Released/. Sebab itulah banyak :).

Ia mungkin tajuk posting blog paling teruk pernah! Anyhoo.

Saya biasanya lakukan semua prototaip saya terhadap contoh O365. Saya mempunyai contoh diri saya supaya saya tidak perlu bimbang tentang mempengaruhi orang lain. Seperti yang diperuntukkan untuk – ingat apabila kita memanggil dibawa sekitar Mesin maya pada komputer riba kami dengan Lumut – SQL Server, IIS, penentu vs Hyper-V. VMWare? Anyhoo...

Saya telah membangunkan sebuah aplikasi yang menggunakan sudut dalam persekitaran yang tidak, antara lain, ini:

$http.get(serverUrl)
.kejayaan(fungsi(data, status, header, config) {

VAR getLinksResponse = data;

getLinksResponse.value.forEach(fungsi(theResult) {

// dan sebagainya dan jadi buih

Ini adalah bekerja saja dalam dua berbeza SharePoint dalam talian persekitaran. Walau bagaimanapun, Bilakah rakan sekerja saya dipindahkan ia ke contoh Cloudshare, dia sering terlibat dengan HTTP 406 kesilapan (yang adalah kali pertama saya pernah mendapat satu itu, Jadi... yay, saya rasa). Kami melakukan sedikit kajian dan menyedari bahawa pengepala "Menerima" adalah dari. SharePoint dalam talian adalah sempurna gembira dengan:

Menerima: Permohonan/json

Tetapi contoh cloudshare (yang dihidupkan SP prem, dihoskan dalam pelayan maya) mahukan klasik yang "odata = banyak cakap" ditambah dalam serta:

Menerima: Permohonan/json;odata = banyak cakap

Untuk menetapkan bahawa, kami menambah pengepala Justeru:

tatarajah VAR = {header: {
'Menerima': ' permohonan/json;odata = banyak cakap '
}
};

$http.get(serverUrl,config)
.kejayaan(fungsi(data, status, header, config) {

VAR getLinksResponse = data;

getLinksResponse.value.forEach(fungsi(theResult) {

// dan sebagainya dan jadi buih

Yang dapat menghilangkan dalam 406, tetapi ia juga mengubah format maklum balas. Itu lebih banyak... banyak cakap. (Haha!) Lebih banyak perubahan yang diperlukan dan inilah keputusan akhir:

tatarajah VAR = {header: {
'Menerima': ' permohonan/json;odata = banyak cakap '
}
};

$http.get(serverUrl,config)
.kejayaan(fungsi(data, status, header, config) {

VAR getLinksResponse = data;

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

// dan sebagainya dan jadi buih

Ini hanya bertukar menjadi sebuah 30 minit masalah untuk kita, Jadi kita lucked Keluar. Mudah-mudahan orang mendapati ini berguna.

</akhir>

Cara: Membolehkan pelbagai sudut SharePoint Web bahagian dalam halaman yang sama

Blog ini posting menerangkan bagaimana anda boleh mempunyai pelbagai Angular.js berdasarkan bahagian web SharePoint (dirujuk melalui bahagian web editor kandungan) pada halaman yang sama. Saya menelefon editor kandungan web sebahagian (CEWP) bahawa rujukan JavaScript yang dibina menggunakan kerangka Angular.js yang "sudut bahagian Web."

Di sudut proses bootstrap super mudah dan hanya kira-kira setiap contoh yang anda dapati di internet pergi sesuatu seperti ini:

<HTML ng-aplikasi = 'myApp'>

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

</html>

Ini rosak, Walau bagaimanapun, Jika anda ingin mengaktifkan berbilang CEWP mewakili pelbagai sudut web bahagian dalam halaman yang sama. Sudut akan hanya secara automatik bootstrap terhadap arahan ng-aplikasi pertama ia mendapati – sekurang-kurangnya versi sudut 1.3.6. Penyelesaian yang cukup mudah – secara manual bootstrap kod anda sebaliknya. Di atas kini berubah kepada sesuatu seperti ini:

<badan>
<d
iv id =”bootstrapHere” Ng-pengawal =”myController sebagai theController”>
<blah /><blah /><blah />
</div>
</badan>

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

<skrip>
angular.bootstrap(angular.Element(document.getElementById(“bootstrapHere”)),['myApp']);
</skrip>

Pada asasnya, Alih-alih menggunakan ng-aplikasi pada elemen kaitan bootstrapping anda, anda Tepuk ID ke elemen itu. Kemudian, menggunakan bootstrap dalam() Kaedah sudut itu sendiri untuk mengawal bootstrapping yang memproses pada jangka-masa. Saya telah diuji ini dengan tiga bahagian web sudut yang berbeza pada halaman yang sama dan ia berfungsi azimat.

</akhir>

undefinedLanggan ke blog saya.

Mengikuti aku di Twitter http://www.twitter.com/pagalvin

Suruhanjaya kenderaan bermotor New Jersey mengambil mangsa lain

Jadi, anak saya adalah agak lewat mendapatkan permit memandu beliau.  Semalam, pada pertengahan Pagi, lori dia sehingga NJ Oakland untuk mendapatkannya.  Dia mendapat tiada, mengisi keluar kertas kerja beliau dikeluarkan unstamped permit dan belajar bahawa dia kini perlu pergi ke satu lagi MVC lokasi untuk mengambil ujian mata beliau.  Kerana, nampaknya, Mata berkemahiran penguji tidak hanya hidup di mana-mana, Jadi NJ MVC perlu pergi di mana bakat ialah.  Atau, mungkin ia adalah kerana mereka mengikuti falsafah Hamiltonian penyatuan?  Sebanyak Hamilton merasakan kewangan dan pembuatan penyatuan adalah penting untuk kekuatan masa depan ekonomi Republik, mungkin NJ MVC merasakan mereka perlu mengumpul mata ujian bakat untuk kekuatan masa depan NJ MVC?  Mungkin ia adalah sebahagian daripada pelan ineffable?  Aduhai, Saya mempunyai hanya soalan-soalan tentang topik ini dan tiada jawapan. 

Nasihat berikut Oakland, isteri dan anak mereka cara ke Lodi lori., NJ dengan permit yang unstamped Lodi.  Lodi mungkin mempunyai tempat letak kereta yang paling teruk dari mana-mana lokasi NJ MVC.  Dan, kerana mereka juga menganjurkan beberapa berkurangan lagi diperakui mata ujian mesin dan mata ujian profesional, mereka menarik supplicants semua jalur, warna-warna, Pendidikan dan gawkers.  Anak saya bekerja cara beliau melalui maze garis dan arahan-arahan yang diberikan oleh golongan NJ MVC... "never-look-them-in-the-eye" dan akhirnya tiba di mata ujian garisan.  Mereka kini belajar Oakland orang membuat kesilapan di dalam permit yang unstamped.  Dia salah dimasukkan nombor jaminan sosial, meletakkan satu yang "8" menggantikan "2" di salah satu digit.  NJ DMV orang tahu ini kerana Bilakah dia ditarik ke atas SS# yang salah di dalam komputer, Ia tidak menunjukkan nama anak saya.  Katakanlah isteri dan anak, "oh, Itulah jumlah yang salah, anda perlukan '2' tiada dan bukannya untuk '8.' "  Banyak apa, mungkin setiap orang berfikiran adil harapkan ketika ini adalah untuk orang NJ MVC hanya membetulkan jumlah mereka masukkan ke dalam komputer.  Ha! Bodoh!  Tidak, Sebaliknya beliau diminta untuk kad keselamatan sosial beliau.  Mari kita menyimpang sebentar dan menganggap bahawa untuk mendapatkan permit yang unstamped di tempat pertama, Beliau telah telah menyediakan pasport kami serta jersi baru beranak dan surat yang ditulis kepadanya di alamat rumah beliau.   Ibu beliau adalah dengan dia., saham atas namanya, alamatnya, ketinggian beliau (tetapi malangnya, tidak rasa beliau dalam filem-filem sains fiksyen) ... anda sebut sahaja, anak saya adalah baik dan benar-benar dikenal pasti sebagai kehidupan yang lama menetap negeri-negeri Amerika Syarikat tersebut dan sesungguhnya, New Jersey sendiri oleh mana-mana langkah yang anda boleh bayangkan.  Jika orang NJ MVC akan telah hanya membetulkan kesilapan yang dilakukan orang Oakland, komputer telah ditarik maklumat anak saya dan itu pastilah habis cerita.  Tetapi sekali lagi, bodoh!  Mereka tidak boleh berbuat demikian. Sebaliknya, NJ MVC bertegas pada kad keselamatan sosial sekarang. 

Jadi, isteri dan anak pergi rumah untuk mendapatkannya dan pulangan.  Dan di hujung, Ia mendapat permit itu.

Itulah tiga berbeza perjalanan ke NJ MVC dalam satu hari.  Untuk mendapatkan permit itu.  Ia mengambil masa hampir 6 jam dari awal hingga akhir.  Inilah pengenalan anak saya memandu dalam keadaan Taman.

NJ MVC yang jelas rosak. 

</akhir>

Sudut gagal Bootstrap di IE9

Saya telah telah bermain dengan Angular.js yang terakhir yang lama semasa dan untuk kehidupan saya, Saya tidak boleh mendapatkan aplikasi sudut saya untuk memulakan tahun IE9.  Mereka semua bekerja denda di IE11 tetapi IE9 akan hanya menunjukkan pendakap kerinting dan bit sama.

Saya mencari sekeliling dan tidak dapat mencari sesiapa mengadu tentang masalah beliau.  Ia bekerja dengan baik dalam Chrome, IE11, tak IE9.

Saya telah dibuang dari oleh fakta bahawa konsol IE yang memberi saya kesalahan seperti ini:

SEC7111: Keselamatan HTTPS boleh terjejas oleh res://ieframe.dll/forbidframing.htm

Kesalahan itu telah membuat saya berfikir ada adalah beberapa masalah yang dimuat-turun di sudut atau Perpustakaan lain yang saya perlukan.  Ternyata, ini bukan isu.

Oleh poking sekitar internet dalam, Saya akhirnya mendapati bahawa frasa yang saya perlukan untuk mencari "bootstrap" dan ia kelihatan seperti bootstrapping yang gagal.  Pada akhir, masalah saya adalah bahawa saya telah dihiasi saya <html> tag dengan atribut ng-aplikasi, seperti dalam:

<HTML ng-aplikasi = "MatrixApp">

Well, yang tidak bekerja untuk IE9.  Sebaliknya, Saya dibungkus semua ahli HTML di dalam <badan> di dalam bah yang dan rujukan MatrixApp dengan cara.

Masalah yang diselesaikan.

Mudah-mudahan ini menyelamatkan seseorang sedikit kesedihan.

</akhir>

Mencipta borang SharePoint adat tanpa halaman induk

Rakan saya, Lauren Jones, menulis sehingga tapak yang baik untuk mencipta satu borang entri data tersuai yang menggunakan Reka bentuk SharePoint.  Itu adalah tidak tepat "baru di bawah matahari" tetapi terdapat sedikit sentuhan.  Dalam kata-katanya:

Mewujudkan bentuk tersuai adalah lurus ke hadapan untuk melakukan dalam SharePoint Reka bentuk, menavigasi ke senarai anda dan pilih menu reben ' borang senarai’ dan mencipta template borang baru anda.

Ini kerja-kerja baik jika anda mahu borang perlu dikepilkan kepada anda Laman induk, tetapi Bagaimana jika anda mempunyai kes penggunaan mewujudkan satu bentuk yang dalam tetingkap popup atau berdiri sendiri tanpa SharePoint chrome. Aku betul-betul ini kes penggunaan, Saya mahu kepada custom gaya bentuk yang kemudian menggunakan borang tersebut dalam sebaris Bhg. popup di dalam Laman.

Jangan putus asa, ada cara untuk melakukan ini yang tidak iaitu intuitif tetapi agak mudah untuk mencapai.

Anda boleh membaca semua maklumat di sini: http://www.bigapplesharepoint.com/pages/View-An-Insight.aspx?BlogID=55&rtitle=customforms&rsrouce=pgblog dan anda boleh lihat dalam tindakan dengan mengklik pautan "Hubungi kami untuk maklumat lanjut" pada mana-mana servis pada halaman perkhidmatan laman web Big Apple SharePoint kami (http://www.bigapplesharepoint.com/services).

Lauren menulis banyak bagus UX dan penjenamaan.  Anda boleh melihat lebih banyak di sini menulis di sini: http://www.bigapplesharepoint.com/team?showExpertName=Lauren%20Jones.

</akhir>

Reka bentuk yang mengganggu dan mabuk atas Coolaid ciri-ciri

Rakan saya, Lauren Jones (https://twitter.com/laurenjones02) menulis sehingga satu artikel pendek yang bercakap tentang bagaimana terlalu kompleks SP rollouts akan sangat sukar pada pengguna akhir.  Semacam sudah jelas, dengan cara yang, tapi mudah bagi saya untuk mengatakan bahawa selepas saya telah dirancang banyak kompleks rollouts perkara untuk bersedia pengguna akhir selama bertahun-tahun.

Inilah kunci ' graf:

Lima tahun yang lalu, Bilakah saya melancarkan keluar SharePoint organisasi untuk pertama kali dengan matlamat utama menjadi platform kerjasama dan menggantikan pemacu saham, kita juga memperkenalkan sosial dan feed berita melalui RSS, Laman web dan profil saya, dan tag folksonomy. Memang tidak dinafikan, ini telah banyak pengguna akhir untuk meluluskan dalam satu kali kejadian. Manakala kejayaan dengan penggunaan sekitar pengurusan dokumen dan profil, RSS dan tag telah kurang berjaya dan ini adalah benar-benar disebabkan oleh komunikasi pengurusan perubahan dan latihan. Kita tidak dapat melakukannya semuanya sekaligus. Mengambil yang kurang adalah pendekatan yang lebih banyak dan melepaskan fungsi secara berperingkat-peringkat adalah lebih mudah bagi pengguna untuk menerima dan mengguna pakai.

Artikel ini mengingatkan satu lagi bit saya dibaca oleh Kris Gale berkaitan dengan set ciri di Yammer, "Satu kos Jurutera dan para pengurus produk tidak menganggap."

Jika anda mempunyai cerita seram atau cerita kejayaan untuk berkongsi, Saya berharap anda akan berbuat demikian dalam komen ke atas lokasi epal besar.

</akhir>

Roundup mingguan – Julai 13, 2014

I bagi xpost ini di sini pada hujung minggu lepas. 

Inilah yang 3Rd Artikel dalam siri di mana saya menulis tentang posting blog dan perkara-perkara dalam talian yang menarik terutamanya kepada saya dalam minggu lepas atau lebih.  Minggu ini entri dalam siri ini mengetengahkan dua CodePlex projek gantian InfoPath berpotensi dan menguruskan keizinan dengan SharePoint, Berita tentang satelit, lagi satu lagi rangka kerja JavaScript dan nod yang Ada Charles dan peranan beliau dalam sejarah pengkomputeran.

Anda boleh membacanya di sini: http://www.bigapplesharepoint.com/pages/View-An-Insight.aspx?BlogID=93&rsource=pgblog&rtitle=roundup

</akhir>

Paparan CAML pertanyaan dalam masa nyata dengan penonton ULS

Rakan saya, Ashsih Patel, menulis sehingga tapak yang baik menerangkan cara untuk melihat CAML di sebalik SP pelbagai pertanyaan yang berlaku dalam perjalanan urusan dalam masa nyata menggunakan penonton ULS.

Berikut adalah intro yang:

Adakah anda pernah mahu tahu apa pertanyaan CAML dijalankan oleh SharePoint Server?

Well, penyelesaian masalah dan pembelajaran tujuan, Ia bukanlah idea yang buruk. lagipun, SQL Profiler telah membantu kita menyelesaikan banyak isu-isu.

Mungkin ada produk-produk di luar sana tetapi aku tahu cara untuk melakukannya tanpa membelanjakan tambahan dolar! Dan di sini...

Anda boleh membaca segala-galanya di sini: http://www.bigapplesharepoint.com/pages/View-An-Insight.aspx?BlogID=68&rsource=pgblog&rtitle=caml.

</akhir>