Hızlı ve basit: SharePoint nesne modeli C# içinde kullanarak Web sitesi hazırlamak

I güvenilir araştırıcı için nasıl bir site koleksiyonunda yeni bir SPWeb oluşturabilirsiniz göstermek küçük bir pasajı kod. Birlikte konuyla ilgili küçük bir giriş vuracağımı düşündüm ki beklediğim gibi hızlı bir şekilde veya kolayca olarak bulamadım.

Bu kod, yeni bir Wiki sitesi oluşturur.:

 SPSite siteCollection;

    siteCollection = Yeni SPSite("http://conchang-o9l8qi");

    SPWeb w = siteCollection.OpenWeb();

    w.Webs.Add("xyzzy", "xyzzy başlık",
        "xyzzy açıklaması", 1033, SPWebTemplate.WebTemplateWIKI, yanlış, yanlış);

I was seyir için "sharepoint nesne modelini kullanan bir web sitesi hazırlamak gibi ifadeler benim ilk arama başarısız oldu" ve benzeri.

Eğer sen Arama "Webs.Add için()", çok faydalı blog girdileri bir dizi bulabilirsiniz, MSDN makaleleri ve bir derinlik içine bu konuda gitmek SDK belgeleri. Ben kesinlikle tavsiye ederim Bu site.

</sonunda>

Benim blog abone.

Technorati Tags:

SharePoint Designer iş akışları Web servisleri ile entegre

Özel eylemler için SharePoint Designer ile bir süredir oynuyorum (Buraya bakın Detaylı şeyler için, Eğer ilginizi).

Benim geçerli projede, Biz bazı oldukça ağır işi yapmak gerekir ve ilişkili iş süreci yönetmek için tanımlayıcı SPD iş akışı kullanmak istiyoruz.

Uzun lafın kısası, Bu tamamen mümkündür. Benim Codeplex Projesi "Yardımcısı hizmeti çağırmak için genişletilmiş" ve şimdi bir web hizmetten doğrudan bir SPD iş akışı çağırabilirsiniz.

İşte imzası:

 Genel dize Dağıtıcı(
        GUID WebID, // Çalışma zamanı ortamı tarafından geçirilen
        GUID Site Kimliği, // Çalışma zamanı ortamı tarafından geçirilen
        dize ListId, // RTE tarafından geçirilen (bilmiyorum bu yüzden bu bir dize, bir GUID)
        int ListItemID, // RTE tarafından geçirilen.
        dize XmlMessage) // SPD'de ilan gibi kullanıcı tarafından geçirilen.

Bu önemli iş akışı bilgilerini alabilirsiniz Aslında güçlendirir, site gibi, liste kimliği, vb. Bu iyi o kendi özel eylemler oluşturmak istiyorsanız sizin için çeşitli yerlerde belgelenmiştir. Bir fikir olarak uygun bir yordam gönderme için kullanıcı tarafından sağlanan XML dizesi ayıklamak için. Eğlenceli sayfalar!

Ne yazık ki, Bu tabii ki aşağı gidiş bileti vardır. "Loosey alışıyorum" Anti-desen arazi, ama bir tuğla duvara çarpmaktan daha iyidir 🙂

Anti-bir model olduğunu bilmene rağmen bunu Anti-bir desen var mı?

Bu yakın gelecekte Codeplex içinde tamamlamayı umuyoruz. Bana bunu yaparken ilgileniyorsanız, poke ver (E-posta ya da bir yorum bırakın) ve bunu yapma konusunda çok daha hevesli olacağım 🙂

</sonunda>

Benim blog abone.

Technorati Tags: ,

Pazar komik: “Parolanızı olup olmadığını merak ediyorum. …”

Son zamanlarda kardeşim için yemek satın (her zamanki gibi) ve bizim ilgili üniversitelere yaptık komik şeyler hakkında konuştuk. Benim alma mater, Lafayette Koleji, Bu konuda çok kapsamlı bir şekilde akademik destek BT bölümü vardı. Biz çok ip verildi ve zaman zaman bu avantajı aldı.

İki ilgili en sevdiğim anılarımdan en iyi arkadaşım, Gabe. O "Ben birinci sınıftayım onun birinci sınıf insanlar söylemek korkunç hata yapmıştı, Ama ikinci ayakta" nedeniyle çeşitli gelişmiş yerleştirme sınıflar o almıştı., vb. Pek çoğumuz benzer şekilde yer ama bu konuda çok konuşmazdı. Son senesinde, Ne zaman onu insanlara tanıtıldı, Biz "Bu Gabe olduğunu söyleyebilirim. Son sınıfta, Ama ikinci ayakta ".

Kolej bazı güneş iş istasyonu/X-Window çalıştıran sunucuları vardı. Devasa monitörler yaptılar ve mühendisler onları CAD ve diğer sıkıcı mühendis şeyler için kullanılan. Biz CS insanlar onları programlama öğrenmek için kullanılan ve, Elbette, oyun oynamak için.

Çok yapmak bizim en sevdiğim şeylerden biri kutu Telnet onlar olurdu böylece bilgisayar çaresiz mühendisleri üzerinde olduğunu ve çalıştırmak gibi değil X-göz üzerlerine. Bu bir çift ekran üzerinde fareyi takip göz kadar pop. Daha da pop olabilir ve kelimenin tam anlamıyla bir düzine ya da daha fazla çalışan X-göz uygulamalar olmak. Try not to laugh out loud when a hapless engineer is trying to close X-eye after X-eye and muttering under his breath about it 🙂

Biz de bu kutulara X-trek oynadı. Bunun için, kaynak indirmek zorunda kaldı, her yerde onları bulmak ve onu inşa çeşitli bağımlılıkları almak. Sofistike bir C programcısı değildi, Ama başlık dosyaları okuyabilir. Bunlar arama ve yönergeleri gibi bulundu "#DEFINE MAX_TORPEDO_DISTANCE 10". Ben aşamaları ve torpidolar için aralığı ve güç artıran etrafında oynanan, yeniden inşa ve oynanan bir dahaki sefere Gabe yok etti.

Gabe, aynı zamanda TV şovuyla büyük bir hayranı oldu Blake'in 7. Hiç görmemiştim, ama ısrar gelen benim önlemek değil ki Dr. Üstün göstermek kim. The arguments would get heated at times 🙂

Bir gün, Muhtemelen onun UNIX parola tahmin aklıma. Bir gün onun yanına oturdu ve yüksek sesle bir tonda duyurdu, "Ben şu anda parolanızı tahmin edeceğim, Gabe." "Evet, sağ" onun cevap oldu. O zaman ı logged içinde, onun kullanıcı id girdi, Onunla yüzleşmek için döndü, yazdığınız ve yüksek sesle söyledim, "Ben B-L-A-K-E-7 olup olmadığını merak ediyorum" ? Dokunmatik yazarak asla o gün olduğu gibi handsomely ödedi.

Gelecek hafta (ya da yakında): Daha fazla bilgisayar Oda antics College.

Paylaşmak için var mı? Bırak bir yorum veya e-posta beni ve ben onları burada yayımlayalım.

</sonunda>

Benim blog abone.

Technorati Tags:

Küçük açıklama: Windows Canlı Güvenlik ayarlarını ve kontak alanı sahipleri

Ben mesajları bir avuç bireyler üzerinden dahili "bir mesaj almak" işlev Microsoft live spaces ile sağlar. (hangi de benim blog ev sahipliği yapıyor) her ay.

Saat üçte, Öyle ki cevap veremezsiniz bu kullanıcıların kendi live spaces hesabı garantiledi. Bu istenmeyen posta önleme özelliği sanırım değil.

</sonunda>

Basit bir açıklama: “Değer beklenen aralıkta değil.”

GÜNCELLEŞTİRME: Anonim bir poster iç adları hakkında harika bir yorum yaptı. Bu okuyun..

Olay alıcıları ve SharePoint liste öğelerini nesne modeli aracılığıyla başvuran başka bir kod ile çalışırken, Genellikle, çalışma zamanında bu hata hata yapar:

Yükleme hatası ve olay alıcı Conchango.xyzzyEventReceiver xyzzy içinde çalışan, Sürüm 1. 0 =, Kültür tarafsız =, PublicKeyToken = 0dc50a750396c3ac. Ek bilgiler aşağıda.. : Değer beklenen aralıkta değil.

Bu potansiyel olarak birçok farklı yolu neden olduğu oldukça genel bir hata olduğunu düşünüyorum. Ancak, bir alanı hatalı olarak başvuran basit bir açıklama olduğunu. Alan adı "Son tarih" ise, Böyle bir olay alıcı başvurmalıdır:

özellikleri.ListItem["Son tarih"]

Ne zaman hata hatalı veya yanlış durum alanı başvururken kullanmak, SharePoint oluşturur yukarıda belirtilen çalışma zamanı hatası. Örneğin, Bu yanlış bir şey:

özellikleri.ListItem["son tarih"]

</sonunda>

Benim blog abone.

Technorati Tags:

Son kullanıcı hızlı ipucu: Bir belge kitaplığında sıralama sayısı, Liste, vb.

Biz yapabilirsiniz, ve birçok kez SharePoint listeleri oluşturmanız gerekir (belge kitaplıkları, Özel listeler, vb). SharePoint her zaman alfabetik sırada kullanılabilir görünümleri listeler. Bunu dışarı kutusunun işlevini kullanarak değiştiremezsiniz. Özelleştirme yapılabilir Eğer (ve bu olabilir emin değilim), çok tipik son kullanıcı için teknik.

Hangi SharePoint sırasını denetlemek istiyorsanız, kullanılabilir görünümleri listeler, Sadece sayı ya da görünüm adının harfine önüne ekleyin, olarak:

1 – Malzeme tipine göre
2 – Tüm belgeler
3 – Son Tarih

-veya-

A – Malzeme tipine göre
B – Tüm belgeler
C – Son Tarih

Ben de amacı kesinlikle bir KPI besleyecek olan Gösterim hazırlandı. Bu adlandırma kurallarını takip:

Z_KPI_[Açıklama]

Bu KPI"nedenleri" Listenin alt kısmında görünmesini views.

</sonunda>

Benim blog abone.

Pazar komik: “Küçük bir çocukken”

Bir ebeveyn olarak, bir yere hat boyunca keşfettiğim "yaşındayken küçük bir çocuk" hüner.

Benim oğlum, Muhtemelen dört ya da beş saat, bir balon oynuyordum ve balon ile oynamak en küçük çocuklar gibi, o attı. O çok üzgün. Dünyanın sonu gelmişti. Ona dedim ki, "ne zaman bir çocuk olduğumu, Bir balon vardı ve o haşhaş ve sonunda, Yeni bir balon var." Bu yol açtı ve onu onun kaybı ile baş yardımcı olmak için görünüyordu küçük bir çocuk olduğum gibi ne olduğunu hakkında konuşmak eğlenceli bir.

Eh, çalışan bir teselli teknik ve sonraki süre içinde birkaç kez kullanılan gibi. Ben bir kez derde ne zaman onun Canavar Rancher 3 yaratık öldü. Ben hakkında konuştuk benim köpek, Prens, bir araba kazasında ölmüştü. Bu sefer, Onun yanıtı yapıldı., "Şimdi ben iki kötü şeyler hissediyorum!" "Ben bir küçük çocukken kullanarak uzak shied" Bundan sonra teselli için teknik.

Ölü köpek olaydan önce, Ancak, Ayrıca işleri yapmak için onu ikna etmeye tekniği kullanmaya başlamıştı. "Küçük bir çocuk olduğum, Dışarı çıkıp, gazete almak zorunda kaldım", "Oda temiz", "Al anne, onu kahve fincanı", vb.

Bu bir süre için de oldukça başarılı, Ama giderek benim çocukluk zulmüne karşı isyan başladı. Bir olay, özellikle, son olarak işaretlenmiş. Çöp kutuları garaja geri kaldırımın getirmek için söyledim. O savundu ve ben cevap verdi, "Küçük bir çocuk olduğum, Çöpü garaja geri gerekiyordu." Diye cevap, "Oh evet! Sen küçük bir çocukken iyi, Bu aptal yapıldı.!".

</sonunda>

Benim blog abone.

Technorati Tags:

Görünümler ve sütunlar liste ve belge kitaplıkları üzerinde güvenli olamaz

GÜNCELLEŞTİRME (02/29/08): Bu yeni codeplex projesi tek tek sütunların güvenliğini sağlamak için bir yöntem sağlamak gibi görünüyor.: http://www.codeplex.com/SPListDisplaySetting. Bu modülle çalışmanın herhangi bir deneyiminiz varsa, yorum lütfen.

Forum poster, sık sık böyle bir soru sormak: "Ben bir Yöneticisi görünümü var ve ve personel listesinin bir görünümü yer bir. Böylece personel kullanabilirsiniz değil nasıl Yöneticisi görünümünü güvenli?"

Onlar da sık sık ilgili bir soru sorabilir: "Diğerleri bile göremeyebilirsiniz iken ancak yöneticiler bu sütunu düzenleyebilirsiniz böylece belirli meta veriler sütun güvenli istiyorum."

Bu cevaplar için her iki WSS uygulamak 3.0 ve yosun:

  • SharePoint sayısı sağlamak için out-of--box destek sağlamaz.
  • SharePoint güvenlik sütunlar için out-of--box destek sağlamaz.

Orada çeşitli teknikler bir bu tür güvenlik gereksinimlerini karşılamak için takip edebilirsiniz. İşte aklıma gelen:

  • Out-of--box öğe düzeyinde güvenlik kullanın. Sayısı her zaman öğe düzeyi güvenlik yapılandırması onur. Olay alıcıları ve/veya iş akışı güvenlik atamasını otomatik hale getirebilirsiniz.
  • "Ayrıcalıklı kişisel görünümleri kullanmak" Görünümler. Bunlar kurmak kolay.. Ancak, "kişisel" Doğa, Bunlar her kullanıcı için yapılandırılması gereken. Başkasının kişisel bir görünüm oluşturmasını engellemek için standart güvenlik yapılandırmasını kullan.
  • Veri Görünümü web bölümü kullanın ve bir çeşit AJAXy güvenlik düzeltme çözümü uygulamak.
  • Kendi liste görüntüleme işlevleri rulo ve sütun düzeyinde güvenlik düzeltme dahil.
  • Veri girişi formları değiştirebilir ve sütun düzey güvenlik düzeltme uygulamak için güvenlik modeli ile birlikte JavaScript kullanın.
  • Veri girişi için bir InfoPath formu kullanın. Sütun-düzey güvenlik düzeltme yoluyla web hizmeti çağrıları için SharePoint ve koşullu olarak gizleme alanları gerektiği gibi uygulamak.
  • Sütun düzey güvenlik düzeltme uygulayan kendi ASP.NET veri girişi işlev rulo.

Bu seçeneklerden hiçbiri gerçekten harika, Ama istersen izlemek için en az bir yol, zor da olsa.

NOT: Eğer herhangi bir bu yollar aşağı gitmek, "eylemler hakkında - unutma> Windows Explorer ile Aç". Emin olmak için bir "arka kapı çalışmıyor emin olmak için bu özelliği ile test istiyorum" ve güvenlik planınız yenilgi.

Eğer sen-si olmak diğer fikirler için veya sütunları veya görünümler güvenliğini sağlama ile deneyimler, Lütfen bana e-posta ya da bir yorum bırakın ve ben uygun olarak bu posta güncelleriz.

</sonunda>

Benim blog abone.

Technorati Tags:

Çabuk uç: İVB ADF sürüm numaraları arkadaşın vardır.

Sana el ADF kodlama eğer sen dosya ve kod/alma/test döngüleri yapıyoruz, yapmak senin hayat hafiflemek için sürüm numarasını kullanın.

İtiraf etmekten nefret ediyorum., Ama o zamana kadar bu hafta, Ben her zaman ADF silme ve yeniden alma. Bu benim iş verisi sütunları kırmak ve bana onları yeniden tel. Tüm gereksiz.

Bu "bunu gördüğünde açıktır" dosya.

Örnek:

<LobSystem
xmlns:XSI="http://www.w3.org/2001/XMLSchema-instance" XSI:schemaLocation="http://schemas.microsoft.com/Office/2006/03/BusinessDataCatalog BDCMetadata.xsd" Türü="WebService" Sürüm="1.2.0.0" Adı="xyzzyDocumentReview" xmlns="http://schemas.microsoft.com/Office/2006/03/BusinessDataCatalog">

Bu sürüm ve yeniden alın değiştirin ve varolan iş verileri sütunu güncelleştirilmiş bir sürümünü otomatik olarak ek yapılandırma gerekmez ile kullanır..

</sonunda>

Benim blog abone.

Technorati Tags:

Çözüm: İVB seçici sonuçları tek bir sütun gösterir

Sağlayan benim devam girişimler içinde bir BDC kullanarak daha kullanışlı arama sütunu, İVB seçici ile bir duvara vurmak. Eğer sen sığınak'görmek, "iş verilerini" türündeki sütunlarla çalışır BDC seçici bir kişi seçici benzer bağlıdır.

Görüldüğü gibi iş verileri sütunu açık kitap simgesine tıklayarak seçicisine erişmek:

görüntü

Yukarıdaki görüntü "Ana belge kimliği" denilen iş verileri sütunu gösterir. Bu sütunun bağlı, BDC ile, bir web hizmetine. Web hizmet iki bilgi sütunu döndürür: Belge kimliği ve başlık. İş amacı burada bir "Bu belge temel alır" işlevi. Bir "ana kullanıcıları seçin" Belge ve ne zaman onlar kaydetmek, bir olay alıcıyı meta veri alanı başvurulan asıl kopyalar..

Varsayılan olarak, İVB seçici kimliğine bir belge için arama yaptığınızda bu gibi görünüyor "38" =:

clip_image002

Bu yardımcı olur, Ama yeterince iyi değil. İnsanların kimliklerini açısından sanmıyorum, başlıklar ve/veya diğer meta veriler açısından düşünüyorlar. Seçici diğer sütunlarda arama yapmanızı sağlar (e.g. Başlık) ama alışkanlık'göstermek gerçek bulundu başlıkların listesi, Sadece onların DocId burada gösterildiği gibi 's:

clip_image002[1]

(Geçerli herhangi bir sonuç döndüren arama seçmedi çünkü ekran görüntüsü kadar büyük değil, Ama bazı sonuçlar bulsaydı görebilirsiniz, Sadece DocId's gösterirdim, değil başlıklar).

Bunun cevabını için aranan yüksek ve düşük ve başarısız oldu. Benim meslektaşım, Saygıdeğer Jonathan Bradshaw, karşı karşıya ve bu sorunu çözüldü. Ne zaman ben ona yardım için uzandı, doğru yönde beni işaret etti.

"ShowInPicker üzerinden birden fazla sütun görüntülemek için Seçici'yi yapılandırma" ADF'ye özelliği:

<Özelliği Adı="ShowInPicker" Türü="System.Boolean">TRUE</Özelliği>

Daha ayrıntılı olarak:

  <!-- Başlık -->
  <TypeDescriptor TypeName="System.String" Adı="Başlık" >
    <LocalizedDisplayNames>
      <LocalizedDisplayName LCID="1033">Başlık</LocalizedDisplayName>
    </LocalizedDisplayNames>
    <Özellikler>
      <Özelliği Adı="DisplayByDefault" Türü="System.Boolean">TRUE</Özelliği>
      <Özelliği Adı="ShowInPicker" Türü="System.Boolean">TRUE</Özelliği>
    </Özellikler>
  </TypeDescriptor>

Bu özelliği ayarlamak küçük bir sorun neden oluyor. En kısa zamanda bir kez ayarla, göstermek istediğiniz her sütun için ayarlamanız gerekir. Benim durumumda, İVB seçici DocId varsayılan olarak gösterdi. Ancak, bir kere "ShowInPicker eklendi" Başlık, DocId görüntülenmez. Bu açıkça doktor kimliği için ShowInPicker özelliğini ayarlayarak çözüldü.

Sonuç:

görüntü

(Hasta'açıklamak garip görünüşlü "168 – CamlSchema.xsd" bir gelecekte blog yazısı inşaat. Kısacası, Bunun için biraz daha iyi bir kullanıcı deneyimi sağlayan art arda eklenmiş bir dize olduğunu).

Elbette, Bu blog girişi yazılı olan, "ShowInPicker için bir arama yaptım" ve çok sayıda sayısı bulundu, Bu da dahil olmak üzere: http://msdn2.microsoft.com/en-us/library/ms583986.aspx. Bu özellik bazı iyi diğer BDC malzeme ile birlikte anlamını açıklar.

</sonunda>

Benim blog abone!

Technorati Tags: