SharePoint Event Receiver Temel Sınıf ve Methodları

SharePoint geliştirme seçenekleri arasında yer alan Event Receiver konusuna daha önce ufakta olsa bir girişte bulunmuştum. Bu yazımızda daha geniş kapsamlı olarak Event Receiver içerisinde bulunan Tiplere, sınıflara ve diğer özelliklere göz atacağız.

Bu yazımızda;

  • SharePoint Event Receiver Tiplerine
  • Event Receiver Sınıflarına
    1. Site Seviyesi Olaylarına
    2. List Seviyesi Olaylarına
    3. İtem Seviyesi Olaylarına
    4. Feature Eventlere
    5. Email Olaylarına

Konularına değineceğiz

1 – SharePoint Event Receiver Tipleri

 

Temel olarak basit bağlamda iki tip Event Receiver bulunmaktadır. Bunlar Senkron ve Asenkrondur. Senkron Event Receiver olaylardan “Önce” çalışan olarak bilinmektedir. Bunlar bir olay gerçekleşmeden önce bazı eylemleri gerçekleştirmek için kullanılırlar. Koşul yerine gelmediğinde iptal edilebilirler.

Asenkron Event Receiver ise olaylardan “ Sonra” çalışan olarak bilinmektedir. Olay gerçekleştirildikten sonra herhangi bir özel eylemi gerçekleştirmek için kullanılır. Asenkron olduğundan olayın hemen ardından gerçekleşmesi gerekmez.

2 – Event Receiever Sınıfları

SharePoint 2007 ile beraber Olay algılayıcılarına 5 (beş) adet sınıf dâhil edilmiştir ve temelde bu sınıflar üzerinden olay algılayıcıları ilerlemektedir. Bunlar;

Microsoft.SharePoint.SPEmailEventReceiver

E-Posta özelliği etkin edilmiş bir liste üzerinde kullanıcının o liste üzerinde dönen olayları e-posta ile yakalamasını sağlar.

Microsoft.SharePoint.SPFeatureReceiver

SharePoint özellikleri üzerindeki olayları algılamak için kullanılır.

Microsoft.SharePoint.SPItemEventReceiver

Bir liste öğesi üzerinde olan olayları algılamak için kullanılan sınıftır. Liste öğesi üzerinde oluşan tüm olaylar bu sınıf ile kontrol edilir.

Microsoft.SharePoint.SPListEventReceiver

Bir liste üzerinde liste tanımı düzenleme, mevcut sütünları değiştirme, sütün silme gibi işlemler olduğunda SPListEventReceiver sınfı ile kontrol edilir veya algılanır.

Microsoft.SharePoint.SPWebEventReceiver

Bir site koleksiyonu silinmesi, taşınması veya bu site koleksiyonu ile ilgili herhangi bir değişim işlemi yapıldığını algılayan sınıftır.

Bu sınıfların her birisi için kullanılabilecek methodlar bulunmaktadır. Aşağıda bu methodlara dair bilgilerde sunmaya çalışacağım.

A – Site Seviyesi Event Receiver

SPWebEventReceiver’in site seviyesinde işlemlerini algılamak için kullanılan yöntemler aşağıda bulunmaktadır.

  • Site Deleted

Site silme işleminden önce oluşan olay algılama methodudur.

  • Site Deleting

Site silme işleminden sonra oluşan olay algılama methodudur.

  • Web Deleted

Bir web sitesi tamamen silindikten sonra oluşur. (Asenkron bir işlemdir)

  • Web Deleting

Bir Web sitesini silmeden önce oluşur. Senkron bir işlemdir.

  • Web Moved

Mevcut varolan bvir web sitesi taşındıktan sonra oluşan işlemdir. Asenkron bir işlemdir.

  • Web Moving

Mevcut web sitesini taşımandan önce oluşan işlem / olaydır. Senkron bir işlemdir.

 

B – List Seviyesi Event Receiver

  • Field Added

Bir Field Listeye eklendikten sonra oluşan algılayıcı methodudur.

  • Field Adding

Bir Field İçerik tipine eklendiğinde ( Content Type) çalışır.

  • Field Deleted

Field Listeden silindiğinde oluşur.

  • Field Deleting

Bir field listeden silinmesi başlangıcında oluşur.

  • Field Updated

Bir Field’in listede güncellenmesinden sonra oluşur.

  • Field Updating

Bir field’in listede güncellenmesine başlandığında oluşur.

 

C –Item Seviyesi Event Receiver

  • ItemAdded

Listeye yeni bir item eklendiğinde oluşur ve asenkrondur.

  • ItemAdding

Listeye bir öğe eklenmeden önce oluşur. Senkrondur.

  • ItemAttachmentAdded

Bir liste öğesine ek ekledikten sonra oluşur. Asenkron bir olaydır.

  • ItemAttachmentAdding

Bir liste öğesine ek eklenme anında oluşur.

  • ItemAttachmentDeleted

Liste öğesindeki ek kaldırıldıktan sonra oluşan olaydır.

  • ItemAttachmentDeleting

Liste öğesinden ekin silinme esnasında oluşan olaydır.

  • ItemCheckedIn

Öğe kontrol edildikten sonra kullanılır.

  • ItemCheckedOut

Öğe sunucuya teslim edildildikten sonra kullanılan olaydır.

  • ItemCheckingIn

Öğenin listeye teslim edilme(kontrol) anında oluşur.

  • ItemCheckingOut

Bir öğe teslim edilirken oluşur.

  • ItemDeleted

Öğe listeden silindikten sonra oluşur.

  • ItemDeleting

Öğe listeden silinirken oluşur.

  • ItemFileConverted

Bir dosya türünün değiştiğinde oluşan olaydır.

  • ItemFileMoved

Dosyanın taşıma işlemi sonrası çalışan olaydır.

  • ItemFileMoving

Dosyanın taşınma işlemi sırasında oluşur.

  • ItemUncheckedOut

Bir öğenin kontrol iptali gerçekleştikten sonra oluşur.

  • ItemUncheckingOut

Bir öğenin kontrolünün iptal edilmesi sırasında oluşan olaydır.

  • ItemUpdated

Öğe Güncellendikten sonra oluşur.

  • ItemUpdating

Öğe güncellenmesi sırasında oluşur.

D – Feature Event

  • FeatureActivated

Özelliğin aktif edildikten sonra oluşur.

  • FeatureDeactivating

Bir özellik devre dışı bırakılırken oluşur.

  • FeatureInstalled

Bir özellik yüklendikten sonra oluşur.

  • FeatureUninstalling

Bir özellik kaldırılırken ( uninstall) oluşur.

E – E-Posta Olayları

EmailReceived, Bir e-posta mesajı e-posta özelliği etkileştirilmiş bir listeye geldikten sonra EmailReceived olayı oluşur.

 

Yukarıdaki kısaca özetlemelerinden ve ne işe yaradıklarından bahsetmiş olduğumuz method ve sınıflar Visual Studio ile geliştirme yapan ve Olay algılayıcıları içerisinde gördükleri methodların ne anlama geldikleri konusunda sıkıntı çeken arkadaşlarımıza kolay referans olması açısından SharePoint kaynakları arasından sadeleştirilmiştir.

Event Receiver methodları SharePoint versiyonları arasında farklılık gösterebilir. Yukarıda anlatılan Method ve Sınıflar SharePoint 2007 den beri gelen temel method ve sınıflardır.

Umarım tüm SharePoint geliştiricisi arkadaşlarımıza ya da SharePoint geliştiricisi olmak isteyen arkadaşlarımıza faydalı olur.

Saygılarımla

Yanıt Yaz