Arsip bulanan: Oktober 2007

SharePoint Designer — Custom kegiatan untuk melaksanakan fungsi ditetapkan pengguna C#

UPDATE: Ini telah dirilis ke CodePlex di sini: http://www.codeplex.com/spdwfextensions

UPDATE: Lihat di sini untuk catatan rilis terbaru: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!381.entry

UPDATE: Lihat di sini untuk pikiran saya mengkomersilkan proyek ini: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

Proyek ini menyediakan aktivitas kustom di SharePoint Designer. Menggunakan kegiatan ini kustom untuk memohon (pengiriman) setiap C# fungsi yang Anda dimasukkan ke dalam Majelis terkait.

Dari akhir Oktober, 2007, ini adalah versi awal proyek. Saya berencana untuk memperluas dengan sejumlah fungsi tambahan, termasuk substring, Indeks, ganti, menerapkan layanan web dan apa yang tampaknya berguna atau menarik. Saya juga berencana untuk posting ini untuk codeplex setelah saya saya bertindak bersama-sama di depan itu. Ini juga akan deployable sebagai solusi di beberapa titik.

Jika Anda memiliki komentar, pertanyaan atau saran, Silahkan meninggalkan mereka di komentar atau email saya.

Disclaimer:

Aku benar-benar tidak membuat klaim mengenai kesesuaian ini untuk tujuan apapun. Gunakan dengan resiko Anda sendiri.

Langkah-langkah instalasi (to be diikuti untuk setiap WFE di peternakan):

1. Download .zip dan ekstrak.

2. Menginstal .dll ke GAC. Saya biasanya buka c:\windowsassembly menggunakan windows explorer dan salinan sana.

3. Mengubah web.config untuk menambah Majelis kontrol aman:

<System.Workflow.ComponentModel.WorkflowCompiler>
<authorizedTypes>

<authorizedType Majelis = "SpdGenericInterface, Versi = 1.0.0.0, Culture = neutral, PublicKeyToken = abe076fd8125f3c4" Namespace = "Nivlag" TypeName = "*" Berwenang = "True" />

4. Salin "SpdGenericInterface.actions" c:\Program program files Common files Microsoft Shared Web server extensions12TEMPLATE1033Workflow

Perhatikan bahwa di atas lokasi khusus untuk instalasi bahasa Inggris.

5. Menutup SharePoint Designer (Jika sudah terbuka).

6. iisreset

7. Membuka SPD dan membuat alur kerja baru.

Jika semuanya berjalan dengan baik, Anda harus dihargai dengan kategori baru tindakan:

gambar

Catatan:

Lihat Sini (http://blogs.msdn.com/sharepointdesigner/archive/2007/03/15/adding-activities-to-spd.aspx) untuk gambaran yang hebat dari proses untuk membuat, menginstal dan mengkonfigurasi solusi seperti ini.

.Zip dirancang untuk mengekstrak langsung kepada Anda c:\ berkendara. Jika Anda melakukan ini, Anda dapat membuka proyek dan semua jalan akan konsisten.

Untuk menggunakan visual studio, Anda mungkin perlu menginstal "Ekstensi untuk Windows WF".

Upload awal berisi hanya satu "fungsi operator", "ToLower()". Untuk menambah fungsi, Tambahkan ke metode Execute seperti yang ditunjukkan:

 dilindungi override ActivityExecutionStatus
          Melaksanakan(ActivityExecutionContext executionContext)
        {

            string functionToDispatch;
            functionToDispatch = ini.DispatchFunction.ToLower();

            beralih (functionToDispatch)
            {
                kasus "tolower()":
                    {
                        ini.OutResult1 = ini.InParam1.ToLower();
                        istirahat;
                    }

                default:
                    {
                        ini.OutResult1 = "Fungsi yang tidak diketahui: [" + ini.DispatchFunction + "].";
                        istirahat;
                    }
            }

            kembali ActivityExecutionStatus.Ditutup;
        } // ActivityExecutionStatus

    }

Kemudian, membangun kembali proyek dan menyalin Majelis ke GAC. Saya berharap iisreset akan diperlukan.

SPD Workflow tindakan kustom – mendapatkan <WorkflowInfo> Tag hak untuk menghindari frustrasi

Bagian dari proses untuk membuat tindakan kustom untuk SharePoint Designer melibatkan menciptakan ".actions" file.

Saya telah menemukan dan mencoba menggunakan sampel template yang dimulai sebagai:

<?XML Versi="1.0" encoding="utf-8" ?>
<
WorkflowInfo xmlns="http://schemas.Microsoft.com/SharePoint/">
<
Tindakan Berurutan="kemudian" Paralel="dan">

Namun, bahwa atribut xmlns mencegah lingkungan saya dari bekerja. Tindakan saya tidak muncul dalam SPD.

Solusinya adalah untuk menghapus atribut xmlns, melakukan iisreset dan tutup/kembali-open SPD.

Cepat dan sederhana: Mengkonfigurasi MOSS untuk mencari perpustakaan dokumen tertentu

Melihat UPDATE (SAYA) di bawah ini (11/24/07) pada Cara mengkonfigurasi Microsoft Office SharePoint Server 2007 Indeks dan merangkak jaringan folder untuk pencarian

Tujuan: Saya ingin menjalankan pencarian dibatasi ke pustaka dokumen khusus. Dalam hal ini, Perpustakaan dokumen berisi dokumen pelatihan.

Langkah-langkah:

1. Merekam URL dokumen perpustakaan.

2. Membuat ruang lingkup:

Pergi ke pusat administrasi.

Akses SSP.

Pergi ke "Setelan".

Gulir ke bawah ke bagian ruang lingkup dan pilih "Lihat cakupan".

Membuat cakupan baru. Berikan nama dan deskripsi berguna.

3. Menentukan cakupan merangkak aturan:

Tambah aturan yang mendefinisikan dokumen perpustakaan untuk lingkup ini.

Pilih "alamat web" untuk "Lingkup aturan Type".

Masukkan nama folder (Lihat #1 di atas).

Menerima nilai default "Meliputi".

Menunggu untuk lingkup untuk memperbarui (atau mulai secara manual).

4. Mengaktifkan cakupan dalam situs koleksi.

Pergi ke situs koleksi di mana Anda ingin menggunakan lingkup ini.

Menambah lingkup baru tampilan sesuai kelompok atau kelompok.

5. Pencarian!

Pada titik ini, Anda sudah selesai. Dengan asumsi lingkup didefinisikan dengan baik, ini akan menjadi tersedia dalam cakupan drop down untuk pencarian sederhana dan canggih dan ketika Anda mencari menggunakan lingkup yang, Anda hanya akan mendapatkan hasil yang Anda harapkan.

Catatan:

Saya menulis entri blog ini karena saya pencarian untuk lingkup sederhana setup muncul kering menggunakan frase seperti:

  • mengkonfigurasi cakupan di MOSS
  • mengkonfigurasi pencarian lingkup moss
  • cakupan di sharepoint 2007
  • cakupan di sharepoint
  • Cari dokumen perpustakaan moss
  • cakupan primer moss

Anda dapat membuat cakupan pencarian pada folder, bukan hanya seluruh dokumen Perpustakaan.

Lingkup yang dapat dibagi pada beberapa situs koleksi (oleh karena itu, "layanan bersama").

Anda dapat membuat cakupan di tingkat koleksi situs itu sendiri. Namun, Saya lebih memilih untuk pergi ke Pusat admin karena saya bisa mulai merangkak dari sana. Anda tidak bisa mulai merangkak dari situs koleksi.

UPDATE (SAYA) seperti 11/24/07:

Kai Shang mengumpulkan besar posting berjudul Cara mengkonfigurasi Microsoft Office SharePoint Server 2007 Indeks dan merangkak jaringan folder untuk pencarian @ http://kaishenghoo.spaces.live.com/blog/cns!8A7458DB12CA5AC9!206.entry

Tidak ada sup untukmu! Adalah Cisco produk Nazi sup NLB?

Hari ini, Saya mencoba untuk mengakses pustaka dokumen melalui jendela explorer. Lib doc ini tinggal di dalam sebuah sistem yang terdiri dari dua WFE beban seimbang dengan semacam solusi Cisco NLB. (Bila wizards jaringan ceritakan apa, Saya akan update posting ini).

Windows explorer tidak dapat menyambung. Saya melakukan beberapa penelitian dan akhirnya, jaringan wizards mengatakan bahwa WebDAV dinonaktifkan secara / tidak didukung oleh / di bawah martabat NLB.

Jadi, dengan asumsi wizards jaringan tidak hanya memberitahu saya jaringan wizard setara dengan "take berjalan-jalan dari jembatan pendek", Aku bertanya-tanya — Apakah NLB, oleh alam, menonaktifkan WebDAV? Apakah kita kehilangan kami file windows explorer antarmuka untuk SharePoint? Cisco adalah Sup Nazi?

Mengelola MOSS / WSS lingkungan — menjaga dengan basis pengetahuan

Microsoft menciptakan basis pengetahuan artikel hari dan hari dan beberapa dari mereka yang terkutuk penting untuk mengetahui jika Anda tinggal di dunia SharePoint.

Aku menjaga hingga kecepatan dengan mereka melalui layanan menyediakan oleh orang-orang baik di www.kbalertz.com. KBAlertz memungkinkan Anda untuk mendaftar untuk teknologi MS favorit Anda dan mereka mengirim Anda mencerna versi Microsoft KB artikel melalui email.

Web aplikasi kebijakan, Keamanan situs dan pemangkasan keamanan — Tahu konfigurasi Anda

(DIPERBARUI 11/29 untuk menjelaskan bagaimana untuk mengakses pengaturan kebijakan aplikasi web melalui UI)

Aku punya salah satu dari mereka "Mengapa adalah MOSS melakukan ini untuk saya????" saat-saat hari. Di ujung, ini adalah semua salahku.

Kami memiliki sebuah proyek MOSS perusahaan yang terjadi dan kami ingin aman "tempat dudukan" situs sehingga pengguna tidak dapat mengakses atau melihatnya. Ini mudah:

  1. Pergi ke situs.
  2. Istirahat warisan keamanan.
  3. Menghapus setiap user/group dari situs izin.

Di atas harus meninggalkan hanya site koleksi administrator dengan izin untuk melihat situs.

Jika orang lain log in, mereka harus tidak lagi melihat situs dan harus dipangkas keamanan dari semua tempat biasa.

Tapi … itu bukan. Pada saat yang sama, Tiba-tiba menyadari bahwa saya "Joe pengguna" standar tes account user dengan tidak serverach selain pembatasan akses baca telah "tindakan situs" pilihan di mana-mana dia pergi. Aku ganda memeriksa satu hal dan periksa sesuatu yang lain. Aku mengangkat telepon untuk memanggil seorang rekan, tapi meletakkan itu dan memeriksa sesuatu yang lain. Aku pergi untuk berjalan-jalan dan mencoba segala seluruh lagi. Aku menelepon seorang rekan dan meninggalkan pesan. Dan kemudian, akhirnya, Saya menemukan bahwa pada Ethan's blog, grafik pembukaan nya membuat cukup sederhana:

MOSS 2007 fitur baru yang disebut aplikasi Web kebijakan. Ini adalah izin keamanan yang terikat aplikasi Web. Pengaturan keamanan ini menimpa setiap pengaturan keamanan yang ditetapkan pada situs atau situs koleksi (Web) tingkat untuk pengguna.

Sebuah kunjungan singkat ke web aplikasi kebijakan menunjukkan bahwa "NT Authorityauthenticated pengguna" telah diberikan penuh dibaca. Aku melepaskan mereka dari daftar dan semuanya akhirnya mulai bekerja seperti yang diharapkan. Saya percaya mereka ditambahkan di tempat pertama dengan seseorang dengan kesan yang keliru bahwa itu adalah metode terbaik untuk memberikan akses ke semua orang di perusahaan. Hal ini, Tapi, untuk menyiksa kutipan, "Itu tidak berarti apa yang Anda pikir itu berarti."

Kebijakan akses web aplikasi dengan cara ini:

  1. Pergi ke pusat administrasi
  2. Pilih aplikasi manajemen
  3. Pilih "kebijakan untuk aplikasi Web"
  4. Pada layar yang, Pastikan Anda memilih aplikasi web yang benar. Bagi saya, default ke aplikasi web admin tengah yang tidak mungkin yang Anda inginkan.

Ketika aku punya masalah ini, Saya mencari frase berikut dan mendapat mengejutkan sedikit dari segi langsung bantuan tentang masalah ini:

Tindakan situs terlihat untuk semua pengguna

Tindakan situs terlihat oleh semua pengguna

tindakan situs tidak keamanan dipangkas

mengamankan situs MOSS

pengenalan moss keamanan

Technorati Tags:

Cepat dan sederhana: Menggunakan kata kunci tetap Query dalam hasil pencarian inti

Cepat dan petunjuk sederhana:

Mengedit halaman dan menambahkan bagian web hasil pencarian inti.

Mengedit bagian web dan memperluas "Tetap kunci permintaan".

Tambahkan kata kunci tetap query (misalnya. ContentType:"Pelatihan faktur" TrainingInvoiceNumber:1111)

Memperluas hasil pilihan permintaan dan perubahan "Cross-Web bagian permintaan ID" nilai selain "permintaan pengguna" (misalnya. "Permintaan 2").

Catatan:

Menggunakan hasil pencarian inti cara ini memungkinkan saya untuk membuat halaman yang menunjukkan informasi dari lain situs koleksi. Klien memiliki dua koleksi situs utama: Departemen dan produk.

Produk situs koleksi berisi, alami yang cukup, informasi produk. Setiap produk dalam koleksi situs mengumpulkan data dari berbagai sumber.

Salah satu dari Departemen, kode dan pengujian, di sumber tersebut. Ketika pengguna mengakses produk XYZ, mereka harus melihat kode dan data pengujian secara langsung pada halaman utama XYZ. Sejak kode dan pengujian host di lain situs koleksi, itu sedikit canggung. Kami memutuskan untuk menggunakan bagian web hasil pencarian inti karena Cari meliputi koleksi situs. Kode dan pengujian mengelola data produk melalui daftar kustom yang dibatasi oleh jenis konten tertentu. Permintaan kata kunci AA yang menggunakan pertama jenis konten dan kemudian nomor produk mempersempit pencarian untuk satu baris dalam daftar kustom.

Kata kunci pertanyaan di atas adalah dan. Kembali dokumen konten jenis "pelatihan faktur" dan di mana nomor faktur setara "1111".

Bagus manfaat dari pendekatan ini: Kita dapat mengedit XSL dari bagian web hasil pencarian inti dan menghasilkan format apapun yang kita inginkan.

Lihat di sini (http://devcow.com/blogs/jdattis/archive/2007/04/17/SharePoint_2007_How_to_Rollup_Content_from_multiple_Site_Collections.aspx) untuk blogger lain diskusi pada topik ini.

</akhir>Berlangganan ke blog saya.

Ceritakan tentang blog Anda!

Jika Anda memelihara sebuah blog yang setidaknya minimal terhubung ke SharePoint, tolong beritahu saya di komentar. Saya ingin menambahkan Anda ke saya daftar blog.

Jika Anda memelihara sebuah blog yang tidak terhubung ke SharePoint tapi ingin saya untuk menambahkan tetap, Biarkan aku tahu. Aku akan dapat menciptakan sebuah blog terpisah daftar.

Tolong beri:

  • URL blog Anda (jelas)
  • Deskripsi singkat dari blog Anda.

Saya ingin menyimpan link untuk "aktif" Blogs, yang aku kira-kira mendefinisikan sebagai satu posting per minggu dan minimum berusia tiga bulan. Jika Anda tidak memenuhi persyaratan"" menambahkan nama Anda ke komentar pula. Memiliki * saya * daftar sehingga saya dapat mematahkan aturan saya sendiri jika saya ingin.

Terima kasih!

Jadwal pelatihan karyawan dan bahan Template — Penurunan bug dalam template

Klien melihat bug hari ini dengan template yang disebutkan di atas.

Manajer Lapangan membuat kursus. Saat membuat kursus, manajer menentukan maksimum jumlah kursi yang tersedia.

Menyediakan template untuk pendaftaran layanan mandiri. Saya mendaftarkan dan alur kerja yang melekat pada pendaftaran daftar usaha "kursi yang tersedia" terkait dengan bahwa saja.

Individu juga mungkin membatalkan registrasi dari kursus. Bug terletak di sini. Unregistering dari Lapangan tidak kenaikan meja kursi yang tersedia. Akibatnya, kursi yang tersedia tidak akurat. Bug ini diperparah oleh kenyataan bahwa ketika usaha kursi yang tersedia ke nol, tidak ada lagi self-service pendaftaran diperbolehkan.

Untungnya, Microsoft menyediakan alur kerja untuk proses ini. Bahkan lebih baik, itu adalah alur kerja lurus ke depan yang diciptakan melalui SharePoint Designer.

Ikuti langkah tingkat tinggi untuk memperbaikinya:

  1. Api up SDP.
  2. Mengakses situs yang didasarkan dari template pelatihan.
  3. Akses "peserta handset" alur kerja.
  4. Masukkan langkah (Aku membuat mereka dua langkah pertama):
    1. Menghitung Kursus:Diisi kursi minus 1 (Output Variabel:Calc)
    2. (kemudian) Pembaruan item dalam Kursus

Klik selesai dan Anda sudah selesai.

Screen Shot:


SharePoint Designer:

gambar

Alur kerja selesai:

gambar

Menghitung drill-down:

gambar

Pembaruan item dalam kursus:

gambar

Memberikan kabar baik sering; memberikan berita buruk awal

Aku sudah seorang konsultan selama banyak tahun sekarang dan sebagai konsultan setiap berpengalaman tahu, komunikasi yang baik merupakan salah satu pilar untuk sukses penyerahan proyek. It's so jelas, benar-benar hampir membosankan untuk berbicara tentang. Ini bukan posting tentang komunikasi Umum. Sebaliknya, Aku menulis tentang sisi gelap komunikasi — berkomunikasi berita buruk.

Tak usah dikatakan bahwa memberi kabar baik untuk klien yang dilakukan sepanjang waktu, sesering mungkin. Yang tidak ingin memberikan berita baik? Yang tidak ingin mendengar kabar baik?

Di sisi lain, Kabar buruknya adalah sama sekali tidak menyenangkan.. Saya telah selalu berjuang dengan ini. Di hari-hari awal karir saya, Aku akan tahu sesuatu yang kacau dengan proyek dan bukannya memberitahu klien, Saya akan bekerja lebih lama jam untuk mencoba memecahkan masalah. Aku akan menyuruh tim saya bekerja lebih keras. Ini adalah suatu dorongan yang cukup alami untuk berpikir bahwa usaha manusia super dapat menyimpan hari. Beberapa kali ini bekerja, beberapa kali tidak. Bahkan ketika "bekerja" Hal ini sering campuran tas. Adalah kualitas penyampaian benar-benar terserah spec ketika kunci bagian telah dikembangkan selama beberapa 60 untuk 80 jam seminggu?

Apa adalah cara terbaik untuk menangani berita buruk? Jawabannya adalah: Kirim ke awal. Jangan menunggu sampai satu minggu sebelum anggaran proyek akan dikonsumsi. Jika Anda tahu enam minggu bahwa hanya ada tidak cukup waktu untuk memberikan beberapa bit dijanjikan fungsi, memberitahu klien saat itu juga. Klien mungkin marah (mungkin akan), mungkin ada incriminations dan tuduhan dan melukai perasaan. Tapi, Ketika emosi mendinginkan, ada masih enam minggu tersisa di proyek. Enam minggu adalah sepotong baik waktu. Ada waktu untuk menyesuaikan rencana, mengubah jadwal, mendapatkan bola menggelinding pada anggaran ekstensi (Semoga Sukses!) dan hanya umumnya datang ke genggaman dengan fakta"di tanah" dan menyusun rencana baru yang masih menghasilkan sebuah proyek sukses.

Kasus di titik: Saya bekerja pada sebuah proyek yang dicirikan oleh:

  • T&E anggaran dengan capped "tidak melebihi" jumlah dolar.
  • "Usaha terbaik akan dilakukan" berjanji untuk menyampaikan x, Y dan z proyek akhir.
  • Kurangnya sumber daya kunci yang dijanjikan pada sisi klien. Sumber daya yang tidak ditahan pada tujuan, juga untuk setiap "buruk" alasan, tapi mereka yang ditahan.
  • Fajar realisasi proyek melewati titik setengah jalan bahwa kita tidak akan mampu untuk memberikan "Z" (terutama karena sumber daya yang dijanjikan tidak benar-benar tersedia).
  • Laporan status biasa dan "CYA" dokumentasi yang didukung kami (tim konsultan) up.
  • Erat tim implementasi dengan anggota dari organisasi konsultasi (perusahaan saya) dan klien.
  • Tim manajemen jauh, dalam kedua arti kiasan dan fisik. Tim manajemen ini difokuskan pada proyek perusahaan besar lain dan dikarenakan keterbatasan ruang, tim implementasi bertempat di bangunan terpisah di kampus, menuruni bukit dan cara yang relatif jauh dari "peradaban".

Dengan kira-kira enam minggu tersisa pada anggaran proyek, Kami (tim implementasi) tahu bahwa kami kesulitan. Kontrak mengatakan bahwa kami perlu untuk memberikan "Z". Meskipun proyek waktu & bahan-bahan dan meskipun kami hanya berjanji "usaha terbaik" untuk memberikan z dan bahkan meskipun kami punya besar pembenaran untuk hilang pengiriman … Intinya adalah bahwa itu tidak terlihat baik — Kami tidak akan memberikan z dalam bentuk kualitas yang akan membuat orang bangga.

Menyadari hal ini, Kami pergi ke manajemen dan mengatakan kepada mereka bahwa anggaran proyek akan dikonsumsi oleh tanggal tertentu dan bahwa kita berada di masalah dengan z.

Badai mini erupted selama beberapa hari berikutnya.

Hari 1: Tim manajemen panggilan di staf untuk pertemuan khusus (Kami, konsultan tidak diundang). Kontrak yang dicetak dan bagikan kepada semua orang dan peninjauan baris demi baris ensues. Manajemen menempatkan anggota staf pada defensif. Saya tidak berpikir frase "Sindrom Stockholm" adalah * sebenarnya * digunakan, tapi Anda mendapatkan gambar. Kami sedang kelompok, Setidaknya, dan staf telah bekerja sama dengan kami konsultan hari masuk dan keluar selama beberapa bulan sekarang.

Hari 2: Manajemen panggilan lain Rapat staf. Mereka merasa sedikit lebih baik. Mereka ingin pilihan dan ide-ide untuk bergerak maju. Mereka menyadari bahwa masih ada enam minggu tersisa di anggaran proyek saat ini, yang masih layak sedikit waktu. Salah satu item tindakan: jadwal pertemuan dengan tim implementasi penuh (termasuk konsultan).

Hari 5: Tim penuh memenuhi, ensues konstruktif Rapat dan rencana dicapai baru diletakkan pada tempatnya. Bahkan lebih baik, kami telah sudah mulai membahas tahap kedua dan klien mengundang kami untuk menyiapkan proposal untuk fasa itu segera.

Jika kita telah menunggu sampai hanya tiga minggu tetap, atau bahkan lebih buruk, satu atau dua minggu, itu pasti sudah jauh berbeda. Bukan pertemuan konstruktif align kembali proyek, Kami akan menarik keluar laporan status, parsing kontrak dan meninjau email lama untuk membenarkan ini atau keputusan itu. Kami akan "menang" Tapi apakah itu benar-benar "memenangkan" dalam hal ini?

Jadi, Jika Anda harus memberikan berita buruk, memberikan awal. Berita buruk yang diberikan terlambat tidak hanya buruk, Hal ini mengerikan.