ایجادEvent Receiver از نوع GroupUserAdded

در پست قبلی ما به بحث در مورد Event Receiver های جدید در شیرپوینت 2013  برای گروه ها ، افراد ، نقش ها و ارث بری ها در شیرپوینت 2013 پرداختیم.

 

ایجادEvent Receiver از نوع GroupUserAdded :

در این پست می خواهیم به مثالی گام به گام از چگونگی ایجاد یک GroupUserAdded از نوع Event Receiver که در SPSecurityEventReceiver بکار می رود بپردازیم. همانطوری که از نام آن پیداست هنگامی از این گزینه  استفاده می کنیم که یک کاربر جدید به یک گروه اضافه شود. برای مثال بعد از اضافه شدن یک کاربر جدید به یک گروه در واقع باید مجموعه ای از مجوز های دسترسی به تمام گروه هایی که آن گروه در آنها قرار داشته و همچنین تمام لیست ها وکتابخانه هایی که آن گروه به آنها دسترسی داشته ، داده شود. برای مدیران سایت بسیار کارآمد است که بتوانند این Receiver را برای ارسال اعلانات به ازای هر کاربر جدید اضافه شده به گروه هایی با مجوز های مختلف اضافه کنند.

بدلیل اینکه در حال حاضر هیچگونه الگوی در دسترسی در Visual Studio 2012 برای اضافه کردن انواع کلاسهای مختلف Event Receiver از نوع SPSecurityEventReceiver وجود ندارد ، بنابراین برای ایجاد یک Event Receiver از نوع GroupUserAdded ، می بایستی ابتدا آن را با استفاده از فایل Feature Receiver ثبت نماییم.

در ادامه به آنچه برای شروع کار بدان نیازمندیم می پردازیم.

Feature Receiver :

یک Feature Receiver برنامه ای است که به هنگام  نصب ، فعال ، غیر فعال ، upgrade  ویا uninstall یک Feature  اجرا می شود. به هر حال ما در این صورت یک Feature Receiver جدید ایجاد کرده ایم. اگر parent feature روی سایت فعال باشد یک Feature Receiver از نوع GroupUserAdded ایجاد می کند. ما در این پست مروری بر دستیابی به راهکارهای لازم و Feature Receiver داریم.

Event Receiver :

هنگامی که ما یک Feature Receiver را به سایت اضافه می کنیم ، در واقع یک رویداد Event Receiver  از نوع GroupUserAdded  جدید به پروژه خود که شامل کد مربوط به این رویداد در داخل سایت مد نظر ما خواهد بود را اضافه می کنیم . بدین معنی که در صورت اضافه شدن کاربر به گروه Team Site Members این مسئله را تشخیص داده و این کاربر را به گروه دیگری داخل همین سایت به نام Added Members اضافه کند. کلاس SPSecurityEventReceiver برای کمک به توسعه دهندگان شیرپوینت در جهت کنترل رویدادهای موجود بر روی گروه ها ، کاربران ، نقش ها و مجوزهای دسترسی شیرپوینت معرفی شد.

جزئیات انواع رویدادهایی را که در این قسمت قابل تنظیم هستند را در پست قبلی میتوانید ببینید.

 

در زیر به این مراحل می پردازیم:

گام 1- یک پروژه شیرپوینت را باز کنید.

 

شیرپوینت2013 – ایجاد Event Reciver

 

گام 2 – آدرس سایت شیرپوینت خود را برای debugging وارد کرده وسپس روی دکمه Deploy کلیک کنید.

 

شیرپوینت2013 – ایجاد Event Reciver

 

گام 3 – سپس روی Feature کلیک راست کرده و Add Feature را بزنید.

 

شیرپوینت2013 – ایجاد Event Reciver

 

هنگامی که Feature اضافه شد ، صفحه Solution Explorer مانند شکل زیر برای شما باز می شود.

 

شیرپوینت2013 – ایجاد Event Reciver

 

گام4 – سپس Feature Rceiver جدید را در قسمتی که تمام کدهایی که برای ریجستر کردن SPSecurityEventReceiver لازم است ، اضافه کنید. هنگامی که این Feature  جدید فعال می شود، این ویژگی GroupUserAdded را اجرا و ریجستر می کند. برای اضافه کردن یک  Feature Receiver جدید مانند شکل ، روی Feature1 راست کلیک کنید.

 

شیرپوینت2013 – ایجاد Event Reciver

 

گام 5 – سپس کد زیر را در متد FeatureActivated اضافه کنید تا رویداد شما ثبت شود.

 

public override void FeatureActivated(SPFeatureReceiverProperties properties)
{
SPWeb web = properties.Feature.Parent as SPWeb;

//Adding the GroupUserAdded event
SPEventReceiverDefinition grpUserAdded = web.EventReceivers.Add();
grpUserAdded.Name = "Event Receiver GroupUserAdded";
grpUserAdded.Type = SPEventReceiverType.GroupUserAdded;
grpUserAdded.Assembly = Assembly.GetExecutingAssembly().FullName;
grpUserAdded.Class = "GroupUserAddedEventReceiver.UserAddedEventReceiver";
grpUserAdded.Update();

web.Update();
}

 

سپس Feature مانند زیر برای شما به نمایش در می آید.

 

بنابراین شما الآن تمامی تنظیمات لازم را برای این Feature انجام داده اید و کد ریجستر کردن GroupUserAdded را به سایت خود اضافه نموده اید. در قسمت بعد به این موضوع می پردازیم که چگونه یک کلاس GroupUserAdded() EventReceiver ایجاد کنیم و چگونه رویداد هایی که برای کاربران در یک گروه خاص اتفاق می افتد را اضافه نماییم.

  

پست مرتبط :

ایجاد EVENT RECEIVER از نوع GROUPUSERADDED

ایجاد EVENT RECEIVER از نوع GROUP USER ADD ǁ

هوش تجاری (BI)

سامانه مدیریت مستندات پروجان

سامانه مدیریت جلسات

سامانه ارزیابی عملکرد

سامانه مدیریت پروژه سازمانیEPM

مدیریت ارتباط با مشتری (CRM)

مایکروسافت اکسچنج سرور