Arkib Bulanan: Disember 2007

Anakku digodam Gamespot

Jadi, pagi ini, anak saya berazam untuk lihat umur-tiga belas yang terhad Halo 3 video GameSpot. Saya di luar menyodok salji, Jadi saya tidak ada untuk membantu atau menghalang. Keperluan adalah ibu ciptaan dan semua itu … Beliau mempunyai sebuah eureka! buat masa ini. Beliau menyedari bahawa walaupun Gamespot mahukan dia membuat beliau sebenar Tarikh lahir, dia benar-benar boleh memasukkan mana-mana Tarikh lahir yang dia mahu. Sebaik sahaja dia menyedari bahawa, dia membuat dirinya cukup tua untuk lihat video.

I’m not quite sure how I feel about this 🙂

Ahad Funny: “Ia Percetakan Sampah”

Pada pekerjaan pertama saya keluar dari Kolej 1991, Saya adalah bernasib baik untuk bekerja untuk sebuah syarikat pembuatan dengan 13 lokasi, tidak termasuk HQ syarikat korporat di New Jersey. Saya menyertai hanya apabila Syarikat telah mengeluarkan sistem ERP baru. Kami adalah Jabatan IT kecil sama sekali kira-kira 10 orang, dua daripada mereka tidak pula perjalanan. Sebahagian daripada projek melibatkan menggantikan sistem IBM 36 kotak dengan HP perkakasan dan HPUX. Semua orang menggunakan tiub hijau untuk mengakses sistem ini.

Projek secara manual mesti luka bersama-sama dan saya saya diturunkan untuk Baltimore rakan sekerja baru, Jeff. Tugas kita adalah untuk kuasa sehingga kotak Unix, Pastikan tertunggak yang berlari, memasang sistem ERP, Konfigurasi dalam ERP, melatih orang-orang di dalam ERP dan melakukan kerja-kerja adat bagi orang-orang di tempat. (Ini adalah jawatan idaman, terutamanya datang terus daripada Kolej). Sebelum kita benar-benar dapat dimulakan, kita perlu kaji semua tiub hijau, menempatkan mereka pada Meja dan Kawat mereka. Dan bahagian yang terbaik adalah bahawa kami terpaksa meletakkan diri kita penyambung RJ11.

Sebab-sebab tertentu yang saya tidak pernah faham dan benar-benar tidak pernah terfikir untuk bertanya tentang pada masa, kita akan mempunyai beberapa syarikat kontrak yang datang bersama-sama dan jalankan kabel seluruh loji, tetapi kita tidak mempunyai mereka meletakkan penyambung. Jadi, Jadilah "patch sekotak" dengan berpuluh-puluh daripada kabel unlabeled di "bilik komputer" dan ini snaked sekitar bangunan ke pelbagai tempat di dalam bangunan.

Kami bekerja cara kita melaluinya sepanjang hujung minggu, ujian Kawat setiap, meletakkan sesebuah penyambung (memastikan ia adalah lurus vs. terlintas di), memastikan seting bit pada tiub hijau dan pencetak yang betul, pelabelan Wayar, memastikan bahawa "getty" berlari dengan betul untuk setiap pelabuhan dan mungkin seribu perkara lain bahawa saya telah ditindas sejak itu. Ia semua datang bersama-sama agak baik.

Tetapi, Jadilah satu kabel yang penting yang kita tidak dapat memikirkan. Kilang di Baltimore telah hubungan dengan lokasi pergudangan di New Jersey. Beberapa pesanan yang diletakkan di Baltimore dihantar keluar dari lokasi itu. Terdapat dua wayar yang kami terpaksa sambung ke kotak HPUX: satu tiub yang hijau dan pencetak. Tiub hijau adalah mudah, tetapi pencetak bertukar menjadi mimpi ngeri tiga minggu.

Jika anda tidak tahu, atau telah Sekat, berurusan dengan tiub hijau dan pencetak begini, Terdapat pelbagai pilihan yang anda berurusan dengan dengan menetapkan pelbagai PIN. 8-bit, 7-bit, pariti (Walaupun/ganjil/tiada), mungkin orang lain. Jika anda mendapat salah satu daripada seting tersebut salah, tiub atau pencetak masih menunjukkan barangan, tetapi ia akan menjadi jumlah Bahasa Raban, atau ia akan menjadi Bahasa Raban dengan banyak perkara yang dikenali di antara. Kursus, PIN ini adalah sukar untuk melihat dan perlu diatur dengan menggunakan seorang pemandu skru rata-kelebihan kecil. Dan mereka tidak pernah standard.

Kami menubuhkan pertama banyak panggilan cepat dengan lelaki NJ (pembenci grizzled komputer yang mungkin mula menghina kami hingga ke hari ini). Kami mendapat tiub hijau bekerja cukup cepat, tetapi kami tidak dapat masuk pencetak untuk bekerja. Ia disimpan "percetakan sampah". Kami akan membuat penyambung RJ11 baru, Penukaran antara dipalang dan lurus. Kita akan menghapuskan port dan semula dicipta dalam Unix. Kami pergi melalui tugas sukar setelah beliau menerangkan kepada kami konfigurasi pin di pencetak, tidak pernah benar-benar pasti jika dia telah melakukannya dengan betul.

Ia adalah tentang masa untuk pergi untuk hidup, segala-galanya di Baltimore humming, tetapi kita tidak dapat bangun pencetak cursed di NJ berusaha! Kami telah kehabisan semua kemungkinan kecuali memandu kembali sehingga NJ untuk bekerja di pencetak secara peribadi. Untuk mengelakkan semua yang memandu, kami akhirnya bertanyakan Faks kami apa dia semakin apabila ia "sampah", berharap bahawa mungkin akan ada beberapa petunjuk dalam bahawa sampah yang akan memberitahu kita apa yang kita sedang melakukan salah.

Bilakah kita mendapat Faks, kita akan tahu apa adalah salah. Lihat, Kaedah kami ujian sama ada kita telah dikonfigurasikan pencetak dengan betul adalah untuk mengeluarkan satu "lp" arahan seperti ini:

LP/dan lain-lain/passwd

Pada asasnya, kami dicetak fail kata laluan unix. Ia memang wujud dan keluar dari kotak, selalu sahaja satu halaman. Anda standard Unix kata laluan fail kelihatan seakan-akan ini:

Smith:*:100:100:8A-74(pejabat):/rumah/smith:/usr/bin/sh tetamu:*:200:0::/rumah/tetamu:/usr/bin/sh  

Kita telah telah mencetak keluar fail kata laluan berulang-ulang kali selama beberapa minggu dan ia adalah mencetak dengan betul. Walau bagaimanapun, kepada pengguna akhir, Ia adalah "percetakan sampah".

</akhir>

Namun Satu lagi Bukti kelayakan Rangkaian Multi-Isu Cabaran dan Penyelesaian

Pelanggan saya baru-baru ini dipasang alat sihir dari Juniper yang nampaknya digantikan lama Cisco rangkaian beban pengimbang mereka (NLB). Pada kira-kira masa yang sama, kita memasang hotfix untuk menangani masalah aliran kerja.

Satu atau dua hari kemudian, kita dapati masalah apabila kita diakses pembekal perkhidmatan yang dikongsi (SSP). Kita boleh mendapatkan kepadanya, tetapi kita boleh dicabar untuk ID pengguna dan kata laluan berkali-kali pada setiap halaman. Ini tidak berlaku dengan apl portal utama, mahupun Pusat Pentadbiran. Secara semula jadi, kita tidak tahu yang mana satu di dua (Juniper atau hotfix) akan menjadi isu, walaupun saya disyaki hotfix yang, memikirkan kita tidak telah dipasang ia agak betul.

Ia ternyata bahawa Juniper mempunyai beberapa jenis persekitaran mampatan. Salah satu daripada angka berjubah ke atas di rangkaian Kumpulan bertukar itu menuju keluar. Yang diselesaikan masalah kita.

Ini bukanlah kali pertama mampatan telah menjadi punca masalah SharePoint bagi saya. Mampatan IIS terjejas disebabkan alat pihak ke-3 daripada orang-orang yang baik di The Dot bersih kilang untuk IE 6 pelayar (IE 7 pelayar bekerja tanpa kesukaran).

Jadi, Tambah "mampatan" kepada senarai bahaya.

</akhir>

Kredit kepada: http://www.elfwood.com/art/s/h/sherry/death_colour.jpg.html

Technorati Tags: ,

Pemikiran Mengenai Menukar Platform Blogging

Saya bermula dengan saya "kerjaya blogging" menggunakan Microsoft platform dan ia telah baik kepada saya. Ia adalah mudah untuk menghantar, Terdapat pilihan yang baik dan widget untuk menguruskan "ruang", penyimpanan web yang baik dan sebagainya.

Walau bagaimanapun, Saya benar-benar hanya jatuh ke dalam MS penyelesaian dengan hampir tiada perancangan. Panggilan itu semata-mata bagi saya untuk menilai di mana saya dan kemana aku pergi, dari segi blogging platform. Terdapat juga dua had penting yang mengganggu saya betul-betul sekarang vis-à-vis Windows Live Spaces.

Pertama, Saya tidak boleh mendapatkan statistik yang sangat baik. Ada statistik tetapi terperinci yang sering kali dipendekkan dan tidak dibentangkan dengan cara yang membolehkan apa-apa jenis analisis. Tiada Tiada keupayaan menyusun atau eksport. Saya mendapat banyak idea-idea blog yang berdasarkan jenis maklumat yang orang mendapati (atau terutamanya gagal untuk mencari) Bilakah mereka mencari blog saya. Ianya amat sukar untuk gunakan ruang hidup yang.

Kedua, tidak seolah-olah menjadi mekanisme untuk "mengewangkan" windows live ruang blog. Malah, untuk menghilangkan MS iklan (dari mana saya mendapatkan tiada manfaat), Saya perlu membayar Microsoft. (Sekurang-kurangnya, itulah bagaimana saya memahaminya; Saya telah tidak mendapat jawapan yang pasti untuk soalan-soalan ini dan suka).

Sekarang saya telah mendapat corak yang ditubuhkan dan set tabiat blog, Saya ingin menilai pilihan-pilihan lain. Saya telah melakukan beberapa kajian dan terdapat banyak pilihan, tetapi saya ingin tahu apa yang orang lain, terutamanya dalam komuniti SharePoint (sebagai blogger atau pembaca), suka menggunakan.

Jika ini kepentingan subjek anda dan anda mempunyai pendapat atau bersedia untuk berkongsi pengalaman anda, sila tinggalkan komen atau email saya secara langsung.

Terima kasih!

<akhir />

Technorati Tags:

SharePoint Designer Menghantar E-mel ???? dalam E-mel

Pengguna forum kadang-kadang meminta: Mengapa SharePoint Designer meletakkan ???? ke dalam e-mel saya dan bukan nilai bidang?

Salah satu sebab ini terjadi adalah kerana pembolehubah yang kamu maksudkan adalah batal.

Ini boleh berlaku kerana anda cuba untuk rujukan bidang dari "semasa perkara" tetapi pengguna tidak pernah masuk ke dalam nilai bahawa bidang bentuk.

<akhir />

Technorati Tags:

Bandingkan / Menguji Tarikh Kosong di SharePoint workflow Designer

Senario: Dalam aliran kerja SharePoint Designer, anda perlu menentukan apakah bidang tarikh yang kosong.

Masalah: SPD tidak menyediakan satu kaedah secara langsung untuk membandingkan tarikh untuk apa-apa selain daripada tarikh. Anda tidak boleh mencipta keadaan yang seperti ini: "Jika [DateField] sama dengan kosong".

Penyelesaian: Convert tarikh ke rentetan. Gunakan tali perbandingan untuk menentukan jika tarikh kosong.

Shots Skrin:

Screen Shot yang berikut menunjukkan bagaimana untuk melakukannya. Dalam senario ini, medan pada item, "Permit alam sekitar:Mula-mula membenarkan tarikh peringatan", dikemukakan dan kebakaran kerja sebagai tindak balas.

imej

imej

Nota:

Apabila saya cuba ini, Saya terkejut untuk mengetahui bahawa ia berfungsi. Saya adalah bimbang bahawa Reka bentuk SharePoint mungkin tidak membenarkan tugasan rentetan (Berubah-ubah:StringReminderDateDate) tetapi ia tidak membenarkan ia.

Saya juga bimbang bahawa membenarkan ia, nilai yang mungkin tidak sah dan sama ada meletupkan WF di runtime atau mungkin meningkatkan suhu global 1/2 ijazah, tetapi kebimbangan mereka tidak berasas.

</akhir>

Technorati Tags:

Bar Masih Pretty Tinggi ke Panjangkan MOSS

Hari ini, Saya telah bekerja dengan pelanggan dan menerangkan bagaimana untuk mengubahsuai bahagian pertanyaan kandungan web dan memaparkan cebisan maklumat daripada jenis kandungan tambahan.

"Pertama., anda mengkonfigurasi CQWP untuk menyambung kepada sumber data, maka anda mengeksport ke stesen kerja anda, mengubah suai <CommonViewFields>, memuat naik, mengalih keluar asal dan kini ia lebih ' bersedia’ untuk memaparkan mereka medan lain. Seterusnya, buka SharePoint Reka bentuk, menavigasi ke laman web koleksi akar dan mencari ItemStyle.xsl. Salinan salah satu template sebagai titik permulaan yang berguna. Kembali dan mengubah suai CQWP agar menggunakan template baru ini. Akhirnya, mengubahsuai template yang memberi anda medan baru! (Jangan lupa untuk menyemak kembali dalam sehingga pengguna lain boleh melihat hasil)."

Semuanya cukup jelas kepada saya (dan sebahagian besar daripada kita SharePoint pemaju jenis) apa yang sedang berlaku dan bagaimana ia adalah agak baik, benar-benar, aspek dapatan semula data CQWP itu yang begitu baik-berasingan dari aspek persembahan data. Tetapi, ianya tidak begitu mudah untuk menerangkan, Adakah ia?

<akhir />

Memaparkan Kandungan Web Keputusan Query Bahagian dalam Grid / Jadual

Gambaran dan Objektif

Keluar dari kotak, MOSS’ Kandungan Pertanyaan Web Bahagian (CQWP) memaparkan keputusan dalam format senarai, serupa dengan hasil carian. Hal ini juga mungkin untuk memaparkan hasil dalam grid format (Dgn kata lain. Format jadual HTML). Format grid adalah lebih baik dalam keadaan sesetengah. Saya menerangkan bagaimana untuk mencapai kesan yang dalam artikel ini.

Senario Perniagaan

Saya telah bekerja dengan klien mengenai pelaksanaan MOSS menyeluruh untuk. Kami telah direka taksonomi mereka supaya projek-projek adalah warga negara kelas pertama dalam hierarki dalam dan mempunyai tapak aras tertinggi mereka sendiri. Pengurus Projek mengekalkan senarai singleton maklumat ringkasan projek, seperti tajuk, bajet, Tarikh dijangka siap, Baki belanjawan dan lain-lain bidang ringkasan jenis. Oleh "singleton" Senarai SharePoint tersuai dijamin mengandungi hanya satu perkara yang saya maksudkan. Dengan mudah, ia kelihatan seperti ini:

imej

Pendekatan teknikal adalah lebih kurang sama seperti yang dinyatakan di sini (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!447.entry). CQWP yang menggunakan untuk mengubah XSL untuk mengeluarkan HTML untuk pelayar untuk memberi.

Saya sentiasa membayangkan hasil sebelum menganalisa XSL tersebut kerana XSL mimpi ngeri. Berikut adalah keputusan yang diingini saya:

imej

HTML seperti ini menjana hasil yang:

<html>
 <badan>
 <pusat>
 <jadual sempadan= 1>

<!-- Label ->
 <tr bgcolor= Biru>
 <td><font warna= Putih><b>Nama Projek</b></font></td>
 <td menyelaraskan= Betul><font warna= Putih><b>Tarikh melengkapkan</b></font></td>
 <td menyelaraskan= Betul><font warna= Putih><b>Bajet</b></font></td>
 <td menyelaraskan= Betul><font warna= Putih><b>Perbelanjaan sebenar</b></font></td>
 <td><font warna= Putih><b>Keseluruhan Status</b></font></td>
 </tr>

<tr>
 <td>Re-wayar bilik komputer.</td>
 <td menyelaraskan= Betul>02/01/08</td>
 <td menyelaraskan= Betul>22,500.00</td>
 <td menyelaraskan= Betul>19,000.00</td>
 <td>Dalam Kemajuan</td>
 </tr>

<tr>
 <td>Pelayan SQL Peruntukan Naik Taraf</td>
 <td menyelaraskan= Betul>04/01/08</td>
 <td menyelaraskan= Betul>7,500.00</td>
 <td menyelaraskan= Betul>0.00</td>
 <td>Dirancang</td>
 </tr>

</jadual>
 </pusat>
 </badan>
</html>

Pendekatan

Ikuti langkah-langkah untuk mewujudkan grid:

  1. Mengenalpasti komponen grid (baris / lajur).
  2. Menentukan dan mewujudkan ruangan tapak perlu.
  3. Mencipta laman sub bagi projek-projek dan senarai tunggal.
  4. Tambah CQWP untuk laman web dan mengkonfigurasi ia untuk mencari senarai anda.
  5. Ubahsuai XML CQWP untuk mengumpulkan ruangan tambahan.
  6. Ubah suai XSL untuk menjana jadual.

Saya akan menumpukan perhatian kepada nombor enam. Nombor satu melalui empat adalah lurus ke hadapan dan sesuatu yang telah melakukan mana-mana pengguna CQWP. Nombor lima telah didokumenkan oleh orang lain termasuk menyeluruh tembakan skrin penuh sarat artikel ini daripada MSDN di sini (http://msdn2.microsoft.com/en-us/library/bb897399.aspx) dan blog Heather Sulaiman di sini (http://www.heathersolomon.com/blog/articles/CustomItemStyle.aspx).

Kacang Dan Bolt

Mulakan dan melaksanakan langkah-langkah yang salah melalui lima sebagai satu dokumentasi MSDN dan artikel Heather Sulaiman.

Pada ketika ini, anda telah menambah CQWP anda ke laman dan anda mempunyai anda <CommonViewFields> dikonfigurasi sebagai perlu.

Berikutan langkah-langkah yang biasa, Saya mendapat keputusan ini perantaraan:

1. Membuat jenis kandungan, templatized senarai tersuai untuk jenis kandungan itu dan dua tapak. Inilah jenis kandungan:

imej

Berikut adalah struktur tapak:

imej

2. Tambah CQWP selepas mewujudkan subsites projek saya dan tunggal senarai ringkasan projek:

imej

3. Tambah semua maklumat tambahan yang saya mahu melalui <CommonViewFields>:

        <harta Nama="CommonViewFields" Jenis="rentetan">Project_x0020_Name;Project_x0020_Expenses;Project_x0020_Status;Project_x0020_Start_x0020_Date;Project_x0020_End_x0020_Date;Project_x0020_Budget</harta>

Perhatikan bahawa saya terpaksa terus semua bidang hartanah dalam satu baris atau ia tidak akan bekerja (CQWP akan memberitahu saya bahawa pertanyaan itu kembali ada perkara).

4. Pada ketika ini, Kami sudah bersedia untuk bergerak melampaui artikel MSDN dan flip di atas untuk artikel Heather Solomon. Ikuti langkah-langkah beliau yang bermula berhampiran langkah #5 untuk mewujudkan disesuaikan / versi unghosted ItemStyle.xsl. Saya ikut nasihat Heather's, up melalui langkah 11 dan mendapatkan keputusan ini perantaraan:

4.1: Nama template XSL saya seperti berikut:

<Pemacu:nama templat = "Grid" sepadan dengan = "berturut-turut[@Style = 'Grid']" mod = "itemstyle">

Saya juga sedikit mengubah beliau mencadangkan <Pemacu:untuk setiap …> dengan menambah <br /> tag untuk menyediakan senarai yang lebih bersih:

    <Pemacu:untuk setiap pilih="@ *">
      P:<Pemacu:nilai-of pilih="Nama()" /><br/>
    </Pemacu:untuk setiap>

4.2: Saya mengubah suai sebahagian web, pergi ke penampilan dan pilih saya "Grid" gaya:

imej

Melaksanakan perubahan dan di sini adalah hasil:

imej

Kita boleh lihat dari atas bahawa bidang yang kita mahu (Nama projek, perbelanjaan, status, dan sebagainya.) disediakan untuk kita gunakan apabila kita mengeluarkan HTML. Bukan itu sahaja, tetapi kita melihat nama-nama yang kami perlu rujukan kolum tersebut dalam XSL dalam. Sebagai contoh, kami rujukan Status projek sebagai "Project_x005F_x0020_Name".

Pada ketika ini, kami bertolak dari blog Heather dan dari bahu gergasi ini, Saya menambah sedikit saya sendiri sedikit.

ContentQueryMain.xsl

NOTA: Apabila membuat perubahan kepada kedua-dua ContentQueryMain.xsl serta ItemStyle.xsl, anda perlu menyemak fail-fail kembali sebelum anda melihat kesan perubahan.

Bagi tujuan membuat grid, MOSS menggunakan dua fail XSL yang berbeza untuk menghasilkan keputusan yang kita lihat dari CQWP yang. Untuk menjana bit sebelumnya output, kami kali ItemStyle.xsl. MOSS sebenarnya menggunakan fail XSL yang lain, ContentQueryMain.xsl untuk bersama-sama dengan ItemStyle.xsl untuk menghasilkan HTML yang. Seperti namanya, ContentQueryMain.xsl adalah "utama" XSL yang mengawal aliran keseluruhan penterjemahan. Ia iterates melalui semua barang-barang yang dijumpai dan Pas mereka satu per satu untuk template di ItemStyle.xsl. Kami akan ubah suai ItemStyle.xsl untuk menjana terbuka <jadual> tag sebelum mengeluarkan baris pertama data dan penutup <jadual> Tag selepas mengeluarkan baris terakhir. Untuk mencapai matlamat ini, ContentQueryMain.xsl kali meluluskan dua parameter untuk kami "grid" template dalam ItemStyle.xsl, "baris terakhir" dan "semasa baris". ItemStyle.xsl menggunakan ini untuk mengeluarkan tag perlu bersyarat.

Menggunakan teknik Heather Sulaiman, kita mencari ContentQueryMain.xsl. Ia terletak di tempat yang sama sebagai ItemStyle.xsl. Pukulan skrin ini akan membantu:

imej

Kita perlu membuat perubahan berikut:

  • Ubahsuai template XSL, "CallItemTemplate" yang benar-benar menggunakan template Grid kami di ItemStyle.xsl. Kita akan melewati dua parameter untuk Grid template supaya ia akan mempunyai data yang diperlukan untuk menjana dengan membuka dan menutup <jadual> tags.
  • Ubah suai sedikit lain ContentQueryMain.xsl yang menyeru "CallItemTemplate" meluluskan "LastRow" parameter supaya LastRow boleh disampaikan kepada template Grid kami.

Mencari template yang dinamakan "OuterTemplate.CallItemTemplate" dikenal pasti oleh tali:

  <Pemacu:template Nama="OuterTemplate.CallItemTemplate">

Menggantikan template keseluruhan seperti berikut:

  <Pemacu:template Nama="OuterTemplate.CallItemTemplate">
    <Pemacu:param Nama="CurPosition" />

    <!--
      Tambah "LastRow" parameter.
      Kami hanya menggunakannya apabila item gaya Pas dalam "Grid".
    -->
    <Pemacu:param Nama="LastRow" />

    <Pemacu:memilih>
      <Pemacu:apabila ujian="@ Gaya = 'NewsRollUpItem'">
        <Pemacu:terpakai-template pilih="." mod="itemstyle">
          <Pemacu:dengan-param Nama="EditMode" pilih="$cbq_iseditmode" />
        </Pemacu:terpakai-template>
      </Pemacu:apabila>
      <Pemacu:apabila ujian="@ Gaya = 'NewsBigItem'">
        <Pemacu:terpakai-template pilih="." mod="itemstyle">
          <Pemacu:dengan-param Nama="CurPos" pilih="$CurPosition" />
        </Pemacu:terpakai-template>
      </Pemacu:apabila>
      <Pemacu:apabila ujian="@ Gaya = 'NewsCategoryItem'">
        <Pemacu:terpakai-template pilih="." mod="itemstyle">
          <Pemacu:dengan-param Nama="CurPos" pilih="$CurPosition" />
        </Pemacu:terpakai-template>
      </Pemacu:apabila>

      <!--
              Pas kedudukan semasa dan lastrow kepada template itemstyle.xsl Grid.
              ItemStyle.xsl akan menggunakannya untuk mengeluarkan terbuka dan tutup <jadual> tags.
      -->
      <Pemacu:apabila ujian="@ Gaya = 'Grid'">
        <Pemacu:terpakai-template pilih="." mod="itemstyle">
          <Pemacu:dengan-param Nama="CurPos" pilih="$CurPosition" />
          <Pemacu:dengan-param Nama="Last" pilih="$LastRow" />
        </Pemacu:terpakai-template>
      </Pemacu:apabila>

      <Pemacu:sebaliknya>
        <Pemacu:terpakai-template pilih="." mod="itemstyle">
        </Pemacu:terpakai-template>
      </Pemacu:sebaliknya>
    </Pemacu:memilih>
  </Pemacu:template>

Komen-komen yang menerangkan maksud perubahan.

Kursus, "OuterTemplate.CallItemTemplate" dirinya dipanggil dari template lain. Mencari templat tersebut dengan mencari rentetan teks ini:

<Pemacu:template Nama="OuterTemplate.Body">

Tatal melalui manual OuterTemplate.Body dan masukkan parameter LastRow seperti berikut (ditunjukkan sebagai komen dalam italik):

<Pemacu:panggilan template Nama="OuterTemplate.CallItemTemplate">
  <Pemacu:dengan-param Nama="CurPosition" pilih="$CurPosition" />
  <!-- Memasukkan parameter LastRow yang. -->
  <Pemacu:dengan-param Nama="LastRow" pilih="$LastRow"/>
</Pemacu:panggilan template>

Selepas semua ini, kami akhirnya telah perkara ditubuhkan dengan betul supaya ItemStyle.xsl kita boleh mengeluarkan <jadual> tags di tempat yang betul.

ItemStyle.Xsl

NOTA: Lagi, mendaftar masuk ItemStyle.xsl selepas membuat apa-apa perubahan supaya anda melihat kesan perubahan-perubahan.

Kami mempunyai dua tugas di sini:

  • Menggantikan seluruh template Grid. Anda boleh copy/paste dari bawah.
  • Tambah beberapa mumbo jumbo di luar definisi template yang membolehkan "formatcurrency" template untuk bekerja. (Anda boleh memberitahu bahawa saya mempunyai mengendalikan lemah pada Pemacu).

Pertama, berhampiran bahagian atas ItemStyle.xsl, tambah baris ini:

  <!-- Beberapa jumbo kosong yang membolehkan kita untuk memaparkan U.S. mata wang. -->
  <Pemacu:perpuluhan-format Nama="kakitangan" digit="D" />

  <Pemacu:template Nama="Default" perlawanan="*" mod="itemstyle">

Perhatikan bahawa saya berkata ia secara langsung sebelum <Pemacu:nama templat = "lalai" …> definisi.

Seterusnya, kembali ke template Grid kami. Menggantikan seluruh template Grid dengan kod di bawah. Ia adalah benar-benar mengulas, tetapi tidak teragak-agak untuk e-mel saya atau meninggalkan komen di blog saya jika anda mempunyai soalan.

  <Pemacu:template Nama="Grid" perlawanan="Berturut-turut[@ Gaya = 'Grid']" mod="itemstyle">

    <!--
      ContentMain.xsl pas CurPos dan terakhir.
      Kami menggunakan ini untuk mengeluarkan bersyarat terbuka dan tutup <jadual> tags.
    -->
    <Pemacu:param Nama="CurPos" />
    <Pemacu:param Nama="Last" />

    <!-- Pembolehubah berikut diubahsuai dari ItemStyle.xsl standard -->
    <Pemacu:berubah-ubah Nama="SafeImageUrl">
      <Pemacu:panggilan template Nama="OuterTemplate.GetSafeStaticUrl">
        <Pemacu:dengan-param Nama="UrlColumnName" pilih="'ImageUrl'"/>
      </Pemacu:panggilan template>
    </Pemacu:berubah-ubah>
    <Pemacu:berubah-ubah Nama="SafeLinkUrl">
      <Pemacu:panggilan template Nama="OuterTemplate.GetSafeLink">
        <Pemacu:dengan-param Nama="UrlColumnName" pilih="'LinkUrl'"/>
      </Pemacu:panggilan template>
    </Pemacu:berubah-ubah>
    <Pemacu:berubah-ubah Nama="Displaytitle">
      <Pemacu:panggilan template Nama="OuterTemplate.GetTitle">
        <Pemacu:dengan-param Nama="Title" pilih="@ Title"/>
        <Pemacu:dengan-param Nama="UrlColumnName" pilih="'LinkUrl'"/>
      </Pemacu:panggilan template>
    </Pemacu:berubah-ubah>
    <Pemacu:berubah-ubah Nama="LinkTarget">
      <Pemacu:jika ujian="@ OpenInNewWindow = 'Sebenar'" >_blank</Pemacu:jika>
    </Pemacu:berubah-ubah>

    <!--
      Di sini kita menentukan ubah, "tableStart".  Ini mengandungi HTML
      .  Perhatikan bahawa jika CurPos = 1, ia termasuk HTML dalam tag CDATA.
      Jika tidak, ia akan menjadi kosong.

      Nilai tableStart adalah emited setiap ItemStyle masa dipanggil melalui
      .
    -->
    <Pemacu:berubah-ubah Nama="tableStart">
      <Pemacu:jika ujian="$CurPos = 1">
        <![CDATA[
        <sempadan meja = 1>
          <TR bgcolor = "biru">
            <td><warna font = "putih"><b>Nama Projek</b></font></td>
            <TD menyelaraskan = "kanan"><warna font = "putih"><b>Tarikh melengkapkan</b></font></td>
            <TD menyelaraskan = "kanan"><warna font = "putih"><b>Bajet</b></font></td>
            <TD menyelaraskan = "kanan"><warna font = "putih"><b>Perbelanjaan sebenar</b></font></td>
            <td><warna font = "putih"><b>Keseluruhan Status</b></font></td>
          </tr>
        ]]>
      </Pemacu:jika>
    </Pemacu:berubah-ubah>

    <!--
      Berubah lagi, tableEnd hanya mentakrifkan tag jadual penutupan.

      Seperti tableStart, ia sentiasa emited.  Inilah sebabnya mengapa nilainya
      .
    -->
    <Pemacu:berubah-ubah Nama="tableEnd">
      <Pemacu:jika ujian="$CurPos = $ Last">
        <![CDATA[ </jadual> ]]>
      </Pemacu:jika>
    </Pemacu:berubah-ubah>

    <!--
      Sentiasa mengeluarkan kandungan tableStart.  Jika ini bukan yang pertama
      , maka kita tahu nilai
      .

      Melumpuhkan output melarikan diri kerana apabila tableStart ia tidak kosong, ia
      .  Jika
      , ini akan menghasilkan barangan seperti"&lt;jadual&gt;" bukannya daripada"<jadual>".
    -->
    <Pemacu:nilai-of pilih="$tableStart" melumpuhkan-output-melarikan diri="ya"/>


    <tr>
      <!--
      P:Project_x005F_x0020_Name
      :Project_x005F_x0020_End_x005F_x0020_Date
      :Project_x005F_x0020_Budget
      :Project_x005F_x0020_Expenses
      :Project_x005F_x0020_Status
      -->
      <td>
        <Pemacu:nilai-of pilih="@ Project_x005F_x0020_Name"/>
      </td>

      <td menyelaraskan="betul">
        <Pemacu:nilai-of pilih="@ Project_x005F_x0020_End_x005F_x0020_Date"/>
      </td>

      <td menyelaraskan="betul">
        <Pemacu:panggilan template Nama="formatcurrency">
          <Pemacu:dengan-param Nama="nilai" 
pilih="@ Project_x005F_x0020_Budget"></Pemacu:dengan-param> </Pemacu:panggilan template> </td> <td menyelaraskan="betul"> <Pemacu:panggilan template Nama="formatcurrency"> <Pemacu:dengan-param Nama="nilai" pilih="@ Project_x005F_x0020_Expenses">
</Pemacu:dengan-param> </Pemacu:panggilan template> </td> <td> <Pemacu:nilai-of pilih="@ Project_x005F_x0020_Status"/> </td> <!-- Semua yang berikut adalah komen keluar untuk menjelaskan perkara-perkara. Walau bagaimanapun, membawa kembali dan barang-barang ke dalam <td> untuk melihat yang         . --> <!-- <DIV id = "linkitem" Class = "perkara"> <Pemacu:Jika ujian = "tali panjang($SafeImageUrl) != 0"> <DIV class = "imej kawasan-kiri"> <a href = "{$SafeLinkUrl}" target = "{$LinkTarget}"> <IMG class = "imej-fixed-width" SRC = "{$SafeImageUrl}"
Alt = "{@ ImageUrlAltText}"/> </1> </div> </Pemacu:jika> <DIV class = "pautan-barang"> <Pemacu:panggilan template
Name="OuterTemplate.CallPresenceStatusIconTemplate"/> <a href = "{$SafeLinkUrl}"
target = "{$LinkTarget}" Tajuk = "{@ LinkToolTip}"> <Pemacu:nilai daripada pilih = "$DisplayTitle" /> </1> <DIV class = "Perihalan"> <Pemacu:nilai bagi select="@Description" /> </div> </div> </div>
--> </tr> <!-- Mengeluarkan tag jadual penutupan. Jika kita tidak berada di barisan lepas, ini akan menjadi kosong. --> <Pemacu:nilai-of pilih="$tableEnd" melumpuhkan-output-melarikan diri="ya"/> </Pemacu:template> <Pemacu:template Nama="formatcurrency"> <Pemacu:param Nama="nilai" pilih="0" /> <Pemacu:nilai-of pilih='format-nombor($nilai, "$DDD,Ddd,DDD. DD", "kakitangan")' /> </Pemacu:template>

Standard WSS / MOSS Skrin Kemasukan Data Tidak Menyokong Cascading Drop-surut (atau lain-lain intra-dari komunikasi)

UPDATE (04/2008): Ini entry blog yang hebat menunjukkan pendekatan javascript yang baik berasaskan kepada masalah ini: http://webborg.blogspot.com/2008/04/add-functions-and-events-to-sharepoint.html

UPDATE II: (04/2008): Ini blog nampaknya baik: http://www.cleverworkarounds.com/2008/03/13/free-mosswss-2007-web-part-hide-controls-via-javascript/

Beberapa kali seminggu, jika tidak setiap hari, Forum pengguna menerangkan keperluan yang biasanya boleh dicapai melalui penurunan-downs dihasratkan. Sebagai contoh, Saya mempunyai dua kawalan drop-down:

  • Senarai U.S. negeri
  • Senarai U.S. bandar-bandar.

Sebagai pembekal yang bertanggungjawab UI, kita mahu ia beroperasi seperti ini:

  • Paul yang memilih U.S. Negeri daripada drop-down.
  • Hal ini menyebabkan bandar-bandar jatuh untuk menapis hanya bandar kepunyaan negeri terpilih.
  • Paul memilih sebuah bandar daripada senarai ini ditapis.

Terdapat tiada sokongan out-of-the-box untuk ciri ini. Malah, Terdapat tiada sokongan OOB untuk apa-apa jenis komunikasi intra-form langsung. Ini termasuklah pengaturcaraan bidang bersembunyi/membolehkan/melumpuhkan sebagai tindak balas kepada perubahan bidang lain di dalam borang.

Objektif sebenar artikel ini untuk menerangkan penyelesaian yang mungkin dan ini adalah pilihan yang saya tahu mereka:

  1. Membangunkan sejenis adat lajur. Sebagai adat-medan-pemaju, anda mempunyai kawalan penuh ke atas dunia"" dari medan adat yang. Anda boleh melaksanakan yang melata jatuh dengan cara.
  2. Pertimbangkan untuk menggunakan aliran kerja. Dalam sesetengah kes, anda hendak peruntukkan nilai secara automatik ke dalam bidang yang berdasarkan nilai bidang lain. Dalam kes ini,, anda biasanya akan cuba menggunakan ruang yang dikira, tetapi beberapa kali, Ia hanya tidak akan mendapatkan pekerjaan yang dilakukan. Aliran Reka bentuk SharePoint adalah alternatif agak mentadbir mesra yang menjatuhkan ke bawah ke dalam kod dan visual studio. Jika anda pergi laluan ini, sedar isu ini ditangani oleh artikel ini (http://paulgalvin.spaces.live.com/blog/cns!CC1EDB3DAA9B8AA!405.entry).
  3. Pengendali Acara: Seperti aliran kerja, ini adalah satu penyelesaian selepas fakta. Anda pengendali acara adalah perhimpunan .NET (C #, VB.NET) untuk SharePoint yang melepasi kawalan. Objek yang anda membangunkan mempunyai akses kepada data senarai (dan model objek keseluruhan) dan boleh melakukan apa-apa pengiraan diperlukan.
  4. Menggunakan Reka bentuk SharePoint untuk mencipta borang penyertaan adat. Saya tidak mempunyai pengalaman langsung dengan pendekatan ini, tetapi saya dengar mereka melakukan perkara yang baik dengan NewForm.aspx hari ini 🙂
  5. Roll ASP.NET fungsi kemasukan data anda sendiri (sebagai laman web yang berdiri sendiri atau sebagai sebahagian web) dan menggunakan yang bukan.

Jika sesiapa tahu dan / atau pilihan yang lebih baik, sila menghantar komen dan saya akan mengemaskini badan selepas ini.

<akhir />

Technorati Tags:

Ya / Tidak (kotak semak) penapisan dalam Pertanyaan Kandungan Web Bahagian

Untuk menapis untuk pertanyaan itu Ya/tiada kotak bertajuk "Peristiwa penting PG", mengkonfigurasi CQWP seperti ini:

imej

Ini merupakan satu lagi salah seorang daripada mereka yang jelas-sekali-anda-tahu-it tetapi sukar-untuk-mencari-jawapan-untuk soalan: Bagaimana untuk menapis pada kotak No Ya / cek menggunakan kandungan query sebahagian web.

Yang pertama hasil carian Saya dapati menggunakan istilah carian "penapis pertanyaan ya/tidak kandungan web bahagian" adalah rata daripada salah, jadi saya fikir saya akan meletakkan ini di sana dan lihat jika ia boleh menggantikan hasil yang tidak betul dalam hasil carian biasa.

Ia agak mudah: Benar nilai = "1" dan nilai-nilai palsu tidak sama dengan "1" (agak retro, sebenarnya).

Dalam contoh di atas, Saya mencipta Laman web kolum jenis Ya/tidak" (kotak)" dinamakan "PG Milestone". Saya menambah ke sebuah perpustakaan doc, memuat naik dokumen beberapa, menetapkan nilai untuk pasangan dan diuji.

<akhir />