Arsip bulanan: November 2007

Anda tidak bisa mengalahkan SharePoint jangkauan

Selama dua hari terakhir, Saya telah berpartisipasi dalam dua pertemuan di mana kami menyampaikan hasil dari proyek SharePoint. CIO dan timnya bergabung pertemuan pertama. Itu standar dan tidak terutama terkenal. Departemen TI jelas terlibat dalam usaha peluncuran dari setiap proyek teknologi. Pertemuan kedua diperluas untuk mencakup V.P. dari pemasaran, beberapa sutradara mewakili HR, Logistik, Manufaktur, Proyek, Kualitas, Pembelian, Pengembangan perusahaan dan departemen lain (beberapa di antaranya tidak bahkan secara langsung terlibat dalam tahap saat ini). Itulah khalayak yang perkasa luas.

Dalam kehidupan sebelumnya, Saya terutama bekerja pada proyek-proyek ERP dan CRM. Mereka berdua memiliki domain solusi cukup lebar tetapi tidak selebar SharePoint. Akan terwujud, SharePoint proyek secara sah dan selalu mencapai ke setiap sudut dan celah dari organisasi. Berapa banyak solusi perusahaan lain memiliki semacam mencapai? Tidak banyak.

SharePoint jelas mewakili kesempatan besar bagi kita cukup beruntung untuk berada di ruang ini. Hotel ini menyediakan kesempatan besar teknis (yang entah bagaimana dihidupkan kepalanya Sini di bawah "Teknologi Anda harus menguasai"). Tetapi bahkan lebih baik, SharePoint memperlihatkan kami berbagai luas dan berbagai proses bisnis melalui keterlibatan ini. Berapa banyak spesialis CRM bekerja dengan sisi manufaktur perusahaan? Berapa banyak konsultan ERP bekerja dengan sumber daya manusia pada akuisisi? SharePoint melebihi mereka berdua.

Seperti apa pun, Hal ini tidak sempurna, Tapi itu adalah tempat yang sangat baik untuk menjadi.

Untuk cinta [mengisi Anda menjadi orang tinggi paling dicintai], Jangan mengubah ' judul’ kolom situs.

Pada Forum SharePoint, kadang-kadang seseorang bertanya tentang "mengubah label judul" atau tentang "menghapus judul dari daftar".

Garis bawah: Jangan lakukan itu!

Sayangnya, antarmuka pengguna memungkinkan perubahan arah dari kolom label seperti yang ditunjukkan:

gambar

Judul adalah sebuah kolom yang terkait dengan "Item" jenis konten. Banyak, banyak, banyak CT menggunakan kolom ini dan jika Anda mengubahnya di sini, riak keluar di mana-mana. Ada kesempatan baik bahwa Anda tidak bermaksud untuk itu terjadi. Kau mungkin berpikir untuk diri sendiri, "Saya memiliki daftar pencarian kustom dan ' judul’ hanya tidak masuk akal sebagai nama kolom, Jadi aku akan mengubahnya untuk ' kode Status’ dan menambahkan kolom keterangan." Tapi jika Anda mengikuti pada pikiran itu dan mengubah nama ' judul’ untuk 'Kode Status', Setiap daftar judul (termasuk dokumen Perpustakaan) perubahan ke "kode Status" dan Anda mungkin tidak berniat untuk yang terjadi.

Masalah sebenarnya adalah bahwa ini adalah perubahan sekali jalan. UI "tahu" gelar"itu" adalah sebuah kata yang dilindungi. Jadi, Jika Anda mencoba dan mengubah "kode Status" kembali ke "Judul", itu akan mencegah Anda dan sekarang Anda sudah dicat sendiri ke sudut using paint that never dries 🙂

Jadi apa yang terjadi jika Anda sudah berubah itu? Aku belum pernah melihat jawaban yang kita semua ingin, yang merupakan metode yang sederhana dan mudah untuk mengubah label kembali ke 'Title'. Sekarang, saran terbaik adalah untuk mengubahnya ke sesuatu seperti "Doc Item judul". Itu adalah label cukup generik yang mungkin tidak terlalu gemuruh bagi pengguna Anda.

Saya punya beberapa ide lain yang di to-do list hal untuk penelitian:

  • Hubungi Microsoft.
  • Melakukan sesuatu dengan object model, mungkin dalam hubungannya dengan fitur.
  • Mengetahui skema database dan manual update SQL. (Anda harus menghubungi Microsoft sebelum melakukan hal ini walaupun; ini kemungkinan akan membatalkan kontrak dukungan Anda).

Jika ada yang tahu bagaimana untuk memecahkan masalah ini, Silakan kirim komentar.

Memperbarui sore, 11/15: Saya menemukan link ini yang menjelaskan sebuah metode untuk menciptakan jenis daftar yang tidak memiliki judul kolom: http://www.venkat.org/index.php/2007/09/03/how-to-remove-title-column-from-a-custom-list/

BDC ADF dan teman Anda, CDATA

Saya perhatikan beberapa canggung dan tidak perlu tangan-penyandian RdbCommandText dalam beberapa contoh (termasuk MSDN dokumentasi).

Aku ingin menunjukkan kepada pendatang baru BDC bahwa perintah dapat dibungkus dalam tag CDATA di mereka "alam" bentuk. Jadi, Konstruksi ini canggung:

<Properti Nama="RdbCommandText" Jenis="System.string">
Pilih dbo.MCRS_SETTLEMENT.id, DBO.MCRS_SETTLEMENT.Settlement dari dbo.MCRS_SETTLEMENT
MANA (id &gt;= @ MinId) DAN (id &lt;= @MaxId)
</Properti>

dapat lebih baik diwakili dengan cara ini:

<Properti Nama="RdbCommandText" Jenis="System.string">
<![CDATA[
Pilih dbo.MCRS_SETTLEMENT.id, DBO.MCRS_SETTLEMENT.Settlement dari dbo.MCRS_SETTLEMENT
MANA (id >= @ MinId) DAN (id <= @MaxId)
]]>
</Properti>

</akhir>

BDC Primer

Intro untuk BDC

Contoh fungsional: BDC ADF yang menghubungkan ke SQL database dengan tertanam user id dan password

Saya perlu untuk kawat menaiki MOSS ke SQL database melalui BDC. Untuk tujuan pengujian POC, Aku ingin embed SQL akun user id dan password di ADF. Dimulai dengan template ini (http://msdn2.microsoft.com/en-us/library/ms564221.aspx), Saya membuat ADF yang menghubungkan ke server SQL tertentu misalnya dan log in dengan id pengguna dan sandi dan ditampilkan dalam potongan ini:

  <LobSystemInstances>
    <LobSystemInstance Nama="ClaimsInstance">
      <Properti>
        <Properti Nama="AuthenticationMode" Jenis="System.string">PassThrough</Properti>
        <Properti Nama="DatabaseAccessProvider" Jenis="System.string">SqlServer</Properti>
        <Properti Nama="Sumber RdbConnection Data" Jenis="System.string">contoh aktual serveractual</Properti>
        <Properti Nama="RdbConnection awal katalog" Jenis="System.string">sebenarnya awal katalog</Properti>
        <Properti Nama="RdbConnection terintegrasi keamanan" Jenis="System.string">SSPI</Properti>
        <Properti Nama="RdbConnection Pooling" Jenis="System.string">palsu</Properti>

        <!-- Ini adalah nilai-nilai kunci: -->
        <Properti Nama="RdbConnection User ID" Jenis="System.string">actual User ID</Properti>
        <Properti Nama="RdbConnection Password" Jenis="System.string">sebenarnya Password</Properti>
        <Properti Nama="RdbConnection Trusted_Connection" Jenis="System.string">palsu</Properti>

      </Properti>
    </LobSystemInstance>
  </LobSystemInstances>

Ianya bukan praktek terbaik, tetapi hal ini berguna untuk konfigurasi yang mudah dan cepat untuk pengujian. Ini adalah sangat sulit untuk mengetahui. Saya pernah menemukan contoh fungsional dengan kata kunci pencarian:

  • ADF tertanam userid dan password
  • Masukkan id pengguna dan sandi dalam adf
  • Masukkan id pengguna dan sandi dalam adf bdc
  • SharePoint bdc primer
  • SharePoint embed id pengguna dan sandi di adf

</akhir>

Berlangganan ke blog saya.

SPD kustom workflow tindakan — string manipulasi perangkat tambahan

Sekitar seminggu yang lalu, Saya memulai sebuah proyek codeplex yang menyediakan sebuah metode sederhana dan cukup generik untuk menambahkan fungsi kustom tindakan untuk alur kerja desain SharePoit. Hal ini digambarkan di sini: http://www.codeplex.com/spdwfextensions. Luar hanya menyediakan kerangka kerja, Hal ini juga bertujuan untuk menyediakan satu set fungsi yang berguna yang akan membuat SPD lebih berguna/fleksibel/kuat.

Berikut adalah fitur direncanakan saat ini untuk versi 1.0: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=spdwfextensions&ReleaseId=8280

Jika seseorang memiliki minat dalam proyek ini, Silakan Tinggalkan komentar atau mulai/menambah diskusi di sini: http://www.codeplex.com/spdwfextensions/Thread/List.aspx

Berikut adalah seperangkat terbaru dari fungsi yang telah dikodekan (Meskipun belum sepenuhnya diuji sebagai 11/08/07):

Fungsi Deskripsi (Jika tidak sama seperti.Fungsi bersih)
Num-entri() Kembali "entri nomor" dalam string sesuai pembatas tertentu.

Misalnya: Num-entri dalam string ",b,c" dengan pembatas"," = 3.

Catatan() Kembali n token dalam string sesuai pembatas tertentu.
Panjang String.length
Ganti() String.replace()
Berisi() String.contains()
Kembali kata "benar" atau kata-kata "palsu".
Substring(mulai) String.substring(mulai)
Substring(mulai,akhir) String.substring(mulai,akhir)
ToUpper() String.ToUpper()
ToLower() String.ToLower()
StartsWith() String.StartsWith()
Kembali kata "benar" atau kata-kata "palsu".
EndsWith() String.EndsWith()
Kembali kata "benar" atau kata-kata "palsu".

Cepat & mudah url Encoding desktop utilitas

Aku sudah perlu url-encode beberapa string minggu ini dan menampar bersama utilitas kecil yang saya pikir saya akan meletakkan SkyDrive untuk masyarakat.

Mendapatkan sini biner: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncode.zip

Mendapatkan solusi visual studio di sini: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncodeVS2005.zip

Berikut adalah screen shot:

gambar

Cepat dan mudah: Embed hyperlink ke data lihat bagian web XSLT

UPDATE (01/17/08): Blog entry ini berbicara tentang lebih hyperlink XSL kebaikan: http://www.sharepointsecurity.com/blog/sharepoint/sharepoint-2007-development/rewriting-links-in-search-results-xslt.

Ikhtisar dan tujuan: Saya telah menciptakan sebuah sederhana bar chart untuk melayani sebagai komponen pada dashboard. Aku akan menyimpan rincian membangun grafik untuk pos lain, tapi aku tidak menemukan bahwa teknik (atau tanda tanya, Hal ini). Ternyata ada bug dalam grafik dan sementara aku tetap yang, Aku mengambil kesempatan untuk mengubah label beberapa menjadi hyperlink yang menunjuk pada daftar mendasar di balik grafik. Misalnya, Ada sebuah label dengan nilai "Hold". Saya ingin mengubah label menjadi hyperlink sehingga pengguna bisa klik di atasnya dan telusuri entri tertentu dalam daftar yang nilainya status adalah "Hold".

Langkah-langkah:

  1. Menggunakan visual studio untuk SharePoint-aware intellisense.
  2. Menyalin DVWP XSLT ke visual studio (membuat proyek kosong, Tambahkan file XSL proyek).
  3. Salin link Anda ingin menggunakan ke clipboard.
  4. Menyisipkannya ke lokasi yang tepat di XSL.
  5. Mengubah URL argumen pemisah pada string permintaan dari"&" untuk"&amp;"
  6. Argumen individu URL encode.
  7. Bungkus bahwa dalam <a href…> </a>

Contoh:

Saya memiliki sebuah URL:

http://[Server]/[situs]/Lists/Open Positions/AllItems.aspx?Lihat ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = perekrut&FilterValue1 = terus

Saya mengkonversi ke:

     <a href="Lists/Open Positions/AllItems.aspx?Lihat = % 7b84EEA2F5-121B-40B7-946F-
0FA704A1DAA1 %7 d&amp;FilterField1 = perekrut&amp;FilterValue1 = terus"> Terus: </a>

Saya telah secara manual berubah argumen pertama dari:

{84EEA2F5-121B-40B7-946F-0FA704A1DAA1}

untuk:

%7b84EEA2F5-121B-40B7-946F-0FA704A1DAA1 %7 d

(Dalam hal ini, transformasi penjepit terbuka untuk % 7b dan penutup penjepit mentransformasi %7 d)

Argumen kedua dan ketiga’ parameter ("FilterField1 =Perekrut" dan "FilterValue1 =Terus" masing-masing) tidak perlu untuk menjadi url-encoded karena mereka tidak mengandung karakter yang tidak aman.

Catatan:

Teknik ini umumnya harus bekerja di mana saja Anda ingin menanamkan hyperlink dalam XSLT mana mencakup hyperlink parameter pada URL seperti:

http://[Server]/[situs]/Lists/Open Positions/AllItems.aspx?Lihat ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = perekrut&FilterValue1 = terus

Aku punya alamat URL sendiri dengan mengakses daftar kustom dan secara manual penyaringan pada kolom status (berlabel "perekrut" di atas).

Cepat dan sederhana: Mengaktifkan SharePoint Designer alur kerja untuk memperbarui sebuah bentuk InfoPath

Skenario: Saya memiliki sebuah bentuk InfoPath yang depan-ujung proses alur kerja yang diimplementasikan menggunakan SharePoint Designer. Pada satu titik, seorang manajer harus menyetujui bentuk. Karena aku tidak bisa mengandalkan sejarah alur kerja untuk memenuhi kebutuhan saya audit, Aku memutuskan untuk menyimpan pesan saya sendiri audit langsung pada form itu sendiri.

Sekilas pandang:

Desain bentuk dan terbitkan sebagai jenis konten dan bentuk ke pustaka dokumen. Mark diinginkan kolom formulir sebagai updateable dari Lumut. Bentuk terikat jenis konten dan jenis konten "terpasang" bentuk perpustakaan (atau banyak, Jika kamu mau). Menulis alur kerja yang update bidang.

Langkah-langkah khusus:

  1. Buat sebuah perpustakaan dokumen. Ini akan terus InfoPath template.
  2. Membuat Perpustakaan bentuk.
  3. Membuat InfoPath form. Mencakup bidang teks, "Audit pesan".
  4. Menerbitkan bentuk sebagai jenis konten (BUKAN dokumen).
  5. Saat mengisi dialog penerbitan:
    a) Simpan .xsn file ke perpustakaan dokumen (langkah #1).
    b) Menerbitkan "Audit pesan" lapangan dan menandai benar: "Memungkinkan pengguna untuk mengedit data dalam bidang ini dengan menggunakan halaman datasheet atau properti".
    c) Membuat jenis konten baru dan memberikan nama yang sesuai.
  6. Akses perpustakaan bentuk.
    a) Pergi ke pengaturan lanjutan dan mengaktifkan Perpustakaan bentuk untuk mengelola jenis konten.
    b) Pilih jenis konten baru dibuat (5c di atas). Akan dikelompokkan di bawah "Microsoft InfoPath" (atau serupa).
    c) Menghapus default "bentuk" tipe konten dari perpustakaan.
    d) Mark perpustakaan untuk "menunjukkan sebagai halaman web" sehingga bentuk akan meluncurkan dari SharePoint dan tidak InfoPath workstation klien.
  7. Kembali ke perpustakaan bentuk yang tepat dan klik "baru" hanya memverifikasi bahwa bentuk dipasang dengan benar dan bertindak seperti yang Anda inginkan.
  8. Api up SharePoint Designer dan navigasikan ke situs yang host Anda bentuk perpustakaan (dari langkah 2).
  9. Membuat alur kerja baru yang melekat pada bentuk perpustakaan.
  10. Menambahkan tindakan "Menetapkan bidang di Item sekarang". Anda harus mengharapkan SharePoint Designer untuk daftar kau bidang Anda, "Audit pesan". Menetapkan nilai.
  11. Klik selesai dan kembali ke bentuk perpustakaan.
  12. Buat bentuk baru dan meletakkan beberapa tes nilai ke dalam "Audit pesan" lapangan.
  13. Simpan dan kembali ke bentuk perpustakaan.
  14. Klik kanan, Pilih "alur kerja" dan memulai alur kerja Anda.
  15. Itu harus menjalankan segera. Menarik bentuk (dari langkah 12) dan jika semua telah berjalan untuk merencanakan, "Audit pesan" telah ditetapkan nilai apapun yang Anda berikan pada langkah 10.

Catatan:

Tidak semua kontrol dapat dikonfigurasi untuk komunikasi dua arah ini. Misalnya, itu tampaknya tidak melaksanakan alur kerja SPD yang memodifikasi bidang teks yang dibungkus dalam mengulangi bagian.

Salah satu kunci mengambil-jauhnya 's di sini adalah bahwa kita benar-benar menciptakan konten jenis dengan template yang terkait. Hal ini juga memungkinkan kita untuk menyimpan beberapa bentuk InfoPath template di Perpustakaan bentuk sama.

Hal ini membutuhkan server bentuk. Itu pasti tidak akan bekerja di WSS 3.0 lingkungan dan bahkan mungkin memerlukan lingkungan Enterprise SharePoint.

Beagle has Landed (Oktober 2007 masalah)

(Ini adalah berita benar-benar agak lama, tetapi sebagai stasiun pemadam kebakaran favorit saya moto menyatakan, "Lebih baik terlambat daripada tidak pernah").

Check it out here: http://www.sharepointbeagle.com/

Jika Anda sudah tidak, Pastikan untuk Tandatangan.

Tentu saja, Pastikan untuk membaca artikel saya tentang proyek SharePoint dunia nyata (termasuk persyaratan definisi, KPI's, jenis konten, panel kontrol dan banyak lagi) seperti halnya rekan saya artikel tentang bagian web permintaan konten.

Ada banyak hal baik lainnya juga.

Bagaimana menghapus “Tampilkan semua konten situs” link

Saya bertanya pertanyaan ini hampir setiap minggu, biasanya dalam konteks diskusi keamanan. Administrator situs pencipta telah ditetapkan situs, keamanan yang dikonfigurasi, diatur web bagian dan disesuaikan peluncuran cepat untuk menyediakan set oh-begitu-sempurna pilihan untuk pengguna akhir. Tapi, keluar dari kotak, Anda tidak dapat menghapus "Lihat semua konten situs" link.

Mark Wagner menyediakan jawaban Sini (http://www.crsw.com/mark/Lists/Posts/Post.aspx?ID=36). Itu write-up hebat pada dua tingkat. Menyediakan jawaban untuk pertanyaan, "Bagaimana cara menghapus Lihat semua situs konten" link? Kemudian, ini menjawab pertanyaan muncul segera: Bagaimana cara mudah mengaktifkan tampilan semua situs konten link pada situs dengan situs dasar?

Sebagai bonus: Pendekatannya bekerja untuk WSS, bukan hanya MOSS.

</akhir>

Berlangganan ke blog saya!