Cepat dan sederhana: Menyediakan situs Web yang menggunakan Model objek SharePoint dalam C#

Aku mencoba mencari sedikit potongan kode yang akan menunjukkan bagaimana saya dapat membuat SPWeb baru dalam situs koleksi. Saya tidak menemukan sebagai cepat atau mudah seperti yang saya harapkan jadi saya pikir saya akan menampar bersama sedikit catatan pada subjek.

Kode ini menciptakan situs Wiki baru:

 SPSite siteCollection;

    siteCollection = baru SPSite("http://conchang-o9l8qi");

    SPWeb w = siteCollection.OpenWeb();

    w.Webs.Add("xyzzy", "xyzzy judul",
        "xyzzy Deskripsi", 1033, SPWebTemplate.WebTemplateWIKI, palsu, palsu);

Pencarian awal saya gagal karena saya sedang mencari frase seperti "menyediakan situs web menggunakan model objek sharepoint" dan sejenisnya.

Jika Anda pencarian untuk "Webs.Add()", Anda akan menemukan jumlah entri blog yang sangat berguna, Artikel MSDN dan dokumentasi SDK yang masuk ke mendalam tentang subjek ini. Saya merekomendasikan situs ini.

</akhir>

Berlangganan ke blog saya.

Technorati Tags:

Mengintegrasikan SharePoint Designer Workflow dengan layanan Web

Aku sudah bermain-main dengan tindakan kustom untuk SharePoint Designer untuk beberapa waktu (Lihat di sini untuk beberapa hal rinci, Jika yang menarik minat Anda).

Dalam proyek saya saat ini, kita perlu melakukan beberapa cukup angkat berat dan kami ingin menggunakan deklaratif SPD alur kerja untuk mengelola proses bisnis yang terkait.

Cerita panjang pendek, ini sepenuhnya mungkin. Saya diperpanjang proyek Codeplex saya untuk memohon layanan penolong"" dan sekarang kita dapat memanggil layanan web langsung dari sebuah alur kerja SPD.

Berikut adalah tanda tangan:

 Umum string Operator(
        GUID WebID, // Disahkan oleh lingkungan runtime
        GUID SiteID, // Disahkan oleh lingkungan runtime
        string ListID, // Melewati RTE (tidak tahu mengapa hal ini adalah string, tidak GUID)
        Int ListItemID, // Melewati RTE.
        string XmlMessage) // Disahkan oleh pengguna sebagaimana dinyatakan dalam SPD.

Ini memanfaatkan kenyataan bahwa kita bisa mendapatkan informasi penting alur kerja, seperti situs, Daftar ID, dll. Ini telah didokumentasikan di beberapa tempat bagi Anda yang tertarik untuk membuat tindakan kustom Anda sendiri. Idenya adalah untuk mengekstrak XML string yang disediakan oleh pengguna untuk mengirimkan prosedur yang tepat. Seru!

Sayangnya, ini sangat jelas tiket sekali jalan ke "Loosey Ramadhan" pola anti tanah, but it’s better than hitting a brick wall 🙂

Itu pola anti jika Anda melakukannya, meskipun Anda tahu itu adalah sebuah pola anti?

Saya berharap untuk membungkus ini dalam Codeplex dalam waktu dekat. Jika Anda tertarik pada saya melakukannya, memberi saya karung (email atau meninggalkan komentar) and I’ll be that more enthusiastic about doing it 🙂

</akhir>

Berlangganan ke blog saya.

Technorati Tags: ,

Minggu lucu: “Aku ingin tahu apakah password Anda …”

Saya baru saja membeli makan siang untuk adikku (seperti biasa) dan akhirnya kami berbicara tentang hal-hal lucu yang kami lakukan di perguruan tinggi kami masing-masing. Di almamater saya, Lafayette College, dukungan akademis departemen TI itu cara yang sangat inklusif tentang hal itu. Kami diberi banyak tali dan aku mengambil keuntungan dari itu pada waktu.

Dua kenangan favorit saya berhubungan dengan teman baik saya, Gabe. Dia telah membuat kesalahan besar untuk memberitahu orang-orang tahun pertamanya yang "I 'm mahasiswa baru, tapi aku punya Sophomore berdiri" karena berbagai kelas penempatan lanjutan yang telah diambilnya, dll. Demikian pula banyak dari kita berada, tetapi kita tidak berbicara tentang hal itu begitu banyak. Tahun seniornya, Kapan kita memperkenalkannya kepada orang, kita akan mengatakan "ini adalah Gabe. Dia adalah Senior, tapi ia memiliki Sophomore berdiri ".

College memiliki beberapa komputer/server Sun menjalankan X-Window. Mereka memiliki monitor raksasa dan para insinyur menggunakan mereka untuk CAD dan lain hal insinyur yang membosankan. Kami CS orang menggunakan mereka untuk belajar pemrograman dan, Tentu saja, untuk memainkan permainan.

Kami tidak suka insinyur komputer-tak berdaya untuk banyak sehingga salah satu hal favorit kami untuk melakukannya akan menjadi Telnet ke kotak mereka sedang dan menjalankan X-mata mereka. Ini akan muncul sepasang mata yang diikuti mouse sekitar pada layar. Anda bisa muncul bahkan lebih dan secara harfiah selusin atau lebih dari aplikasi X-mata yang berjalan. Try not to laugh out loud when a hapless engineer is trying to close X-eye after X-eye and muttering under his breath about it 🙂

Kami juga bermain X-trek pada kotak tersebut. Untuk melakukan itu, Anda harus men-download sumber, mendapatkan berbagai dependensi dimanapun Anda bisa menemukan mereka dan membangun. Saya bukan seorang programmer C yang canggih, tapi aku bisa membaca file header. Aku sedang mencari melalui ini dan menemukan petunjuk seperti "MAX_TORPEDO_DISTANCE #DEFINE 10". Aku bermain-main dengan yang meningkatkan jangkauan dan kekuatan untuk fase dan torpedo, dibangun kembali dan kemudian dihancurkan Gabe waktu berikutnya kami bermain.

Gabe adalah juga seorang penggemar besar dari acara TV disebut Blake 7. Aku belum pernah melihat itu, Tapi itu tidak mencegah saya dari bersikeras bahwa Dr. Siapa yang menunjukkan unggul. The arguments would get heated at times 🙂

Satu hari, terpikir olehku bahwa aku mungkin bisa menebak UNIX password. Aku duduk di dekatnya satu hari dan mengumumkan dengan nada keras, "Aku akan menebak sandi Anda sekarang, Gabe." "Ya, kanan" adalah jawaban atas. Saya kemudian masuk, memasuki id pengguna nya, berbalik menghadapi dia, mengetik dan berkata keras, "Aku ingin tahu apakah B-L-A-K-E-7" ? Mengetik sentuh telah pernah dilunasi mahal itu hari itu.

Minggu depan (atau segera): Lain komputer kamar kejenakaan dari college.

Apakah Anda memiliki semua untuk berbagi? Meninggalkan komentar atau email saya dan saya akan menerbitkannya di sini.

</akhir>

Berlangganan ke blog saya.

Technorati Tags:

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: