Arkib Bulanan: November 2007

Anda tidak boleh Pukul Reach SharePoint

Dalam tempoh dua hari lepas, Saya telah mengambil bahagian dalam dua mesyuarat di mana kita menyampaikan hasil projek SharePoint. CIO dalam dan pasukannya menyertai mesyuarat pertama. Itulah standard dan tidak ketara terutamanya. Jabatan IT adalah jelas terlibat dalam pelaksanaan enterprise untuk mana-mana projek teknologi. Mesyuarat kedua diperluaskan meliputi V.P yang. dari pemasaran, beberapa orang Pengarah yang mewakili HR, Logistik, Pembuatan, Projek-projek modal, Kualiti, Pembelian, Pembangunan Korporat dan lain-lain Jabatan (Sesetengah daripada mereka telah tidak walaupun secara langsung terlibat dalam fasa yang sedang dibangunkan). Itulah Perkasa golongan.

Dalam hidup saya terlebih dahulu, Aku terutamanya bekerja pada projek-projek ERP dan CRM. Mereka berdua mempunyai domain penyelesaian agak luas tetapi tidak yang luasnya seluas segala SharePoint. Untuk dilaksanakan sepenuhnya, Projek-projek SharePoint secara sah dan semestinya sampai ke setiap sudut dan celah sesebuah organisasi. Berapa banyak penyelesaian perusahaan lain ada yang jenis mencapai? Tidak ramai.

SharePoint jelas merupakan peluang yang sangat besar bagi orang-orang kita yang bernasib baik untuk berada di ruangan ini. Ia menyediakan peluang besar teknikal (yang entah bagaimana dipasang kepalanya di sini di bawah "Teknologi anda mesti menguasai"). Tetapi bahkan lebih baik, SharePoint mendedahkan kita kepada pelbagai proses perniagaan melalui penglibatan ini yang luas dan pelbagai. Berapa ramai pakar-pakar CRM bekerja dengan bahagian pengeluaran Syarikat? Berapa banyak ERP perunding bekerja dengan sumber manusia maksud bakat? SharePoint melebihi keduanya.

Seperti apa-apa, memang tidak sempurna, tetapi ia adalah tempat yang terkutuk baik supaya.

Demi cinta kepada [mengisi orang yang paling anda sayangi / tinggi yang], Jangan Tukar dengan ' tajuk’ ruang tapak.

Pada SharePoint forum, kadang-kadang seseorang bertanya tentang 'menukar label tajuk" atau kira-kira "mengeluarkan tajuk daripada senarai".

Bottom line: Jangan buat!

Malangnya, antara muka pengguna membolehkan perubahan sehala bahawa label ruang seperti yang ditunjukkan:

imej

Tajuk adalah satu kolum yang berkaitan dengan"" jenis kandungan. Ramai, banyak, banyak yang CT menggunakan ruangan ini dan jika anda mengubahnya di sini, Ia ripples keluar di mana-mana. Terdapat peluang yang baik bahawa anda tidak berniat untuk itu berlaku. Kau mungkin berfikir untuk diri sendiri, "Saya mempunyai senarai carian tersuai dan ' tajuk’ hanya tidak masuk akal sebagai nama kolum, Jadi saya akan Tukar kepada ' Kod Status’ dan menambah lajur keterangan." Tetapi jika anda bertekad pada fikiran itu dan menamakan semula ' judul’ untuk 'Kod Status', tajuk setiap senarai itu (termasuk perpustakaan dokumen) perubahan pada "Kod Status" dan anda mungkin tidak berniat untuk itu berlaku.

Masalah sebenar adalah bahawa ini adalah satu perubahan yang sehala. UI "tahu." judul"tersebut" adalah satu perkataan yang terpelihara. Jadi, Jika anda cuba dan menukar "Kod Status" kembali kepada "Tajuk", ia akan menghalang anda dan kini anda telah dicat diri anda ke sudut using paint that never dries 🙂

Jadi apa yang berlaku jika anda sudah berubah? Saya tidak pernah melihat jawapan yang kita semua mahu, yang merupakan satu kaedah yang mudah dan mudah untuk menukar label kembali ke 'Tajuk'. sekarang ni, nasihat terbaik adalah dengan menukarnya kepada sesuatu seperti "Doc/Item tajuk". Itulah label cukup generik yang mungkin tidak terlalu jarring untuk pengguna anda.

Saya mempunyai beberapa idea lain yang pada saya senarai tugasan perkara untuk penyelidikan:

  • Hubungi Microsoft.
  • Melakukan sesuatu dengan model objek, mungkin bersama-sama dengan ciri-ciri yang.
  • Rajah skema pangkalan data dan manual mengemaskini SQL. (Anda perlu menghubungi Microsoft sebelum melakukan ini walaupun; ia mungkin akan membatalkan kontrak sokongan anda).

Jika sesiapa tahu bagaimana untuk menyelesaikan masalah ini, sila hantar komen.

Update lewat petang, 11/15: Saya mendapati pautan ini yang menerangkan kaedah untuk mewujudkan satu jenis senarai yang tidak mempunyai ruang tajuk: http://www.venkat.org/index.php/2007/09/03/how-to-remove-title-column-from-a-custom-list/

BDC ADF dan rakan anda, CDATA

Saya dapati beberapa janggal dan tidak perlu tangan pengekodan RdbCommandText dalam beberapa contoh (termasuk dokumentasi MSDN).

Saya ingin menunjukkan kepada pendatang baru untuk BDC bahawa perintah boleh dibalut dalam tag CDATA di semulajadi"mereka" Borang. Jadi, pembinaan ini janggal:

<Harta Nama="RdbCommandText" Jenis="System.String">
SELECT dbo.MCRS_SETTLEMENT.id, dbo.MCRS_SETTLEMENT.settlement dari dbo.MCRS_SETTLEMENT
DI MANA (id &gt;= @ MinID) DAN (id &lt;= @ MaxId)
</Harta>

boleh diwakili lebih baik cara ini:

<Harta Nama="RdbCommandText" Jenis="System.String">
<![CDATA[
SELECT dbo.MCRS_SETTLEMENT.id, dbo.MCRS_SETTLEMENT.settlement dari dbo.MCRS_SETTLEMENT
DI MANA (id >= @ MinID) DAN (id <= @ MaxId)
]]>
</Harta>

</akhir>

Contoh BDC

Pengenalan BDC

Contoh fungsi: BDC ADF yang menghubungkan kepada pangkalan data SQL dengan id pengguna dan kata laluan tertanam

Saya perlu untuk Kawat sehingga MOSS SQL pangkalan data melalui BDC. Untuk tujuan pengujian/POC, Saya mahu ke SQL akaun id pengguna dan kata laluan dalam ADF dalam. Bermula dengan template ini (http://msdn2.microsoft.com/en-us/library/ms564221.aspx), Saya telah mencipta satu ADF yang menghubungkan kepada SQL server tertentu contoh dan log masuk dengan id pengguna dan kata laluan tertentu dan ditunjukkan dalam coretan ini:

  <LobSystemInstances>
    <LobSystemInstance Nama="ClaimsInstance">
      <Hartanah>
        <Harta Nama="AuthenticationMode" Jenis="System.String">Passthrough</Harta>
        <Harta Nama="DatabaseAccessProvider" Jenis="System.String">SqlServer</Harta>
        <Harta Nama="RdbConnection Sumber Data" Jenis="System.String">server sebenar  contoh sebenar</Harta>
        <Harta Nama="RdbConnection katalog Awal" Jenis="System.String">Katalog awal sebenar</Harta>
        <Harta Nama="RdbConnection Bersepadu Keselamatan" Jenis="System.String">SSPI</Harta>
        <Harta Nama="RdbConnection Pengumpulan" Jenis="System.String">palsu</Harta>

        <!-- Ini adalah nilai utama: -->
        <Harta Nama="ID Pengguna RdbConnection" Jenis="System.String">1ID Pengguna ctual</Harta>
        <Harta Nama="RdbConnection Kata" Jenis="System.String">Kata laluan sebenar</Harta>
        <Harta Nama="Trusted_Connection RdbConnection" Jenis="System.String">palsu</Harta>

      </Hartanah>
    </LobSystemInstance>
  </LobSystemInstances>

Ia bukan satu amalan terbaik, tetapi ia adalah berguna untuk konfigurasi cepat dan mudah untuk ujian. Ini menghairankan sukar untuk memikirkan. Saya tidak pernah menjumpai sebuah contoh yang praktikal dengan kata kunci carian:

  • ADF tertanam id pengguna dan kata laluan
  • menerapkan id pengguna dan kata laluan dalam ADF
  • menerapkan id pengguna dan kata laluan dalam ADF BDC
  • SharePoint BDC primer
  • SharePoint embed id pengguna dan kata laluan dalam ADF

</akhir>

Langgan ke blog saya.

SPD tindakan kerja adat — penambahbaikan manipulasi rentetan

Kira-kira seminggu yang lalu, Saya memulakan sebuah projek codeplex yang menyediakan satu kaedah yang mudah dan munasabah generik untuk menambah fungsi tersuai tindakan ke aliran Reka bentuk SharePoit. Ia diterangkan di sini: http://www.codeplex.com/spdwfextensions. Luar semata-mata menyediakan rangka kerja, Ia juga bertujuan untuk menyediakan satu set fungsi-fungsi yang berguna yang akan membuat SPD lebih berguna/fleksibel/berkuasa.

Berikut adalah ciri-ciri semasa dirancang untuk versi 1.0: https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=spdwfextensions&ReleaseId=8280

Jika sesiapa yang mempunyai apa-apa kepentingan dalam projek ini, sila tinggalkan komen atau memulakan / menambah kepada perbincangan di sini: http://www.codeplex.com/spdwfextensions/Thread/List.aspx

Berikut adalah set semasa fungsi yang telah dikodkan (walaupun tidak diuji sepenuhnya pada 11/08/07):

Fungsi Penerangan (jika tidak sama. fungsi Bersih)
Bil-penyertaan() Kembali kepada nombor "entri" dalam rentetan mengikut delimiter yang ditetapkan.

Sebagai contoh: NUM-penyertaan dalam rentetan "a,b,c" dengan delimiter"," = 3.

Entry() Pulangan nth token dalam rentetan mengikut delimiter yang ditetapkan.
Panjang String.Length
Ganti() String.Replace()
Mengandungi() String.Contains()
Perkataan "benar pulangan" atau perkataan "palsu".
Subrentetan(memulakan) String.Substring(memulakan)
Subrentetan(memulakan,akhir) String.Substring(memulakan,akhir)
ToUpper() String.ToUpper()
ToLower() String.ToLower()
StartsWith() String.StartsWith()
Perkataan "benar pulangan" atau perkataan "palsu".
EndsWith() String.EndsWith()
Perkataan "benar pulangan" atau perkataan "palsu".

Pantas & Pengekodan url mudah utiliti desktop

Saya telah perlu url-mengekod beberapa rentetan minggu ini dan menampar bersama-sama aa utiliti kecil yang saya fikir saya akan meletakkan di SkyDrive untuk masyarakat.

Dapatkan binari di sini: http://cid-1cc1edb3daa9b8aa.skydrive.live.com/self.aspx/SharePoint/WinUrlEncode.zip

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

Berikut adalah pukulan skrin:

imej

Cepat dan mudah: Muatkan hyperlink ke dalam data view web sebahagian XSLT

UPDATE (01/17/08): Ceramah this entry blog hyperlink lebih Pemacu kebaikan: http://www.sharepointsecurity.com/blog/sharepoint/sharepoint-2007-development/rewriting-links-in-search-results-xslt.

Gambaran dan Objektif: Saya telah mencipta carta bar mudah untuk dijadikan komponen pada panel kawalan. Saya akan menyimpan butiran membina carta untuk jawatan lain, tetapi saya tidak mencipta teknik yang (mahupun tanda tanya, untuk perkara itu). Ia ternyata Jadilah bug dalam carta dan manakala aku tetap yang, Saya mengambil peluang untuk menukar beberapa label kepada pautan yang menunjukkan senarai asas di sebalik graf. Sebagai contoh, Terdapat label dengan nilai "Pegang". Saya ingin menjadikan label hyperlink supaya pengguna boleh klik padanya dan gerudi ke bawah untuk entri khusus dalam senarai nilai taraf yang tidak "Tahan".

Langkah-langkah:

  1. Menggunakan visual studio untuk sharepoint-sedar intellisense.
  2. Salinan yang DVWP XSLT ke visual studio (mewujudkan satu projek kosong, menambah fail Pemacu projek).
  3. Menyalin pautan yang anda mahu menggunakan ke dalam clipboard.
  4. Tampalkan ia ke lokasi yang betul dalam Pemacu.
  5. Menukar pemisah hujah URL pada tali pertanyaan dari "&" ke "&amp;"
  6. Url-mengekod hujah individu.
  7. Balut bahawa di dalam sebuah <a href…> </1>

Contoh:

Saya mempunyai URL:

http://[pelayan]/[tapak]/Senarai /% 20Positions/AllItems.aspx Terbuka?Lihat ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = Recruiter&= FilterValue1 Pegang

Saya mengubah ke dalam:

     <1 href="Senarai /% 20Positions/AllItems.aspx Terbuka?Lihat% = 7b84EEA2F5-121B-40B7-946F-
07d FA704A1DAA1%&amp;FilterField1 = Recruiter&amp;= FilterValue1 Pegang"> Memegang: </1>

Saya telah berubah manual hujah pertama dari:

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

kepada:

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

(Dalam kes ini,, penjepit terbuka mengubah ke 7b% dan penjepit tutup mengubah 7d%)

Hujah-hujah kedua dan ketiga’ parameter ("FilterField1 =Recruiter" dan "= FilterValue1Memegang" masing-masing) tidak perlu url-dikodkan kerana mereka tidak mengandungi sebarang aksara yang tidak selamat.

Nota:

Teknik ini secara umumnya harus bekerja di mana-mana sahaja anda mahu untuk menerapkan hyperlink di XSLT di mana hyperlink meliputi parameter pada URL seperti:

http://[pelayan]/[tapak]/Senarai /% 20Positions/AllItems.aspx Terbuka?Lihat ={84EEA2F5-121B-40B7-946F-0FA704A1DAA1}&FilterField1 = Recruiter&= FilterValue1 Pegang

Saya mendapat URL itu sendiri dengan mengakses senarai adat dan manual penapisan pada lajur status (dilabel "Recruiter" di atas).

Cepat mudah dan: Membolehkan SharePoint Designer aliran kerja untuk mengemas kini borang InfoPath

Senario: Saya mempunyai satu bentuk InfoPath yang Penyambut-hujung proses aliran kerja yang dilaksanakan menggunakan Reka bentuk SharePoint. Pada satu titik, seorang pengurus perlu meluluskan borang. Oleh kerana saya tidak boleh bergantung kepada sejarah aliran kerja untuk memenuhi keperluan pengauditan saya, Saya membuat keputusan untuk menyimpan mesej pengauditan saya sendiri secara langsung di borang ini.

Tinjauan:

Reka bentuk dan menerbitkan ia sebagai jenis kandungan dan borang itu sendiri kepada Perpustakaan dokumen. Mark dikehendaki medan borang sebagai updateable dari Lumut. Bentuk ini adalah terikat untuk jenis kandungan dan jenis kandungan "dilampirkan" kepada perpustakaan bentuk (atau banyak, jika anda mahu). Menulis sebuah aliran yang mengemas medan.

Langkah-langkah tertentu:

  1. Mewujudkan sebuah perpustakaan dokumen. Ini akan menjamin anda template InfoPath.
  2. Mencipta borang-borang Perpustakaan.
  3. Cipta borang InfoPath. Termasuk medan teks, "Audit mesej".
  4. Publish bentuk yang jenis kandungan (TIDAK dokumen).
  5. Walaupun mengisi dialog penerbitan:
    1) Simpan fail. Xsn ke perpustakaan dokumen (melangkah #1).
    b) Menerbitkan "Audit mesej" bidang dan tanda benar: "Benarkan pengguna untuk mengedit data dalam bidang ini dengan menggunakan halaman datasheet atau sifat".
    c) Mencipta jenis kandungan baru dan memberikan nama yang sesuai.
  6. Mengakses perpustakaan borang-borang.
    1) Pergi ke tetapan maju dan membolehkan perpustakaan bentuk untuk menguruskan jenis kandungan.
    b) Pilih jenis kandungan yang baru diwujudkan (5c di atas). Ia akan dikumpulkan di bawah "Microsoft InfoPath" (atau serupa).
    c) Keluarkan lalai "borang" jenis kandungan dari perpustakaan.
    d) Menandakan Perpustakaan untuk "Tunjukkan sebagai halaman web" supaya bentuk akan melancarkan dari SharePoint dan bukan stesen kerja pelanggan InfoPath.
  7. Kembali ke Perpustakaan borang yang betul dan klik "baru" hanya mengesahkan bahawa bentuk dimasukkan dengan betul dan bertindak yang anda mahu.
  8. Api sehingga SharePoint Designer dan mengemudi ke laman web yang menjadi tuan rumah perpustakaan borang anda (daripada langkah 2).
  9. Buat kerja baru dilampirkan kepada perpustakaan borang-borang.
  10. Menambah tindakan yang satu "Set medan dalam semasa barang". Anda seharusnya menjangka Reka bentuk SharePoint ke senarai anda bidang anda, "Audit mesej". Menetapkan nilai.
  11. Klik Selesai dan kembali ke perpustakaan bentuk.
  12. Cipta borang baru dan meletakkan beberapa nilai ujian ke dalam "Audit mesej" bidang.
  13. Simpan dan kembali ke perpustakaan bentuk.
  14. Klik kanan, Pilih "aliran kerja" dan memulakan aliran kerja anda.
  15. Ia perlu dijalankan dengan serta-merta. Tarik ke bentuk (daripada langkah 12) dan jika semua telah pergi untuk merancang, "Mesej audit" telah diberikan apa-apa nilai yang anda berikan dalam langkah 10.

Nota:

Tidak semua kawalan boleh dikonfigurasikan untuk komunikasi bi-arah ini. Sebagai contoh, Ia tidak kelihatan untuk melaksanakan suatu aliran SPD yang mengubahsuai bidang-bidang teks yang dibalut di dalam mengulangi bahagian-bahagian.

Salah satu yang utama ambil-jauhnya di sini adalah bahawa kami benar-benar telah mencipta sejenis kandungan dengan template yang berkaitan. Ini juga membolehkan kita untuk menyimpan pelbagai template borang InfoPath di Perpustakaan borang sama.

Ini memerlukan pelayan borang. Ia tentu tidak akan bekerja di sebuah WSS 3.0 alam sekitar dan mungkin juga memerlukan persekitaran SharePoint Enterprise.

Beagle telah Bertanah (Oktober 2007 isu)

(Ini sebenarnya adalah satu berita lama sedikit, tetapi sebagai kegemaran balai bomba moto saya mengisytiharkan, "Lebih baik terlambat daripada tidak sama sekali").

Check it out di sini: http://www.sharepointbeagle.com/

Jika anda tidak sudah, pastikan mendaftar.

Kursus, pastikan anda membaca artikel saya tentang projek SharePoint dunia sebenar (termasuk definisi keperluan, KPI, jenis kandungan, pemuka dan banyak lagi) serta rakan sekerja saya Artikel tentang bahagian web pertanyaan kandungan.

Ada banyak perkara lain yang baik juga.

Bagaimana untuk membuang “Lihat semua kandungan laman web” pautan

Saya bertanya soalan ini hampir setiap minggu, biasanya dalam konteks perbincangan keselamatan. Pencipta pentadbir/tapak yang telah diperuntukkan tapak, keselamatan dikonfigurasi, diaturkan web bahagian dan tersuai pelancaran quick memberi set oh-jadi-perfect pilihan kepada pengguna akhir. Tetapi, keluar dari kotak, anda tidak boleh mengalih keluar yang "Lihat semua kandungan laman web" pautan.

Mark Wagner menyediakan jawapan di sini (http://www.crsw.com/mark/Lists/Posts/Post.aspx?ID=36). Beliau menulis-up adalah hebat dalam dua peringkat. Ia menyediakan jawapan kepada soalan, "Bagaimana saya mengalih keluar di paparan semua tapak kandungan" pautan? Kemudian, ia menjawab serta-merta susulan pada soalan: Bagaimana saya mudah membolehkan pandangan semua link kandungan laman secara tapak demi tapak?

Sebagai bonus: Pendekatan beliau bekerja untuk WSS, bukan hanya MOSS.

</akhir>

Langgan ke blog saya!