Salı, Şubat 17, 2009

SharePoint Object Model: Programatik olarak Site Koleksiyonu düzeyinde bir Feature'ı Aktif ya da Pasif konuma getirmek

Daha önceki postlarda http://litwareportal adresinden erişilen SiteCollection içerisinde kullanılan yani aktif olan Feature'ları listelemiştik. Bu Fetaure'lardan herhangi birini kaldırmak yani pasif konuma getirmek için SPSite tipinde oluşturulan nesnenin Features koleksiyonun Remove metodu kullanılabilir, bu metod içerisine pasif konuma getirilecek olan Fetaure'ın ID'sini GUID olarak kabul ediyor olacaktır. Aşağıdaki kodlarda bu durum örneklenmektedir.


SPSite site = new SPSite("http://litwareportal");

site.Features.Remove(new Guid("a392da98-270b-4e85-9769-04c0fde267aa"));

Console.WriteLine("Fetaure Silindi...");


Benzer bir şekilde bir Fetaure'ı aktif hale getirmek için ise Add metodu kullanılıyor olacaktır, aşağıdaki kodlar da bu durumu örneklemektedir.

SPSite site = new SPSite("http://litwareportal");

site.Features.Add(new Guid("a392da98-270b-4e85-9769-04c0fde267aa"));

Console.WriteLine("Fetaure aktif hale getirildi...");

Pazartesi, Şubat 16, 2009

YazGelistir Seminerleri @Kocaeli Üniversitesi

Yazgeliştir 2009 seminer turuna Kocaeli Üniversitesi'nden devam ediyor. Silverlight ve Microsoft Office SharePoint Server 2007 teknolojileri hakkında iki oturumdan oluşan, sektörden profesyonellerin ve üniversite gençliğinin bir arada olacağı etkinliklikte siz de yerinizi alın!

Etkinlik Tarihi: 20 Şubat 2009 Cuma

Etkinlik Programı:
10:00-12:00: Daron Yöndem - Silverlight
13:00-15:00: Burak Batur - Microsoft Office SharePoint Server 2007

Etkinlik Yeri :
Kocaeli Üniversitesi Umuttepe Yerleşkesi Teknik Eğitim Fakültesi Konferans Salonu

Salı, Şubat 10, 2009

nedirtv?com - Şubat Ayı Webinerleri


nedirtv?com webinerleri tüm hızıyla devam ediyor. Ineta Türkiye’nin de desteğiyle nedirtv?com editörleri olarak bu ay 7 farklı konuda gerçekleşecek webinerlerde yazılım geliştiricilerle beraber olacağız. ASP.NET AJAX 3.5, Expression Blend 2, ADO.NET Data Services Güvenlik , ASP.NET Uygulamalarında Performans İpuçları , Windows Workflow Foundation, MOSS 2007-InfoPath Form Services, Expression Web 2 gibi konular üzerinde yapılacak webinerler hakkında daha detaylı bilgi almak için bu linkteki haberi okuyabilir, webinerlerin duyurularını almak için de bu linkteki olayı Facebook ajandanıza kaydedebilirsiniz.

YazGelistir Seminerleri Başlıyor! İlk durak Sakarya Üniversitesi!

YazGelistir Ekibi olarak Türkiye'de pek çok lokasyonda gerçekleşecek olan seminerler dizisi başlatıyoruz, sektörden profesyoneller ile üniversite öğrencilerinin bir araya gelmesini hedeflediğimiz seminerler dizisinin ilk ayağı 12 Şubat Perşembe Günü Sakarya Üniversitesi'nde gerçekleşiyor olacak. 12 Şubat tarihinde düzenlenecek olan seminerde konu başlıkları Silverlight ve Smart Client & Web Client Software Factory. Sektörden profesyonellerin ve üniversite gençliğinin bir arada olacağı etkinliklikte siz de yerinizi alın!

Yer: Sakarya Üniversitesi Kültür ve Kongre Merkezi - Salon 3
Tarih: 12 Şubat 2009
Saat:
10:00 – 12:00 Silverlight | Daron Yöndem
13:00 – 15:00 Smart Client & Web Client Software Factory | Emre Coşkun

Pazar, Şubat 08, 2009

SharePoint Object Model: Site Koleksiyonunda aktif olan Feature'ları elde etmek

Feature'lar MOSS 2007'de bir sitenin gerçekleştirip gerçekleştiremeyeceği işlemleri belirlemek için kullanılabilecek kavramlardır. Türkçe'ye "özellik" şeklinde çevirebileceğimiz Feature kavramı gerçek anlamda da sitelerin özelliklerini kısıtlayıp genişletebilmektedir. Örneğin bir site içerisinde arama işlemlerinde kullanılabilecek WebPart'ların kullanılabilmesi için Office SharePoint Server Search Web Parts özelliğinin açık olması gerekmektedir ya da bir site içerisinde Disposition Workflow'un kullanılabilmesi için Disposition Approval Workflow özelliğinin açık olması gerekmektedir, bahsedilen bu iki Feature da SiteCollection düzeyinde Fetaure'lardır Site düzeyinde olup sadece Site'ı etkileyen Feature'larda mevcuttur Office SharePoint Server Publishing Fetaure'ı bunlardan biridir ve sitenin daha görsel ve daha interaktif bir duruma getirilmesine olanak tanır. Bir Site'ın ya da SiteCollection'ın Feature'larını görüp aktif pasif etmek için site ayarlarından Site Features ve Site Collection Features bağlantıları kullanılabilir.

Nesne modeli açısından baktığımızda SPFeatureDefinition ve SPFeature adında iki sınıf bizi karşılıyor olacaktır. SPFeatureDefinition bir Feature MOSS'a yüklendikten sonra bu Feature'a erişmek için kullanılabilecek bir sınıftır. SPFeatureDefinition üzerinden erişilen Feature'lar abstract class'lara benzetilebilir, nasıl bir abstract class direkt kullanılamayıp ondan kalıtılan bir sınıf üzerinden kullanılabiliyorsa Farm düzeyindeki SPFeatureDefinition sınıfı ile erişilebilien Feature'larda direkt kullanılamaz, kullanılması için herhangi bir sitede aktif duruma getirilmesi gerekmektedir. Farm düzeyindeki Feature'ın aktif edilmiş haline de SPFeature sınıfı aracılığı erişilebilir.

MOSS'da her nesnenin bir ID'si vardır. GUID tipinde olan bu ID'ler nesnelere erişim için önemli bir yere sahiptir ve nesne modelinde de pek çok yerde kullanılması gerekir. Kullanılması gereken yerlerden biri de Feature'lardır ve bu ID'lere de özellik olarak nesne örnekleri üzerinden ulaşılabilir. Aşağıdaki kodlarda bir sitede kullanılan Feature'ları listeleyecek olan küçük bir programcık yer almaktadır. Kodlardan da anlaşılacağı üzere bu kodlar bir Console uygulamasıdır ve kodların çalışması için bir önceki makalede belirtmiş olduğumuz path'de yer alan Microsoft.SharePoint.dll isimli dll'in refere edilmiş ve Microsoft.SharePoint isimli namespace'in eklenmiş olması gerekmektedir.






SPSite site = new SPSite("http://litwareportal");

SPFeatureCollection siteFeatures = site.Features;



foreach (SPFeature feature in siteFeatures)

{

Console.WriteLine(feature.Definition.DisplayName);

Console.WriteLine(feature.Definition.Id);

SPFeaturePropertyCollection featureoOzellikleri =
feature.Properties;



foreach (SPFeatureProperty
property in featureoOzellikleri)

{


Console.WriteLine("\tProp name: " + property.Name);


Console.WriteLine("\tProp value:" + property.Value);

}

}

Kodlardan da görüleceği üzere bir SiteCollection düzeyinde kullanılan Feature'ları elde etmek için SPSite tipindeki nesne örneğinin Fetaures koleksiyonu kullanılmaktadır, bahsedilen koleksiyon geriye SPFetaureCollection tipinden bir koleksiyon döndürüyor ve foreach döngüsü ile de bu koleksiyon içerisinde geziliyor. Bir Feature'ın Definition'ınına yani Farm düzeyindeki tanımlamasına Definition özelliği aracılığı ile erişilebilir. Yukarıdaki kodlarda da Definition ID'sini yani Fetaure MOSS'a yüklenirken belirtilen GUID'i elde edebiliyoruz ve DisplayName özelliği ile de görüntülenen ismi ekrana yazdırılıyor. İkinci foreach ile de Fetaure'ın Property'leri üzerinde gezilip propetylerin adı ve taşıdıkları değerler ekrana yazdırılıyor. Program çalıştırılınca aşağıdaki gibi bir görünüm elde ediliyor olacaktır.