Aylık Arşivler: Aralık 2007

Oğlum Gamespot kesmek

Yani, Bu sabah, Oğlum bir yaş on üç Halo sınırlı görmek için belirlenen 3 video Gamespot. Kar kürekle dışında kulüpler, Bu yüzden orada yardım veya engel değilim. Anne buluş ve tüm bu zorunluluktur … Onda bir eureka! an. Gamespot onun girmek istiyor olsa bile o fark etmiştir gerçek doğum günü, Aslında girebilirsiniz herhangi bir istediği doğum günü. Bunu fark ettiğinde, o kadar yaşlı video kendisi yaptı.

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

Pazar komik: “Yazdırma çöp olduğunu”

Mezun ilk işimi 1991, Bir üretim şirketi ile çalışmak şanslı 13 Mekanlar, onun kurumsal HQ New Jersey'de hariç. Sadece yeni bir ERP sistemi şirketin haddeleme katıldım. Biz yaklaşık 10 kişi tamamen küçük bir BT bölümü vardı, ikisi seyahat değil. IBM sistemi yerine proje dahil 36 HP donanım ve HPUX ile kutuları. Herkes yeşil boru sistemine erişmek için kullanılan.

Proje boyunca alır ve yeni iş arkadaşı ile Baltimore'a gönderdi, Jeff. Bizim işimiz güç UNIX kutusu için yapıldı., o/s çalışır durumda doğrulayın, ERP sistemi kurmak, ERP yapılandırmak, ERP insanları eğitmek ve spot millet için özel çalışma yapmak. (Bu bir rüya iş yapıldı., özellikle düz üniversiteyi geliyor). Biz gerçekten yerden alamadan, Biz yeşil tüpler açmak için gerekli, Onları masalarının üzerinde koymak ve onları tel. Ve en iyi bölüm biz kendimize RJ11 konnektör koymak vardı.

Nedense hiç anlamadım ve hakkında o zaman sorduğunuz aslında hiç düşünmemiştim., sözleşme arkadaş birlikte gelmek ve tesis genelinde kablo çalıştırmak vardı, Ama biz onları bağlayıcılarda koymak yoktu. Yani, bir "düzeltme eki kutusu yapıldı." "bilgisayar Oda etiketlenmemiş kabloları onlarca ile" ve bunlar çeşitli yerlere binada binanın çevresinde snaked.

Biz yolumuzu bir hafta sonu boyunca çalıştı, Her tel test, konektör koyarak (emin düz vs yapıldı.. çarpı işareti), Yeşil tüpler ve yazıcılar bit ayarlar sağlanması doğru, teller etiketleme, Getty Images"emin" her bağlantı noktası ve muhtemelen binlerce diğer şey o zamandan beri bastırılmış için doğru koşuyordu. Hepsi birlikte oldukça güzel geldi.

Ama, Biz bir türlü çözemedim bir önemli kablo yapıldı.. Baltimore bitki New Jersey'deki bir depolama konumu ile bir ilişkisi vardı. Bu konumu dışında Baltimore'da yapılmış bazı siparişlerin sevk. HPUX kutusuna bağlanmak zorunda kaldık iki kablo vardı: yeşil bir boru ve bir yazıcı. Yeşil tüp kolay oldu, Ama üç hafta kabus yazıcının açık.

Eğer bilmiyorsanız, ya da bastırılmış, Bu şekilde yeşil tüpler ve yazıcılar ile ilgili, çeşitli iğneler ayarlayarak başa çeşitli seçenekler. 8-bit, 7-bit, parite (Hatta/garip/yok), Muhtemelen diğerleri. Eğer bu ayarlardan birini yanlış olsun, tüp veya yazıcı hala şeyler gösterir., Ama toplam anlamsız olacak, ya da anlamsız tanınabilir bir sürü ile arasında olacak. Elbette, Bu pin zor görmek ve düz kenarlı küçük bir tornavida kullanarak ayarlamak gerekiyor. Ve onlar asla standart.

Biz NJ adamla çok hızlı aramalar ilk ayarla (Muhtemelen bizi bu gün küfürler bir kırlaşmış bilgisayar düşmanı). Biz oldukça hızlı bir şekilde çalışma yeşil tüp var, Ama biz-ebil'almak çalışmak için yazıcı. "Yazdırma çöp" sakladım. Biz yeni bir RJ11 konnektör yaratacak, çapraz ile düz arasında geçiş yapma. Bağlantı noktasını silmek istiyorsunuz ve Unix yeniden. Biz went-den geçerek bize yazıcıda PIN yapılandırma açıklar tutmak zorlu görev, asla gerçekten emin eğer düzgün yapıyordu.

Canlı yayına vakti geldi, Baltimore her şey uğulduyor, Ama lanetli yazıcının çalışması için NJ kaldıramıyor! Yazıcının bizzat üzerinde çalışmaya geri NJ kadar sürüş dışında tüm olanakları tükettik. Tüm bu sürüş önlemek için, biz nihayet bize Faks "çöp" olduğunda ne gidiyor iste, Belki de orada bizim ne yaptığımızı anlatacağım o çöpü biraz ipucu olacak umuduyla yanlış.

Faks geldiğinde, hemen ne yanlış olduğunu biliyorduk. Bkz:, bir yazıcı doğru yapılandırılmış olup olmadığını test bizim yöntem lp"vermek için yapıldı." Böyle komut:

LP/etc/passwd

Temelde, Biz UNIX parola dosyası basılmış. Her zaman mevcut ve kutudan, her zaman tek bir sayfa. Eğer standart UNIX parola dosyası aşağıdakine benzer:

Smith:*:100:100:8A-74(Office):/Ana sayfa/smith:/usr/bin/sh Konuk:*:200:0::/Ana sayfa/misafir:/usr/bin/sh  

Biz şifre dosyayı tekrar tekrar birkaç hafta için baskı ve doğru baskı oldu. Ancak, son kullanıcıya, "yazdırma çöp" yapıldı..

</sonunda>

Henüz başka bir ağ kimlik bilgileri çok meydan okuma sorunu ve çözümü

Müvekkilim, Geçenlerde sihirli bir aygıttan yüklü Ardıç Bu görünüşte onların eski Cisco ağ yük dengeleyici yerine (NLB). Aynı zamanda hakkında, Biz yüklü bir iş akışı sorunu için düzeltme.

Bir veya iki gün sonra, paylaşılan hizmet sağlayıcısı erişirken bir sorun fark ettim (SSP). Biz-ebil almak için, Ama biz bir kullanıcı kimliği ve parolası her sayfada birçok kez meydan. Bu ana portal uygulaması ile olmadı, ne de Yönetim Merkezi. Doğal olarak, hangi iki bilmiyordum (Ardıç veya düzeltme) Konu-cekti var olmak, Yine de şiddetle düzeltmeyi şüphesi, Biz yüklü o çok haklı bulmaktan.

Ardıç sıkıştırma ayarını bir tür vardı çıktı. Biri kaftanlı rakamlar Ağ grubu bu yola devretmiştir. Bu bizim sorunu çözüldü.

Bu sıkıştırma SharePoint sorunun kök nedeni benim için olmuştur ilk kez değil. IIS sıkıştırma olumsuz nokta Net Factory iyi insanlardan 3rd eğlenti alet IE için etkilenen. 6 tarayıcılar (IE 7 zorluk olmadan çalıştı tarayıcılar).

Yani, "sıkıştırma eklemek" tehlikeleri listesi.

</sonunda>

İçin kredi: http://www.elfwood.com/art/s/h/sherry/death_colour.jpg.html

Technorati Tags: ,

Blogging peron değiştirme hakkında düşünme

"Bloglama kariyer başladı." istimal Microsoftâ € ™ s platform ve o benim için iyi oldu. Sonrası kolaydır, iyi seçenek ve "boşluk" yönetmek için widget'ları, iyi web depolama ve benzeri.

Ancak, Gerçekten sadece hemen hemen hiçbir planlama ile MS çözüm içine düştü. Bana nerede olduğumu ve nereye gittiğimi değerlendirmek için yalnız o aramalar, bir bloglama platformu açısından. Ayrıca doğru şimdi vis-à-vis Windows Live Spaces rahatsız iki önemli sınırlamalar vardır.

İlk, I cant'almak çok iyi istatistikler. Durum vardır ama detay kez kesildi ve herhangi bir tür analiz için izin verecek şekilde sunulan değil. Orada hiçbir sıralama veya verme yeteneği. İnsanlar bulmak bilgi türüne dayalı birçok blog fikirleri almak (ya da özellikle bulmak için başarısız) Ne zaman onlar benim blog arama. Bunun için hayatını alanlarda kullanmak çok zor.

İkinci, değil gibi görünüyor "para kazandırmak için herhangi bir mekanizma" windows live alanı blog. Aslında, MS reklamlar kurtulmak için (hangi ben hiçbir yarar elde), Aslında Microsoft ödemeniz gerekiyor. (En azından, o değil ne anlıyorum; Bu kesin cevaplar ve sorular böyle olsun geçiremedi).

Kurulan desen ve bloglama alışkanlıkları bir dizi var, Diğer seçenekleri değerlendirmek istediğiniz. Biraz araştırma yaptım ve çok fazla seçenek vardır, Ama ne diğer insanlar gibi merak ediyorum, özellikle başkalarının SharePoint topluluk (blogcular veya okuyucu olarak), kullanmak ister.

Bu konuda sizi ilgilendiren ve bir görüş veya deneyimlerinizi paylaşmak için istekli olan varsa, Lütfen yorum bırakmak veya e-posta bana doğrudan.

Teşekkürler!

<sonunda />

Technorati Tags:

SharePoint Designer e-posta gönderir ???? e-posta ile

Zaman zaman forum kullanıcıları isteyin: Neden SharePoint Designer koyuyor mu ???? bir alan değerinin yerine benim email?

Sevk değişkeni null olduğu için böyle bir nedenidir.

"Geçerli öğedeki bir alana başvuruda bulunmak çalıştığınız için bu olabilir" Ama kullanıcı hiç bir değer bu form alanı girdi..

<sonunda />

Technorati Tags:

Karşılaştır / SharePoint Designer Workflow boş tarihler için test

Senaryo: Bir SharePoint Designer workflow, bir tarih alanı boş olup olmadığını belirlemek gerekir.

Sorun: SPD bir tarihi dışında bir tarih karşılaştırmak için doğrudan bir yöntem sağlamaz. Böyle bir durumu oluşturamıyor: "Eğer [DateField] boş eşittir".

Çözüm: Tarihi bir dizgeye dönüştürür. Dize karşılaştırma tarihi boş olup olmadığını belirlemek için kullanın.

Ekran görüntüleri:

Aşağıdaki ekran görüntüleri bunun nasıl yapılacağını göster. Bu senaryoda, bir öğe üzerinde bir alan, "Çevre izni:İlk anımsatıcı tarihi izin", gönderilen ve iş akışı yanıt olarak harekete.

görüntü

görüntü

Notlar:

Ne zaman ı güvenilir bu, Bunun işe yaradığını öğrenmek hoş şaşırdı. SharePoint Designer dize atama izin verme merak ettim (Değişken:StringReminderDateDate) Ama o izin vermedi.

Ayrıca bu izin verilmesi söz konusu, değer null ve çalışma zamanında WF ya havaya bırakılabilecek veya belki de küresel sıcaklık yükseltmek 1/2 bir derece, Ama endişeleri asılsız olduğunu.

</sonunda>

Technorati Tags:

Bar MOSS genişletmek için hala oldukça yüksek olduğu

Bugün, Ben bir müşteri ile çalışıyor ve içerik sorgusu web bölümü'nü değiştirme ve bir içerik türü bilgileri ek parçaları görüntülemek nasıl açıklayan.

"İlk, CQWP, veri kaynaklarına bağlanmak için yapılandırın, o zaman iş istasyonu için dışa aktarma, değiştirme <CommonViewFields>, karşıya yükleme, orijinal kaldırmak ve artık ' astarlanmalıdır’ diğer sütunları görüntülemek için. Sonraki, SharePoint designer aç, site koleksiyonunun kök dizinine gidin ve ItemStyle.xsl bulun. Şablonlarından birini yararlı başlangıç noktası olarak kopyalama. Geri gitmek ve yapmak CQWP değiştirmek bu yeni şablon / kullanın. Nihayet, Yeni alanlarınızı oluşturmak için şablonu üzerinde değişiklik yapma! (Böylece diğer kullanıcıların geri içinde sonuçları görmek kontrol etmeyi unutmayın)."

Benim için hepsi çok açık (ve çoğumuz SharePoint geliştirici tipleri) Neler olduğunu ve ne kadar çok güzel, Gerçekten, CQWP veri alma yönlerini çok iyi-gelen veri sunum yönlerini ayrı. Ama, açıklamak çok kolay değil., Bu?

<sonunda />

İçerik Sorgusu Web Bölümü sonuçları kılavuzunda / Tablo

Genel bakış ve amaç

Kutunun dışında, YOSUN’ İçerik Sorgusu Web Bölümü (CQWP) sonuçları liste biçiminde görüntüler., Arama sonuçlarına benzer. Sonuçları kılavuz biçiminde görüntülemek mümkündür (Yani. HTML tablo biçiminde). Kılavuz biçimleri bazı durumlarda daha iyi.. Ben bu yazıda bu etkiyi elde etmek nasıl tarif.

İş senaryosu

Bir kuruluş çapında MOSS rollout bir müşteriyle çalıştım. Projeler sıradüzeni içindeki ilk sınıf vatandaş ve kullanıcıların kendi üst düzey site vardır öyle ki onların taksonomisini tasarladık. Proje yöneticileri proje özet bilgileri, aynı cinsten tek adet listesini korumak, gibi başlık, bütçe, beklenen tamamlanma tarihi, kalan bütçe ve diğer Özet türü alanları. "Singleton tarafından" Demek istediğim sadece bir öğe içermesi için garantili özel bir SharePoint listesi. Basitçe, Bu gibi görünüyor:

görüntü

Teknik yaklaşım çok açıklananla aynıdır Burada (http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!447.entry). CQWP işlemek için tarayıcı için HTML yayılmasını sağlamak için bir XSL Dönüşümü kullanır.

Ben her zaman sonuç XSL bir kâbus çünkü XSL dalış önce öngörülüyor. İşte benim istenilen sonucu:

görüntü

Bu sonucu bu HTML oluşturur:

<HTML>
 <vücut>
 <Merkezi>
 <Tablo Kenarlık= 1>

<!-- Etiketleri...>
 <tr bgcolormavi =>
 <TD><yazı tipi RenkBeyaz =><b>Proje adı</b></yazı tipi></TD>
 <TD hizalamasağ =><yazı tipi RenkBeyaz =><b>Tam bir Tarih</b></yazı tipi></TD>
 <TD hizalamasağ =><yazı tipi RenkBeyaz =><b>Bütçe</b></yazı tipi></TD>
 <TD hizalamasağ =><yazı tipi RenkBeyaz =><b>Gerçek gider</b></yazı tipi></TD>
 <TD><yazı tipi RenkBeyaz =><b>Genel durum</b></yazı tipi></TD>
 </tr>

<tr>
 <TD>Bilgisayar odası yeniden tel.</TD>
 <TD hizalamasağ =>02/01/08</TD>
 <TD hizalamasağ =>22,500.00</TD>
 <TD hizalamasağ =>19,000.00</TD>
 <TD>Devam eden</TD>
 </tr>

<tr>
 <TD>Hüküm sunucuları SQL yükseltmek için</TD>
 <TD hizalamasağ =>04/01/08</TD>
 <TD hizalamasağ =>7,500.00</TD>
 <TD hizalamasağ =>0.00</TD>
 <TD>Planlanan</TD>
 </tr>

</Tablo>
 </Merkezi>
 </vücut>
</HTML>

Yaklaşım

Kılavuz oluşturmak için aşağıdaki adımları izleyin:

  1. Izgara bileşenleri belirle (satır/sütun).
  2. Gerekli site sütunları oluşturun ve tanımlayın.
  3. Projeler ve aynı cinsten tek adet listeler için alt site oluşturma.
  4. CQWP bir web sayfasına ekleyebilir ve listeleri için arama için yapılandırın.
  5. Ek sütunları toplamak için CQWP'in XML değiştirme.
  6. Bir tablo oluşturmak için XSL değiştirme.

Altı numara üzerinde konsantre olmaya gidiyorum. Dörde numara düz ileri ve herhangi bir CQWP kullanıcı zaten yaptığı bir şey vardır. Beş numaralı başkaları bu ayrıntılı ekran-shot bin Ladin'in makale--dan MSDN de dahil olmak üzere tarafından iyi belgelenmiş oldu Burada (http://msdn2.microsoft.com/en-us/library/bb897399.aspx) ve Heather Solomon's blog Burada (http://www.heathersolomon.com/blog/articles/CustomItemStyle.aspx).

Somun ve civata

Başlar ve birden beşe MSDN belgeleri ve Heather Süleyman'ın makale başına adımları uygulamak.

Bu noktada, Senin CQWP sayfaya ekledik ve var senin <CommonViewFields> gerektiği gibi yapılandırılmış.

Her zamanki gibi adımları takip, Bu ara sonuçlar elde:

1. İçerik türü oluştur, şablonlaştırılmış özel bir liste içerik türü ve iki site için. İşte içerik türü:

görüntü

İşte site yapısı:

görüntü

2. Benim proje alt siteler ve aynı cinsten tek adet proje özet liste oluşturduktan sonra CQWP Ekle:

görüntü

3. Via istediğim tüm ek bilgileri ekleyin <CommonViewFields>:

        <özelliği adı="CommonViewFields" türü="dize">Project_x0020_Name;Project_x0020_Expenses;Project_x0020_Status;Project_x0020_Start_x0020_Date;Project_x0020_End_x0020_Date;Project_x0020_Budget</özelliği>

Bir satır veya tüm özellik alanları tutmak zorunda notu-cekti değil iş (CQWP sorgu öğe döndürülen söylerdin).

4. Bu noktada, MSDN makalesine taşımak hazır olduğumuzu ve flip üzerinde Heather Süleyman'ın makale. Adım başlayan onun adımları izleyin #5 özelleştirilmiş oluşturmak için / unghosted yorum-in ItemStyle.xsl. Heather'ın tavsiyelerine uymak, yukarı adım adım 11 ve bu ara sonuçlar elde:

4.1: Aşağıdaki gibi benim XSL şablon adı:

<XSL:Şablon adı "Kılavuzu =" maç "satır =[@Style = 'Tablo']" Mode = "ItemStyle">

Ayrıca biraz ona önerilen değiştirme <XSL:for-each …> ekleyerek bir <br /> temiz bir liste sağlamak için etiket:

    <XSL:for-each seçin="@*">
      P:<XSL:value-of seçin="adı()" /><br/>
    </XSL:for-each>

4.2: Web bölümü'nü değiştirme, görünümüne gidin ve kılavuz"seçin" Stil:

görüntü

Değişikliği uygulayın ve sonuç:

görüntü

Biz yukarıda istediğimiz alanlar görebilirsiniz (Proje adı, gider, durumu, vb) bizim için ne zaman biz HTML yayarlar kullanmak kullanılabilir. Sadece bu değil, Ama biz hangi tarafından biz XSL bu sütunlar başvuru gerekir adlarını görmek. Örneğin, Biz proje durumu "Project_x005F_x0020_Name" referans.

Bu noktada, Heather'ın blog ve bu devlerin omuzları hareket, Kendi parçada.

ContentQueryMain.xsl

NOT: Hem ContentQueryMain.xsl hem de ItemStyle.xsl değişiklik yaparken, kontrol değişikliklerinizin etkisini görmeden önce bu dosyaları geri gerek.

Izgara yapma amaçlı, Biz bir CQWP görmek sonuçlar üretmek için iki farklı XSL dosyaları MOSS kullanır. Önceki bit çıkış oluşturmak için, ItemStyle.xsl modifiye. MOSS, aslında başka bir XSL dosyası kullanır, Kendi HTML oluşturmak için ItemStyle.xsl ile birlikte için ContentQueryMain.xsl. Adından da anlaşılacağı gibi, "Ana ContentQueryMain.xsl olduğunu" Çeviri genel akışını kontrol XSL. Bulunan öğeler arasında sırayla dolaşır ve ItemStyle.xsl içinde tek tek şablonlarına geçirir. ItemStyle.xsl açık oluşturmak için değiştirmeden <Tablo> ilk satır veri ve kapanış yayan önce etiketi <Tablo> son satırı yayan sonra etiketi. Bunu gerçekleştirmek için, Bizim "kılavuz için iki parametre iletmek için ContentQueryMain.xsl modifiye" ItemStyle.xsl şablonu, "son satırı" ve "geçerli satır". ItemStyle.xsl bunlar koşullu olarak gerekli Etiketler yayılmasını sağlamak için kullanır.

Heather Süleyman'ın tekniği kullanılarak, Biz ContentQueryMain.xsl bulun. Bu ItemStyle.xsl olarak aynı yerde bulunur. Bu ekran görüntüsü yardımcı olacaktır:

görüntü

Aşağıdaki değişiklikleri yapmanız gerekir:

  • Bir xsl şablonu değiştirme, "CallItemTemplate" Bu aslında bizim kılavuz şablonunda ItemStyle.xsl çağırır. Böylece koşullu olarak açılış ve kapanış oluşturmak için gerek duyduğu verileri olacaktır Biz iki parametre kılavuz şablon geçecek <Tablo> Etiketler.
  • "CallItemTemplate çağırır ContentQueryMain.xsl başka bit değiştirmek" "LastRow geçmek için" Böylece o LastRow bizim kılavuz şablonunu aktarılabilir parametresi.

"OuterTemplate.CallItemTemplate adlı şablonu bulun" dizesinde tanımlanan:

  <XSL:Şablon adı="OuterTemplate.CallItemTemplate">

Tüm şablon aşağıdaki gibi değiştirin:

  <XSL:Şablon adı="OuterTemplate.CallItemTemplate">
    <XSL:param adı="CurPosition" />

    <!--
      "LastRow Ekle" parametre.
      Biz sadece öğe stili geçişte "Kılavuz" olduğunda kullanmak.
    -->
    <XSL:param adı="LastRow" />

    <XSL:seçin>
      <XSL:Ne zaman test="@Style 'NewsRollUpItem' =">
        <XSL:uygulama şablonları seçin="." modu="ItemStyle">
          <XSL:param ile adı="EditMode" seçin="$cbq_iseditmode" />
        </XSL:uygulama şablonları>
      </XSL:Ne zaman>
      <XSL:Ne zaman test="@Style 'NewsBigItem' =">
        <XSL:uygulama şablonları seçin="." modu="ItemStyle">
          <XSL:param ile adı="CurPos" seçin="$CurPosition" />
        </XSL:uygulama şablonları>
      </XSL:Ne zaman>
      <XSL:Ne zaman test="@Style 'NewsCategoryItem' =">
        <XSL:uygulama şablonları seçin="." modu="ItemStyle">
          <XSL:param ile adı="CurPos" seçin="$CurPosition" />
        </XSL:uygulama şablonları>
      </XSL:Ne zaman>

      <!--
              Geçerli konum ve lastrow kılavuz itemstyle.xsl þablona geçirmek.
              ItemStyle.xsl bunu açığa çıkarmak için kullanacak ve kapanış <Tablo> Etiketler.
      -->
      <XSL:Ne zaman test="@Style = 'Tablo'">
        <XSL:uygulama şablonları seçin="." modu="ItemStyle">
          <XSL:param ile adı="CurPos" seçin="$CurPosition" />
          <XSL:param ile adı="Son" seçin="$LastRow" />
        </XSL:uygulama şablonları>
      </XSL:Ne zaman>

      <XSL:Aksi takdirde>
        <XSL:uygulama şablonları seçin="." modu="ItemStyle">
        </XSL:uygulama şablonları>
      </XSL:Aksi takdirde>
    </XSL:seçin>
  </XSL:Şablon>

Yorum değişiklikleri amacını açıklayın..

Elbette, "OuterTemplate.CallItemTemplate" kendisi başka bir şablon adı neydi. Bu şablon için bu metin dizesi arayarak bulun:

<XSL:Şablon adı="OuterTemplate.Body">

OuterTemplate.Body bu yönergeleri kaydırmak ve LastRow parametre aşağıdaki gibi yerleştirin (yorum italik olarak gösterilen):

<XSL:Call-template adı="OuterTemplate.CallItemTemplate">
  <XSL:param ile adı="CurPosition" seçin="$CurPosition" />
  <!-- LastRow parametre Ekle. -->
  <XSL:param ile adı="LastRow" seçin="$LastRow"/>
</XSL:Call-template>

Bütün bunlardan sonra, sonunda şeyler bizim ItemStyle.xsl yayarlar olabilir böylece düzgün kurmak var. <Tablo> Etiketler doğru yerde.

ItemStyle.Xsl

NOT: Tekrar, ItemStyle.xsl herhangi bir değişiklik yaptıktan sonra bu değişikliklerin etkisini görmek kontrol.

Burada iki görev var:

  • Tüm kılavuz şablonunu değiştirmek. Sen kopya/aşağıdan hamur.
  • "Formatcurrency sağlar şablon tanımının dışında bazı mırıldanmak jumbo Ekle" çalışmak için şablon. (XSL üzerinde ince bir kolu var söyleyebilirim).

İlk, ItemStyle.xsl üst kısmında, Bu satırı ekleyin:

  <!-- ABD görüntülemek sağlar bazı mırıldanmak jumbo. para birimi. -->
  <XSL:ondalık biçimi adı="personel" basamak="D" />

  <XSL:Şablon adı="Varsayılan" maç="*" modu="ItemStyle">

Not doğrudan daha önce eklediğim <XSL:Şablon adı "varsayılan =" …> tanımı.

Sonraki, bizim kılavuz şablona geri dön. Tüm kılavuz şablonu aşağıdaki kod ile değiştirin. İyice yorumladı, Ama bana e-posta veya sorularınız varsa, blog sayfamda yorum çekinmeyin.

  <XSL:Şablon adı="Kılavuz" maç="Satır[@Style = 'Tablo']" modu="ItemStyle">

    <!--
      CurPos ve son ContentMain.xsl geçer.
      Bunlar koşullu olarak açığa çıkarmak için kullandığımız ve kapanış <Tablo> Etiketler.
    -->
    <XSL:param adı="CurPos" />
    <XSL:param adı="Son" />

    <!-- Aşağıdaki değişkenler standart ItemStyle.xsl değişmemiş -->
    <XSL:değişken adı="SafeImageUrl">
      <XSL:Call-template adı="OuterTemplate.GetSafeStaticUrl">
        <XSL:param ile adı="UrlColumnName" seçin="'ImageUrl'"/>
      </XSL:Call-template>
    </XSL:değişken>
    <XSL:değişken adı="SafeLinkUrl">
      <XSL:Call-template adı="OuterTemplate.GetSafeLink">
        <XSL:param ile adı="UrlColumnName" seçin="'LinkUrl'"/>
      </XSL:Call-template>
    </XSL:değişken>
    <XSL:değişken adı="DisplayTitle">
      <XSL:Call-template adı="OuterTemplate.GetTitle">
        <XSL:param ile adı="Başlık" seçin="@Title"/>
        <XSL:param ile adı="UrlColumnName" seçin="'LinkUrl'"/>
      </XSL:Call-template>
    </XSL:değişken>
    <XSL:değişken adı="LinkTarget">
      <XSL:Eğer test="@OpenInNewWindow 'True' =" >_blank</XSL:Eğer>
    </XSL:değişken>

    <!--
      Buraya bir değişken tanımlamak, "tableStart".  Bu açılış tablo hem de sütun etiketlerini tanımlamak için kullanın HTML içeriyor.  Unutmayın CurPos = 1, bir CDATA etiketi içerisinde HTML içerir.
      Aksi takdirde, boş olacaktır.

      ItemStyle ContentQueryMain.xsl yolu ile adlandırılır her zaman tableStart emited değeridir.
    -->
    <XSL:değişken adı="tableStart">
      <XSL:Eğer test="$CurPos = 1">
        <![CDATA[
        <tablo kenarlığı = 1>
          <tr bgcolor = "blue">
            <TD><yazı tipi rengi "beyaz" =><b>Proje adı</b></yazı tipi></TD>
            <TD align = "sağ"><yazı tipi rengi "beyaz" =><b>Tam bir Tarih</b></yazı tipi></TD>
            <TD align = "sağ"><yazı tipi rengi "beyaz" =><b>Bütçe</b></yazı tipi></TD>
            <TD align = "sağ"><yazı tipi rengi "beyaz" =><b>Gerçek gider</b></yazı tipi></TD>
            <TD><yazı tipi rengi "beyaz" =><b>Genel durum</b></yazı tipi></TD>
          </tr>
        ]]>
      </XSL:Eğer>
    </XSL:değişken>

    <!--
      Başka bir değişken, tableEnd sadece kapanış tanımlar tablo etiketi.

      TableStart olduğu gibi, her zaman emited olduğunu.  Bu yüzden değerini koşullu olarak bağlı olup son satırı ContentQueryMain.xsl tarafından geçtik atanır.
    -->
    <XSL:değişken adı="tableEnd">
      <XSL:Eğer test="$CurPos $Last =">
        <![CDATA[ </Tablo> ]]>
      </XSL:Eğer>
    </XSL:değişken>

    <!--
      Her zaman tableStart içeriğini yayarlar.  Bu bize ContentQueryMain.xsl tarafından geçirilen ilk satır değilse, o zaman biliyoruz değeri boş olacaktır.

      Çünkü çıkış kaçan devre dışı bırakmak ne zaman tableStart değil boş, tarayıcı tarafından işlenip istediğiniz gerçek HTML içerir.  Biz anlatmazsan, devre dışı bırakmak için XSL ayrıştırıcısı kaçan çıkış, Bu gibi şeyler oluşturur"&lt;Tablo&gt;" yerine "<Tablo>".
    -->
    <XSL:value-of seçin="$tableStart" sakatlar çıkış kaçan="Evet"/>


    <tr>
      <!--
      P:Project_x005F_x0020_Name P:Project_x005F_x0020_End_x005F_x0020_Date P:Project_x005F_x0020_Budget P:Project_x005F_x0020_Expenses P:Project_x005F_x0020_Status
      -->
      <TD>
        <XSL:value-of seçin="@Project_x005F_x0020_Name"/>
      </TD>

      <TD hizalama="sağ">
        <XSL:value-of seçin="@Project_x005F_x0020_End_x005F_x0020_Date"/>
      </TD>

      <TD hizalama="sağ">
        <XSL:Call-template adı="formatCurrency">
          <XSL:param ile adı="değer" 
seçin="@Project_x005F_x0020_Budget"></XSL:param ile> </XSL:Call-template> </TD> <TD hizalama="sağ"> <XSL:Call-template adı="formatCurrency"> <XSL:param ile adı="değer" seçin="@Project_x005F_x0020_Expenses">
</XSL:param ile> </XSL:Call-template> </TD> <TD> <XSL:value-of seçin="@Project_x005F_x0020_Status"/> </TD> <!-- Tüm aşağıdaki yorumladı dışarı şeyleri açıklamak için. Ancak, geri getirmek ve malzeme o içine bir <TD> etkisini görmek için. --> <!-- <div kimliği "linkitem =" sınıf "öğe" => <XSL:Eğer test "dize uzunluğu =($SafeImageUrl) != 0"> <div class = "resim alanı sol"> <bir href = "{$SafeLinkUrl}" hedef = "{$LinkTarget}"> <img sınıf "görüntü-sabit genişlikli =" src = "{$SafeImageUrl}"
alt = "{@ImageUrlAltText}"/> </bir> </div> </XSL:Eğer> <div class = "bağlantı-madde"> <XSL:Call-template
Name="OuterTemplate.CallPresenceStatusIconTemplate"/> <bir href = "{$SafeLinkUrl}"
hedef = "{$LinkTarget}" Title = "{@LinkToolTip}"> <XSL:Seçme değer-in "$DisXSLyTitle" = /> </bir> <div class = "açıklama"> <XSL:değer-in select="@Description" /> </div> </div> </div>
--> </tr> <!-- Kapanış yayarlar masa etiketi. Son satırda ise değil, Bu-ecek var olmak boş. --> <XSL:value-of seçin="$tableEnd" sakatlar çıkış kaçan="Evet"/> </XSL:Şablon> <XSL:Şablon adı="formatCurrency"> <XSL:param adı="değer" seçin="0" /> <XSL:value-of seçin='Format-number($değer, "$DDD,DDD,DDD.DD", "personel")' /> </XSL:Şablon>

Standart WSS/yosun veri giriş ekranları basamaklı açılır listeleri desteklemiyor (veya diğer intra-iletişim)

GÜNCELLEŞTİRME (04/2008): Bu sorun için bir iyi javascript dayalı yaklaşım bu büyük blog girdisini gösterir: http://webborg.blogspot.com/2008/04/add-functions-and-events-to-sharepoint.html

II GÜNCELLEME: (04/2008): Bu blog girdisi de umut verici görünüyor: http://www.cleverworkarounds.com/2008/03/13/free-mosswss-2007-web-part-hide-controls-via-javascript/

Haftada birkaç kez, Eğer değil günlük, Forum kullanıcıları normalde basamaklı açılır listeleri tanıştım bir gereklilik açıklamak. Örneğin, I-si olmak iki açılır denetimi:

  • ABD listesi. Birleşik
  • ABD listesi. şehirler.

Sorumlu kullanıcı Arabirimi sağlayıcıları olarak, Biz böyle çalıştırmak istiyorum:

  • Paul bir ABD seçer. aşağı açılan devlet.
  • Bu şehirler sadece seçili durumuna ait şehir filtre uygulamak için açılan neden olur.
  • Paul bir şehir filtre uygulanmış listeden seçer..

Bu özellik için out-of--box destek. Aslında, OOB destek her türlü doğrudan içi-form iletişim. Bu program aracılığıyla herhangi bir konumda bulunan formu alan değişiklikler karşısında gizleme/etkinleştirme/devre dışı bırakma alanları içerir.

İçin olası çözümler ve bunlar tanımlamak için bu makalenin gerçek amacı olan seçenekleri onları biliyorum:

  1. Özel sütun türü geliştirmek. Özel sütun geliştirici olarak, "dünya üzerinde tam kontrole sahip" Bu özel sütun. Bu şekilde açılan basamaklı uygulayabilirsiniz.
  2. İş akışı kullanmayı düşünün. Bazı durumlarda, otomatik olarak başka bir alanın değerini temel alan bir değer atamak istediğiniz. Bu durumda, normalde bir hesaplanan sütun kullanmayı denemek istiyorsunuz, ama bazı zamanlarda, Onu sadece işini alamazsın. SharePoint Designer iş akışı kodu ve visual studio bırakarak bir nispeten yönetmek dostu alternatiftir. Eğer bu yol gitmek, tarafından açıklanan sorunun farkında olmak Bu makale (http://paulgalvin.spaces.live.com/blog/cns!CC1EDB3DAA9B8AA!405.entry).
  3. Olay işleyicileri: İş akışı gibi, Bu bir gerçek sonra çözümdür. Bir .NET derlemesi, işleyicidir (C#, VB.NET) Hangi SharePoint için denetim geçer. Geliştirdiğiniz nesne listesinin veri erişimi (ve tüm nesne modeli) ve gerekli herhangi bir hesaplama yapabilir.
  4. Özel giriş formları oluşturmak için SharePoint Designer'ı kullanın. Bu yaklaşım ile doğrudan deneyimi yok, but I hear they are doing good things with NewForm.aspx these days 🙂
  5. Kendi ASP.NET veri girişi işlevi rulo (tek başına bir web sayfası veya web bölümü) ve bunun yerine kullanmak.

Herkes başka/veya daha iyi seçenekler bilir, Yorum yazmak için lütfen ve ben bu yazı gövdesini güncelleriz.

<sonunda />

Technorati Tags:

Evet/Hayır (onay kutusu) İçerik Sorgusu Web Bölümü'nde filtreleme

Evet için bir sorgu için filtre/hiçbir onay kutusunu "PG dönüm noktası" başlıklı, CQWP bu şekilde yapılandırın:

görüntü

Bu da açık-bir kez-sen-biliyorum-o ama hard-to-find-an-answer-to sorulardan biridir: Nasıl bir Evet filtre/içerik sorgusu web bölümünü kullanarak onay kutusu.

İlk Arama sonucu Arama terimi "filtre Evet/Hayır içerik sorgusu web bölümünü kullanarak bulun." düz dışarı var, Ben de düşündüm ki ben bu koy ve tipik arama sonuçlarında yanlış sonuç yerini alabilir görmek.

Oldukça kolaydır: Gerçek değer = "1" ve "1 yanlış değerleri eşit değildir" (güzel retro, Aslında).

Yukarıdaki örnekte, Evet/Hayır"site sütun türü oluşturulan (onay kutusu)" adlandırılmış "PG kilometre taşı". Bir doktor kütüphanesine eklenir, bazı belgeleri karşıya, bir çift değerini ayarlayın ve test.

<sonunda />