Arsip bulanan: Juni 2008

Juni 2008 Konferensi SUGDC — Itulah Wrap

Saya menghadiri pertama saya pernah SharePoint konferensi ini melewati pekan lalu dan itu adalah ledakan.

Kamis sore, Aku pergi ke Virginia, dipandu oleh saya baru dibeli $50 Hal plug-in peralatan GPS ke ponsel saya. Perangkat ini sempurna. Setelah lima jam berkendara, Aku punya energi untuk melakukan nice berlari pada pabrik tapak dan kemudian, bahkan lebih mengejutkan, punya tenaga untuk kepala ke lobi untuk pembicara yang diiklankan koktail jam. Konferensi n00b bahwa saya, it turned out that the cocktail hour was really a ruse to get speakers to show up and help stuff papers and swag into shoulder bags for conference attendees 🙂

Memiliki waktu yang sulit tidur karena aku berbicara hal pertama Jumat AM. Gugup, perasaan mengganggu bahwa saya perlu untuk menambahkan sebuah slide presentasi saya dan menunjukkan kucing yang sangat mengganggu pada Animal Planet terus saya terlambat. Pergi ke tidur terlambat, Aku alami bangun awal. Aku menambahkan sebuah slide cukup rinci arsitektur teknis. Itu layak usaha karena 25 menit q&A telah sangat canggung tanpa itu. Aku beruntung untuk mendapatkan slot pertama di jalur teknis. Sahil Malik pada awalnya akan berbicara Jumat pagi dan aku akan berbicara Sabtu tetapi ia diperlukan untuk swap kali. Hal ini memungkinkan saya untuk melakukan presentasi saya dan kemudian duduk kembali dan nikmatilah segalanya akan maju Jumat dan Sabtu.

Presentasi pergi OK. Aku pasti punya ruang untuk memperbaikinya. Saya berbicara tentang bagaimana kita dapat mengakses dan menggunakan layanan web dari alur kerja SharePoint Designer menggunakan tindakan kustom. Dari waktu ke waktu, Aku akan mengikat informasi ini ke seri lebih di EUSP.com bagi pengguna akhir yang berusaha untuk mendapatkan penggunaan sebagian dari bahwa alat. Aku meniup melalui slide dan demo 35 menit, untuk saya cemas pada saat. Untungnya, Q&A adalah ramai, tidak diragukan lagi dibantu oleh kenyataan bahwa itu adalah pagi-pagi sebelum makan siang. Q&A adalah favorit saya bagian dari setiap presentasi.

Ada banyak mata pelajaran yang menarik dan saya berharap untuk blog tentang mereka secara lebih rinci minggu ini (waktu mengizinkan, seperti biasa). Fellow dari CMS Watch disediakan sangat kritis namun sangat berharap review SharePoint posisi di pasar. Sebuah diskusi yang berbeda berfokus pada kekurangan sumber daya SharePoint dan kesulitan perekrut yang mencari bakat yang juga "terjangkau" di pasar ini sangat ketat. Orang menonton CMS disebut SharePoint kolam renang sumber daya manusia sebagai sebuah "persatuan." Aku terutama akrab dengan istilah dalam istilah MMORPG dan itu memberi saya sedikit kegembiraan, to be honest 🙂

Puncak konferensi adalah pertemuan dan penangkapan dengan orang-orang yang saya telah "dikenal" online untuk sementara. Yang terbaik adalah duduk di bar dengan Becky Isserman (MossLover) untuk 3 atau 4 jam (dan bahwa, setelah saya selesai minum malam). Saya sering tidak mendapatkan untuk berbicara tentang Farscape atau Babel 5 dengan penduduk Kansas City.

Bob Fox adalah ada dan seperti biasa, adalah serangkaian intro, chatting dan sekadar ingar-bingar energi. Dia mengundang saya untuk sarapan Sabtu dengan Sahil Malik dan itu besar.

Sabtu (hari 2), Mike Lotter menyeret dirinya ke konferensi untuk berbicara tentang InfoPath dan kemudian ia bergabung Becky pada akhir hari untuk melakukan semacam umum Q&Sesi tentang 30 untuk 45 menit yang terutama difokuskan pada InfoPath (Mike) dan AJAX (Becky). Saya berharap Becky telah mampu pergi melalui presentasinya penuh formal tetapi saya yakin saya akan mendapatkan kesempatan untuk melihat bahwa salah satu hari ini. Aku punya perasaan ia akan "memukul sirkuit" maju.

Aku bisa terus dan pada. Dua poin terakhir — tujuan keuangan konferensi adalah untuk mengumpulkan uang untuk anak-anak keajaiban jaringan dan mengangkat $5,000. Itu adalah mengagumkan. Akhirnya, Saya ingin berterima kasih kepada publik Gary Blatt, Gary Vaughn dan Bob Fox untuk memperingatkan saya dan memungkinkan saya untuk berbicara di konferensi. Tentu saja, Gary dua memiliki sebuah tim dari orang-orang yang mendukung dan pengorganisasian dan kalian itu awesome. Aku punya harapan yang tinggi sebelum aku pergi dan itu lebih baik daripada yang saya harapkan untuk.

Tetap waspada untuk berikutnya konferensi yang dijadwalkan untuk November 7 dan 8. Selain dari beberapa besar konten, sangat hebat untuk bertemu dengan semua kepribadian mereka online yang Anda sudah tahu melalui blog, kericau, Forum, dll.

</akhir>

Berlangganan ke blog saya.

Technorati Tags:

FBA dan SQL Server: Sebuah kisah cinta

Rekan saya telah bekerja pada sebuah web bagian dalam lingkungan FBA. Antara lain, bagian web menarik beberapa data dari SQL server. Rencana besar untuk proyek ini menentukan bahwa DBA mengkonfigurasi data tingkat keamanan di SQL (dibandingkan dengan embedding ID pengguna dalam SQL query atau beberapa pendekatan lain).

Masalahnya adalah bahwa SQL server tidak tahu apa-apa tentang lingkungan FBA kami sehingga tidak dapat mempercayai kami. Kami memecahkan masalah ini dengan, karena tidak ada kata yang lebih baik, secara manual meniru pengguna AD sehingga kita bisa terhubung ke SQL sehingga SQL data tingkat keamanan pekerjaan.

Meskipun FBA adalah fitur ASP.NET, kita orang-orang bangsa SharePoint telah mengajarkan berbagai search engine yang jika Anda sedang query untuk FBA, Anda pasti ingin tahu cara mengkonfigurasi FBA dalam SharePoint. Aku gagal menemukan menemukan informasi apapun tentang cara mengaktifkan FBA berorientasi ASP.NET aplikasi untuk berkomunikasi dengan SQL dengan cara yang kami butuhkan.

Dalam meneliti ini, kita kembali membaca artikel ini: ASP.NET peniruan

Penelitian lebih lanjut membawa kita ke artikel codproject: http://www.codeproject.com/KB/cs/cpimpersonation1.aspx

Yang membantu kami menulis kode kami, yang saya telah menyertakan di bawah. Ianya tidak hal-hal yang paling elegan, Tapi itu berhasil. Saya harap Anda menemukan berguna.

Berikut adalah kode yang bekerja untuk kami:

dilindungi Batal btnSearchCarrier_Click(objek pengirim, EventArgs e)
 {
 coba
 {
 ImpersonateUser iU = baru ImpersonateUser();
 // TODO: Menggantikan kredensial iU.Impersonate("DomainName", "Nama pengguna", "Password");

//
 KODE
//

 iU.Undo();
 }
 menangkap (Pengecualian ex)
 {

 }
 }

// Menggunakan peniruan kelas seperti yang disebutkan di bawah ini.

Umum kelas ImpersonateUser
 {
 [DllImport("advapi32.dll", SetLastError = benar)]
 Umum statis Surat Edaran Bool LogonUser(
 String lpszUsername,
 String lpszDomain,
 String lpszPassword,
 Int dwLogonType,
 Int dwLogonProvider,
 REF IntPtr phToken);

 [DllImport("kernel32.dll", CharSet = CharSet.Auto)]
 swasta Surat Edaran statis Bool CloseHandle(Menangani IntPtr);

 swasta statis IntPtr tokenHandle = baru IntPtr(0);
 swasta statis WindowsImpersonationContext impersonatedUser;

 // Jika Anda memasukkan kode ini ke dalam DLL, Pastikan untuk menuntut bahwa
 // menjalankan dengan FullTrust.
 [PermissionSetAttribute(SecurityAction.Demand, Nama = "FullTrust")]
 Umum Batal Impersonate(string domainName, string userName, string sandi)
 {
 coba
 {

 // Gunakan fungsi LogonUser tidak dikelola untuk mendapatkan token untuk pengguna
 // pengguna tertentu, domain, dan password.
 Const Int LOGON32_PROVIDER_DEFAULT = 0;

 // Melewati parameter ini menyebabkan LogonUser untuk membuat tanda utama.
 Const Int LOGON32_LOGON_INTERACTIVE = 2;
 tokenHandle = IntPtr.Zero;

 // Langkah -1 Hubungi LogonUser untuk mendapatkan pegangan untuk token akses.
 Bool returnValue = LogonUser(
 nama pengguna,
 domainName,
 sandi,
 LOGON32_LOGON_INTERACTIVE,
 LOGON32_PROVIDER_DEFAULT,
 REF tokenHandle); // tokenHandle - token keamanan baru

 Jika (palsu == returnValue)
 {
 Int ret = Marshal.GetLastWin32Error();
 Console.WriteLine("LogonUser panggilan gagal dengan kode kesalahan : " +
 RET);
 melempar Baru System.ComponentModel.Win32Exception(RET);
 }

 // Langkah - 2
 WindowsIdentity newId = baru WindowsIdentity(tokenHandle);
 // Langkah -3
 impersonatedUser = newId.Impersonate();

 }
 menangkap (Pengecualian ex)
 {
 Console.WriteLine("Pengecualian terjadi. " + mantan.Pesan);
 }
 }


 /// <Ringkasan>
 /// Berhenti peniruan
 /// </Ringkasan>
 Umum Undo Batal()
 {
 impersonatedUser.Undo();
 // Gratis token.
 Jika (tokenHandle != IntPtr.Zero)
 CloseHandle(tokenHandle);
 }
 }

</akhir>

Berlangganan ke blog saya.

Technorati Tags:

Menambah pengetahuan: SSRS memberitahu saya “rsAccessDenied”, Tapi … Saya benar-benar memiliki akses

Beberapa minggu yang lalu, Saya bekerja dengan rekan developer saya pada sebuah proyek yang melibatkan Layanan pelaporan SQL Server plug-in untuk MOSS. Ia adalah mengembangkan sebuah web bagian yang menyediakan mewah front-end laporan yang tepat (Fitur utama menjadi sebuah lookup pintar pada parameter dengan beberapa ribu nilai dicari di balik itu).

Ini bekerja hebat di lingkungan pengembangan tetapi dalam penerimaan pengguna pengujian (UAT) lingkungan, itu tidak akan berhasil. Menembak ke atas debugger, kita akan melihat rincian pengecualian seperti ini:

Izin diberikan kepada user 'UAT_domainmosssvc' tidak mencukupi untuk melakukan operasi ini.(rsAccessDenied).

Jika Anda melakukan pencarian hidup pada kesalahan di atas, Anda menemukan sangat umum. Scarily Umum. Jenis yang terburuk umum karena memiliki banyak berbeda potensi akar penyebab dan solusi menyarankan semua orang "merasa" kanan. Kami mungkin mencoba mereka semua.

Dalam kasus kami, Masalahnya adalah bahwa kita telah melakukan backup/restore DEV untuk UAT. Di suatu tempat di data, sesuatu masih mengacu pada "DEV_domain" (bukan diperbarui "UAT_Domain"). Kami membuat situs baru, menambahkan bagian web dan yang memecahkan masalah kita.

Mudah-mudahan ini akan menyelamatkan seseorang satu jam atau dua bawah garis.

</akhir>

Berlangganan ke blog saya.

Technorati Tags:

Perbaikan cepat: Mengakses situs SharePoint melempar [HttpException (0x 80004005): Permintaan timed out.]

Salah satu rekan-rekan developer saya bekerja pada sebuah proyek minggu ini dan berlari ke masalah timeout ketika bekerja pada bangunan bagian web gila beberapa. Bagian web nya adalah baik-baik saja, Tapi "tiba-tiba" situs terkait yang menjadi sangat lambat dan sering habis dengan kesalahan ini:

[HttpException (0x 80004005): Permintaan timed out.]

Saya log in dan melihat bahwa beberapa situs lainnya saja. Saya menduga bahwa ada beberapa bagian web tersembunyi di halaman dan menggunakan terpercaya ?isi = 1 debug teknik, Aku bahkan menemukan 11 bagian web di Halaman, hanya dua di antaranya yang terlihat. Bahkan lebih baik (dari perspektif let's-hope-I-find-something-ugly-here-that-I-can-fix), tiga bagian-bagian tertutup web memiliki nama "Kesalahan".

Aku menghapus bagian-bagian web (yang itu sendiri mengambil waktu yang sangat lama) dan yang memecahkan masalah. For today 🙂

</akhir>

Berlangganan ke blog saya.

Technorati Tags:

Di kelas pelatihan cepat yang luar biasa

Aku mulai hari 4 cepat di mitra pelatihan dipimpin oleh Larry Kaye di sini di Needham, MA.

Sesi 5 hari ini dibagi ke dalam kelas (3 dan 2 hari masing-masing) berjudul "FAST ESP: Mengembangkan aplikasi pencarian kustom untuk Aliansi mitra saya" dan "FAST ESP: Mengembangkan aplikasi pencarian kustom untuk mitra aliansi II".

Ini adalah nyata boot camp jenis kelas. Bahan mendalam (sangat, sangat mendalam). Instruktur (Larry) jelas tahu his stuff. Saya sangat merekomendasikan pelatihan ini jika Anda mempertimbangkan.

</akhir>

SharePoint dan cepat — Reese selai kacang cangkir aplikasi Enterprise?

Aku sudah selesai hari 2 CEPAT pelatihan di Needham cerah, MA, dan aku meledak dengan ide-ide (mana semua pelatihan yang baik kelas lakukan untuk saya). Salah satu aspek khusus dari cepat telah saya berpikir dan aku ingin untuk menuliskannya sementara itu masih segar dan normal sehari-hari "barang" didorong keluar dari kepala saya.

Kami SharePoint WSS 3.0 / MOSS pelaksana sering menghadapi masalah sulit dengan setiap proyek SharePoint berukuran cukup: Bagaimana kita mendapatkan semua data ditandai dimuat ke SharePoint sedemikian rupa sehingga semua cocok dalam arsitektur informasi yang dirancang sempurna kami?

Cukup sering, ini bukan masalah seperti sulit karena kita lingkup diri masalah: "Kami tidak peduli tentang apa-apa lebih dari 3 bulan." "Kami akan menangani barang semua yang lama dengan pencarian kata kunci dan pergi ke depan kami akan melakukannya dengan cara yang benar…" Dll.

Tapi, apa yang terjadi jika kita tidak bisa scope diri dari masalah dan kita sedang melihat 10 ribu 's atau 100 ribu (atau bahkan jutaan) docs — pemuatan dan penandaan yang adalah keinginan kami taat?

CEPAT mungkin jawabannya.

Proses pencarian cepat di mencakup banyak bagian yang bergerak tetapi satu pandangan yang disederhanakan ini:

  • Proses crawler yang terlihat untuk konten.
  • Itu menemukan konten dan tangan itu ke proses broker yang mengelola sebuah kolam dokumen prosesor.
  • Broker proses tangan itu ke salah satu dokumen prosesor.
  • Prosesor dokumen menganalisa dokumen dan melalui proses pipa, menganalisis bejeezus dari dokumen dan tangan itu ke indeks pembangun jenis proses.

Pada kapal cepat, Kami memiliki banyak kontrol atas dokumen pengolahan pipa. Kita dapat mencampur dan mencocokkan tentang 100 Pipa komponen dan, paling menarik, kita dapat menulis kami sendiri komponen. Seperti saya katakan, CEPAT adalah menganalisis dokumen segala arah tetapi hari Minggu dan mengkompilasi banyak informasi yang berguna tentang dokumen-dokumen. Orang-orang cepat gila jelas gila dan obsesif tentang dokumen analisis karena mereka memiliki alat-alat dan/atau strategi untuk benar-benar mengkategorikan dokumen.

Jadi … menggunakan cepat dalam kombinasi dengan kita sendiri kustom pipa komponen, kita bisa ambil semua informasi konteks yang dari cepat dan pakan kembali ke MOSS. Itu mungkin pergi sesuatu seperti ini:

  • Dokumen dimasukkan ke cepat dari Lumut.
  • Parsing normal gila-obsesif cepat dokumen dan kategorisasi terjadi.
  • Kita sendiri kustom pipa komponen tetes beberapa konteks informasi off ke database.
  • Proses desain kami sendiri membaca informasi konteks, membuat beberapa keputusan tentang bagaimana menyesuaikan MOSS dokumen dalam IA kami dan menandai menggunakan layanan web dan object model.

Tentu saja, tidak ada proses otomatis dapat menjadi sempurna tetapi berkat obsesif (dan orang-orang cepat mungkin insane-but-in-a-good-way), kita mungkin memiliki real pertempuran menembak beban massa yang benar-benar efektif proses yang lebih dari sekedar mengisi database SQL dengan sekelompok dokumen-dokumen hampir tidak dapat dicari.

</akhir>

Berlangganan ke blog saya.

Belajar tentang pengguna akhir di www.EndUserSharePoint.com

Mark Miller atas di http://www.endusersharepoint.com telah membangun, dalam pengalaman saya, pengguna akhir terbaik terfokus situs SharePoint dalam ' bola. Pada bulan lalu, Dia telah meminta beberapa pengguna-akhir premier terfokus blogger sekitar untuk berkontribusi "halaman depan" secara teratur, termasuk namun tidak terbatas pada Paul Culmsee, Chris Quick, dan Dessie Lunsford. Dia memiliki lain berjajar dan siap untuk memberikan kontribusi sebagai jadwal mereka memungkinkan.

Aku melompat pada kesempatan untuk berpartisipasi dan posting pertama saya adalah di sini. Saya menulis sebuah seri tentang cara menggunakan SharePoint Designer untuk menciptakan solusi alur kerja kelas bisnis. Sesuai dengan fokus EUSP.com, artikel-artikel akan selalu menjaga pengguna akhir depan dan pusat.

Saya pribadi cenderung untuk membagi dunia SharePoint menjadi tiga kelompok yang luas: SharePoint konsultan, penuh waktu SharePoint Staf pengembang dan pengguna akhir. Saat aku menulis, Saya sering bertanya pada diri sendiri, yang kelompok ini mungkin tertarik pada subjek? Paling sering, Akhirnya saya menulis untuk dua (teknis) kelompok, terutama karena saya seorang konsultan sendiri; selalu lebih mudah dan lebih otentik untuk menulis tentang hal-hal yang Anda paling akrab di tingkat pribadi.

Karena aku sudah dicatat sebelum, masyarakat pengguna akhir adalah jauh, jauh lebih besar dari komunitas teknis. EUSP.com top-notch dan saya sungguh-sungguh merekomendasikan hal ini kepada semua tiga kelompok. Situs laser fokus jelas berharga untuk pengguna akhir. Namun, kita pengembang dan konsultan hanya dapat lebih baik dalam profesi kita jika kita dapat memahami dan secara efektif menanggapi kebutuhan pengguna akhir kami melayani. I know I need all the help I can get 🙂 Check it out.

</akhir>

Berlangganan ke blog saya.

Invoking layanan Web SSRS dari WSS / MOSS di FBA lingkungan

Kami perlu untuk memanggil "CreateSubscription" metode pada SSRS layanan web yang di-host di FBA dikelola MOSS lingkungan dari bagian web kustom. Kami terus mendapatkan variasi:

  • 401: Tidak diizinkan
  • Objek bergerak

"Objek bergerak" pesan ini paling menarik karena itu mengatakan bahwa "objek" (pelayanan SSRS) telah "pindah" untuk login.aspx. Ini jelas berarti kita memiliki semacam masalah otentikasi.

Saya akhirnya menyadari bahwa aku punya bookmarked blog entry oleh Robert Garret yang menggambarkan bagaimana untuk memohon layanan web WSS MOSS tujuan umum dalam lingkungan FBA. Perhatikan bahwa saya tidak link langsung ke artikel (seperti 06/09/08) karena ingin mengotentikasi. Link yang saya berikan membawa Anda ke "semua posting" Lihat dan Anda dapat mencari artikel dengan mencari "Mengakses layanan MOSS Web menggunakan otentikasi berbasis bentuk".

Berikut adalah kode yang bekerja untuk kami:

ReportingService2006 rs = null; 
// Otentikasi Auth otentikasi = baru Otentikasi(); 
otorisasiURL = "http://URL/_vti_bin/Authentication.asmx";
otorisasiCookieContainer =
baru CookieContainer();
Hasil LoginResult = otorisasiLogin("userid", "password");
Jika (hasil.ErrorCode == LoginErrorCode.NoError) 
{
// Tidak ada kesalahan, Jadi mendapatkan cookie.
Cookie CookieCollection = otorisasiCookieContainer.GetCookies(baru URI(otorisasiURL));
Cookie authCookie = cookie[hasil.CookieName];
RS =
baru ReportingService2006();
RS.URL =
"http://Server/_vti_bin/ReportServer/ReportService2006.asmx";
RS.CookieContainer =
baru CookieContainer();
RS.CookieContainer.Add(authCookie);
}
coba
{
  RS.CreateSubscription(Laporan, extSettings, desc, eventType, matchData, parameters1);
}
menangkap (Pengecualian ex)
{
  Console.WriteLine(mantan.Message.ToString());
}

Menginterpretasikan hal bekerja seperti ini:

  • Bagian web kita perlu dial up layanan otentikasi dan mengatakan, "Hei, Tony, saya!".
  • Layanan otentikasi menjawab mengatakan, "Hei, Saya tahu Anda. Bagaimana Apakah anak-anak? Berikut adalah tanda."
  • Kami menelepon layanan SSRS dan mengatakan, "Tony mengirimi saya, Berikut ini adalah token."

</akhir>

Berlangganan ke blog saya.

Anda melakukan analisis Cari bulanan Anda?

Itu adalah praktik yang baik, bahkan mungkin praktek terbaik, untuk meninjau laporan pencarian sebulan sekali dan mencari peluang untuk menambah taruhan terbaik, Tune tesaurus Anda dan mungkin bahkan menemukan beberapa intelijen bisnis yang sebaliknya tersembunyi manajemen.

Sudah 3 bulan. Waktu awastin’ 🙂

</akhir>

Berlangganan ke blog saya.

Technorati Tags:

Pagar segi Cari Sitter lagi

Aku punya alasan hari untuk bermain dengan Cari segi CodePlex Proyek hari.

It's been sekitar untuk sementara waktu, tapi aku ragu-ragu untuk men-download dan menggunakannya untuk alasan yang biasa (terutama kurangnya waktu), plus outright fear 🙂

Jika Anda mencari untuk meningkatkan pencarian Anda dan menjelajahi opsi baru, men-download dan menginstal ketika Anda memiliki satu jam atau lebih waktu luang. Aku mengikuti instruksi manual instalasi dan butuh waktu kurang dari 20 menit ke terinstal dan bekerja. Menyediakan nilai berjalan nol.

Itu terlihat cukup sulit untuk memperpanjang. Para penulis memberikan berjalan-melalui rinci untuk skenario BDC kompleks. Saya mungkin akan kehilangan, tapi aku berharap mereka juga akan menyediakan sebuah skenario sederhana yang melibatkan salah satu properti yang sudah ada atau mungkin menambahkan satu baru properti yang dikelola. Aku akan mencoba dan menulis yang up sendiri dalam periode berikutnya waktu.

Garis bawah — dalam menit, Anda dapat menginstal, mengkonfigurasi, use it and add some pretty cool functionality to your vanilla MOSS search and be a hero 🙂

</akhir>

Berlangganan ke blog saya.

Technorati Tags: