Arsip bulanan: Februari 2008

Pengumuman publik yang kecil: Windows pengaturan keamanan hidup dan menghubungi pemilik ruang

Saya menerima beberapa pesan dari individu-individu melalui fungsi built-in "Kirim pesan" fungsi Microsoft menyediakan ruang hidup (yang juga menjadi tuan rumah blog saya) setiap bulan.

Sekitar sepertiga dari waktu, Para pengguna telah mengamankan account ruang hidup mereka sedemikian rupa sehingga aku tidak dapat menjawab. Ini adalah beberapa jenis fitur anti spam saya berasumsi.

</akhir>

Penjelasan sederhana: “Nilai tidak jatuh dalam kisaran diharapkan.”

UPDATE: Poster anonim meninggalkan komentar besar tentang nama-nama internal. Pastikan untuk membaca.

Ketika bekerja dengan acara Penerima dan kode lain yang referensi daftar SharePoint item melalui object model, Saya sering melakukan kesalahan yang menghasilkan galat ini saat runtime:

Error loading dan menjalankan acara penerima Conchango.xyzzyEventReceiver di xyzzy, Versi = 1.0.0.0, Culture = neutral, PublicKeyToken = 0dc50a750396c3ac. Informasi tambahan adalah di bawah ini. : Nilai tidak jatuh dalam kisaran diharapkan.

Saya pikir ini adalah kesalahan yang cukup generik yang berpotensi disebabkan berbagai cara. Namun, salah satu penjelasan sederhana adalah bahwa aku 'm referensi bidang yang salah. Jika nama bidang "Tempo", Aku harus referensi seperti ini di acara receiver:

properti.ListItem["Tempo"]

Ketika saya misspell atau menggunakan kasus salah ketika referensi bidang, SharePoint menghasilkan di atas disebutkan kesalahan runtime. Misalnya, ini salah:

properti.ListItem["tempo"]

</akhir>

Berlangganan ke blog saya.

Technorati Tags:

Tips cepat pengguna akhir: Semacam pandangan dalam sebuah dokumen Perpustakaan, Daftar, dll.

Kita dapat, harus dan menciptakan banyak dilihat dalam daftar SharePoint (dokumen Perpustakaan, daftar kustom, dll). SharePoint selalu daftar tampilan yang tersedia dalam urutan abjad. Kita tidak bisa mengubah ini menggunakan dari kotak fungsi. Jika hal ini dapat dilakukan melalui kustomisasi (dan aku tidak yakin itu dapat), itu jauh untuk teknis bagi pengguna akhir yang khas Anda.

Jika Anda ingin mengontrol urutan di mana SharePoint daftar tersedia dilihat, hanya menambahkan angka atau huruf untuk nama tampilan, seperti dalam:

1 – Oleh jenis bahan
2 – Semua dokumen
3 – Tanggal jatuh tempo

-atau-

A – Oleh jenis bahan
B – Semua dokumen
C – Tanggal jatuh tempo

I juga telah membuat pemandangan yang tujuannya adalah ketat untuk memberi makan KPI. Saya telah mengikuti konvensi penamaan ini:

Z_KPI_[Deskripsi]

Yang menyebabkan saya "KPI" pemandangan untuk muncul di bagian bawah daftar.

</akhir>

Berlangganan ke blog saya.

Minggu lucu: “Ketika saya masih seorang anak kecil”

Sebagai orang tua, di suatu tempat di sepanjang garis saya menemukan "ketika saya masih seorang anak kecil" Trik.

Anakku, mungkin empat atau lima pada waktu, Bermain balon dan seperti anak-anak paling kecil yang bermain dengan balon, ia muncul itu. Dia. Dunia telah datang untuk mengakhiri. Saya katakan kepadanya, "ketika saya masih anak kecil, Aku punya balon dan itu muncul dan akhirnya, Aku punya sebuah balon yang baru." Tampaknya membantunya mengatasi kehilangan dan menyebabkan menyenangkan berbicara tentang apa itu seperti ketika saya masih seorang anak kecil.

Yang bekerja dengan baik sebagai teknik penghiburan dan digunakan beberapa kali selama periode berikutnya waktu. Aku mendapatkan kesulitan sekali ketika peternak rakasa nya 3 makhluk yang meninggal. Saya berbicara tentang bagaimana anjing saya, Pangeran, telah meninggal dalam kecelakaan mobil. Saat ini, Jawabannya adalah, "Sekarang saya merasa buruk tentang dua hal!" Aku menjauh dari menggunakan "satu-ketika saya masih kecil" teknik untuk penghiburan setelah itu.

Sebelum kejadian anjing mati, Namun, Saya juga mulai menggunakan teknik untuk meyakinkan dia untuk melakukan tugas-tugas. "Ketika saya masih seorang anak kecil, Aku harus pergi keluar dan mendapatkan koran", "kamar bersih", "Dapatkan Mommy cangkir kopi nya", dll.

Hal ini juga merupakan cukup berhasil untuk sementara, tapi dia mulai semakin memberontak melawan tirani kecilku. Salah satu acara, khususnya, menandai akhir. Aku menyuruhnya untuk membawa tong sampah dari pinggir jalan kembali ke garasi. Ia berpendapat dan aku menjawab, "Ketika saya masih seorang anak kecil, Aku harus mengambil sampah kembali ke garasi." Dia menjawab, "Oh ya! Baik ketika Anda masih anak kecil, itu bodoh!".

</akhir>

Berlangganan ke blog saya.

Technorati Tags:

Pandangan dan kolom di daftar dan dokumen perpustakaan tidak aman

UPDATE (02/29/08): Proyek codeplex baru ini tampaknya menyediakan metode untuk mengamankan individu kolom: http://www.codeplex.com/SPListDisplaySetting. Jika Anda memiliki pengalaman bekerja dengan, Silakan Tinggalkan Komentar.

Forum poster sering mengajukan pertanyaan seperti ini: "Aku punya pandangan manajer dan dan pemandangan staf daftar. Bagaimana caranya mendapatkan tampilan manajer agar staf tidak dapat menggunakannya?"

Mereka juga sering mengajukan pertanyaan terkait: "Saya ingin mengamankan kolom tertentu metadata sehingga hanya manajer dapat mengedit kolom sementara orang lain mungkin bahkan tidak melihat itu."

Jawaban ini berlaku untuk kedua WSS 3.0 dan MOSS:

  • SharePoint tidak menyediakan dukungan out-of-the-box untuk mengamankan dilihat.
  • SharePoint tidak menyediakan dukungan out-of-the-box untuk keamanan kolom.

Ada beberapa teknik yang dapat mengikuti untuk memenuhi persyaratan keamanan jenis ini. Berikut adalah apa yang saya bisa memikirkan:

  • Menggunakan out-of-the-box item tingkat keamanan. Pemandangan selalu menghormati item keamanan level konfigurasi. Acara receiver dan/atau alur kerja dapat mengotomatisasi tugas.
  • Menggunakan pandangan pribadi untuk "hak istimewa" pemandangan. Ini cukup mudah untuk mengatur. Namun, berkat "pribadi mereka" alam, ini perlu dikonfigurasi untuk setiap pengguna. Menggunakan konfigurasi standar keamanan untuk mencegah orang lain dari membuat pandangan pribadi.
  • Menggunakan bagian web Lihat data dan menerapkan beberapa jenis solusi pemangkasan keamanan AJAXy.
  • Roll fungsi tampilan daftar Anda sendiri dan memasukkan keamanan pemangkasan pada tingkat kolom.
  • Memodifikasi bentuk-bentuk entri data dan menggunakan JavaScript dalam hubungannya dengan model keamanan untuk menerapkan pemangkasan kolom-tingkat keamanan.
  • Menggunakan sebuah bentuk InfoPath untuk entri data. Menerapkan kolom-tingkat keamanan pemangkasan melalui layanan web panggilan untuk SharePoint dan kondisional menyembunyikan kolom seperlunya.
  • Roll ASP Anda sendiri.Fungsi entri data bersih yang mengimplementasikan kolom tingkat keamanan pemangkasan.

Tak satu pun dari orang-orang pilihan benar-benar hebat, Tapi ada setidaknya untuk mengikuti jalan jika Anda perlu untuk, bahkan jika sulit.

CATATAN: Jika Anda pergi ke salah satu jalur ini, Jangan lupa tentang "tindakan-> Buka dengan Windows Explorer". Anda ingin memastikan bahwa Anda menguji dengan fitur untuk memastikan bahwa itu tidak bekerja sebagai pintu belakang"" dan kekalahan skema keamanan Anda.

Jika Anda memiliki ide untuk atau pengalaman dengan mengamankan kolom atau pandangan lain, Mohon email saya atau Tinggalkan komentar dan saya akan update posting ini yang sesuai.

</akhir>

Berlangganan ke blog saya.

Technorati Tags:

Quick Tip: Nomor versi BDC ADF adalah teman Anda

Jika Anda sedang tangan-coding ADF file dan melakukan banyak kode/impor/tes siklus, menggunakan nomor versi untuk membuat hidup Anda lebih mudah.

Aku benci mengakuinya, tapi sampai minggu ini, Aku selalu menghapus ADF dan kembali mengimpor. Ini akan menghancurkan kolom data bisnis saya dan membuat saya kembali kawat mereka. Semua tidak perlu.

File ini di bawah "sangat jelas sekali Anda melihatnya".

Contoh:

<LobSystem
xmlns:XSI="http://www.w3.org/2001/XMLSchema-instance" XSI:schemaLocation="http://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalog BDCMetadata.xsd" Jenis="WebService" Versi="1.2.0.0" Nama="xyzzyDocumentReview" xmlns="http://schemas.Microsoft.com/Office/2006/03/BusinessDataCatalog">

Mengubah bahwa versi dan re-import dan kolom data bisnis yang ada menggunakan versi update secara otomatis dengan tidak ada konfigurasi tambahan yang diperlukan.

</akhir>

Berlangganan ke blog saya.

Technorati Tags:

Solusi: BDC Picker menunjukkan hanya satu kolom hasil

Dalam upaya terus-menerus saya memberikan kolom lookup lebih berguna menggunakan BDC, Aku memukul dinding dengan BDC picker. Jika Anda belum melihatnya, BDC picker mirip dengan pemetik orang kecuali bahwa ia bekerja dengan kolom jenis "data bisnis".

Anda mengakses picker dengan mengklik ikon buku terbuka kolom data bisnis yang seperti yang ditunjukkan:

gambar

Gambar di atas menunjukkan kolom data bisnis yang disebut "Master dokumen Id". Kolom yang terhubung, melalui BDC, untuk layanan web. Layanan web kembali dua kolom informasi: Dokumen ID dan judul. Tujuan bisnis di sini adalah untuk memberikan "dokumen ini didasarkan pada" fungsi. Pengguna memilih suatu "master" dokumen dan ketika mereka menyelamatkan, acara penerima salinan kolom data meta dari master direferensikan.

Secara default, BDC picker seperti ini ketika saya mencari dokumen yang ID = "38":

clip_image002

Yang sangat membantu, tetapi tidak cukup baik. Orang tidak berpikir dalam hal id, mereka berpikir dalam judul dan/atau data meta lain. Picker memungkinkan Anda untuk mencari di kolom lain (misalnya. Judul) tapi tidak akan menunjukkan daftar aktual judul itu ditemukan, hanya mereka DocId's seperti yang ditunjukkan di sini:

clip_image002[1]

(Screen shot tidak begitu besar karena saya tidak memilih pencarian yang mengembalikan hasil apapun berlaku, tetapi Anda dapat melihat bahwa jika mereka telah menemukan beberapa hasil, itu hanya akan ditampilkan DocId's, tidak judul).

Saya mencari tinggi dan rendah untuk jawaban untuk ini dan gagal. Rekan saya, mulia Jonathan Bradshaw, telah dihadapi dan memecahkan masalah ini. Ketika aku mengulurkan tangan kepadanya untuk bantuan, ia menunjuk saya ke arah yang benar.

Mengkonfigurasi pemetik untuk menunjukkan beberapa kolom melalui "ShowInPicker" properti di ADF:

<Properti Nama="ShowInPicker" Jenis="System.Boolean">benar</Properti>

Lebih detail:

  <!-- Judul -->
  <TypeDescriptor TypeName="System.string" Nama="Judul" >
    <LocalizedDisplayNames>
      <LocalizedDisplayName LCID="1033">Judul</LocalizedDisplayName>
    </LocalizedDisplayNames>
    <Properti>
      <Properti Nama="DisplayByDefault" Jenis="System.Boolean">benar</Properti>
      <Properti Nama="ShowInPicker" Jenis="System.Boolean">benar</Properti>
    </Properti>
  </TypeDescriptor>

Menyeting properti ini memperkenalkan masalah kecil. Segera setelah Anda mengatur sekali, Anda perlu untuk mengatur untuk setiap kolom yang ingin Anda Tampilkan. Dalam kasus saya, BDC picker menunjukkan DocId secara default. Namun, begitu saya menambahkan "ShowInPicker" judul, DocId tidak lagi ditampilkan. Aku memecahkan yang dengan secara eksplisit menetapkan properti ShowInPicker untuk Doc ID.

Berikut adalah hasil:

gambar

(Saya akan menjelaskan tampak "168 – CamlSchema.xsd" konstruksi dalam posting blog masa depan. Singkatnya, itu adalah sebuah string dipenggal yang memungkinkan untuk pengalaman pengguna yang sedikit lebih baik).

Tentu saja, Setelah menulis entri blog ini, Saya hanya melakukan pencarian untuk "ShowInPicker" dan menemukan banyak hits, termasuk yang satu ini: http://msdn2.microsoft.com/en-us/library/ms583986.aspx. Ini menjelaskan arti dari properti itu bersama dengan beberapa lain BDC bagus.

</akhir>

Berlangganan ke blog saya!

Technorati Tags:

Cepat & Mudah: Membuat Folder dan menetapkan jenis konten (Atau, Memiliki Anda KPI dan memakannya terlalu)

Untuk bekerja di sekitar masalah KPI Saya menulis tentang di sini, Aku melakukan beberapa pengujian dan menemukan bahwa KPI kerja terhadap folder dengan meta data dengan cara yang sama bahwa mereka bekerja melawan dokumen atau daftar item. Aku membuktikan itu dengan menciptakan konten jenis baru berdasarkan jenis konten folder dan kemudian ditambahkan beberapa bidang. Saya membuat beberapa indikator dan terbukti sendiri bahwa KPI bekerja seperti yang diharapkan. Ini adalah berita hangat. Hal ini tidak sempurna, karena melacak Anda mendapatkan dari KPI terhadap folder adalah bukan apa yang Anda inginkan. Ini tidak terlalu banyak kelemahan dalam kasus saya karena 1) pengguna akhir tidak tahu lebih baik dan 2) melacak pergi ke folder. Mereka mengklik nama folder dan mereka di item. Ini adalah dua klik bukan satu, yang bukanlah akhir dari dunia.

Ini mengalir dengan baik dengan pekerjaan yang saya lakukan. Saya membuat folder untuk setiap dokumen yang akan diupload. Hal ini dilakukan melalui acara Penerima. Akibatnya, ini adalah sepotong kue untuk menjaga folder induk Meta data sinkron dengan KPI-driven meta data dari file itu sendiri karena pipa sudah di tempat. This allows me to have my KPI’s and eat them too 🙂

Aku diubah Penerima acara untuk menambahkan folder dan kemudian menetapkan jenis konten folder ini baru untuk tipe konten KPI ramah saya kustom. Ini sedikit kode melakukan trick:

 SPFolderCollection srcFolders = targetWeb.GetFolder("Dokumen").Subfolder;
  SPFolder addedFolder = srcFolders.Add(properti.ListItem.ID.ToString());
  SPContentTypeId kpiCT = baru SPContentTypeId("0x0120002A666CAA9176DC4AA8CBAA9DC6B4039F");
  addedFolder.Item["Konten jenis ID"] = kpiCT;
  addedFolder.Item.Update();

Untuk mencari ID tipe konten yang sebenarnya, Aku diakses jenis konten melalui pengaturan situs dan menyalin/disisipkan itu dari URL seperti yang ditunjukkan:

gambar

</akhir>

Berlangganan ke blog saya!

Technorati Tags: ,

Cepat dan mudah: Mendapatkan SPFolder objek SPListItem di acara penerima

Aku benci mengakuinya, tapi aku berjuang dengan yang satu ini semua hari. Saya Penerima acara perlu memperbarui bidang induk foldernya. Ini sedikit menunjukkan bagaimana melakukannya:

swasta Batal UpdateParentFolder(SPItemEventProperties properti)
{

SPFolder thisItemFolder = properti.ListItem.File.ParentFolder;
thisItemFolder.Item["ZZ persetujuan Status"] = "Kabar baik, semua orang!";
thisItemFolder.Item.Update();


} // UpdateParentFolder

Dalam hal ini, Saya bekerja dengan perpustakaan dokumen dan sifat-sifat berasal dari peristiwa ItemAdded.

Kuncinya adalah bahwa Anda tidak bisa mendapatkan SPFolder item langsung dari item itu sendiri (yaitu. properti.ListItem.Folder nol). Sebaliknya, pergi ke item daftar File terkait dan mendapatkan folder tempat berkas.

</akhir>

Berlangganan ke blog saya!

Technorati Tags:

Namun lain acara penerima Debug trik

Aku yakin aku bukan orang pertama yang datang dengan ini. Namun, Saya tidak melihat siapa pun yang menerbitkan sebuah trik seperti ini sejak saya mulai menaruh perhatian masyarakat bulan Juli. Jadi, Saya pikir saya akan posting ini cepat dan mudah debug tip.

Aku sedang bekerja pada acara penerima yang mulai menghasilkan kesalahan ini di 12 sarang:

Error loading dan menjalankan acara penerima Conchango.xyzzyEventReceiver di xyzzy, Versi = 1.0.0.0, Culture = neutral, PublicKeyToken = blahbalhbalh. Informasi tambahan adalah di bawah ini. : Referensi objek yang tidak diatur ke contoh sebuah objek.

Aku tidak tahu di mana saya telah memperkenalkan bug ini karena saya telah melakukan hal-hal yang terlalu banyak dalam salah satu siklus kode/menyebarkan/tes saya.

Aku mencoba Solusi ini untuk mendapatkan pdb saya di sana dengan harapan bahwa SharePoint 12 Sarang akan menunjukkan setumpuk jejak, tetapi tidak beruntung. Aku tidak tahu jika mungkin dan jika seseorang melakukan, tolong beritahu saya 🙂

Aku tahu itu mungkin untuk menulis pesan log Anda sendiri untuk 12 sarang. Terus terang, Aku ingin sesuatu yang sedikit kurang menakutkan dan lebih cepat untuk melaksanakan.

Terpikir olehku bahwa saya setidaknya bisa mendapatkan beberapa informasi dasar jejak oleh penangkapan dan re-throwing pengecualian generik seperti ini:

  coba {
    UpdateEditionDate(properti);
  }
  menangkap (Pengecualian e)
  {
    melempar baru Pengecualian("Operator, UpdateEditionDate(): Pengecualian: [" + e.ToString() + "].");
  }

Ini muncul dalam 12 sarang thusly:

Error loading dan menjalankan acara penerima Conchango.xyzzyEventReceiver di xyzzy, Versi = 1.0.0.0, Culture = neutral, PublicKeyToken = blahblahblah. Informasi tambahan adalah di bawah ini. : Operator, UpdateEditionDate(): Pengecualian: [System.NullReferenceException: Referensi objek yang tidak diatur ke contoh sebuah objek. di Conchango.xyzzyManagementEventReceiver.UpdateEditionDate(SPItemEventProperties properti) di Conchango.xyzzyManagementEventReceiver.Dispatcher(SPItemEventProperties properti, String eventDescription)].

Itu memberiku semua detail yang saya butuhkan untuk melacak masalah tertentu dan aku berharap untuk menggunakannya banyak maju.

</akhir>

Berlangganan ke blog saya!