چطور برای شیرپوینت وب پارت بنویسیم؟ قسمت اول: سلام دنیا

شیرپوینت امکانات مختلفی برای توسعه خود به برنامه‌نویسان می‌دهد که یکی از آن‌ها «وب پارت» است. ضمن آشنایی با وب‌پارت‌ها، یک وب پارت ساده می‌نویسیم

این نوشته اولین قسمت از مجموعه نوشته‌های مرتبط با برنامه‌نویسی وب‌پارت‌ها در شیرپوینت است. در طول چند ماه آینده ضمن تکمیل این سری نوشته، به تدریج به سراغ سایر حوزه‌های برنامه‌نویسی شیرپوینت نیز خواهیم رفت.

وب پارت شیرپوینت چیست؟

وب پارت‌ها یکی از راهکارهای توسعه شیرپوینت به روش برنامه‌نویسی هستند. یک وب پارت در حقیقت یک ماژول قابل استفاده مجدد است که می‌توان آن را بر حسب شرایط به شکل‌های مختلف تنظیم کرد و در صفحه شیرپوینتی قرار داد. یک مثال برای وب‌پارت‌ها، وب پارت نمایش وضعیت آب و هواست. می‌توان وب پارتی نوشت که با اتصال به سرویس پیش بینی وضعیت آب و هوا، دما و سایر ویژگی‌های مرتبط با وضعیت آب و هوا را نمایش دهد. این وب پارت را می‌توان در محل دلخواه در سایت شیرپوینتی قرار داد و اگر تنظیمات شهر را به آن افزوده باشیم می‌توانیم وب پارت را به گونه‌ای تنظیم کنیم که به عنوان مثال وضعیت آب و هوا تهران را نمایش دهد.
در نوشته‌های بعدی درباره انواع تنظیمات وب پارت و scope آن‌ها صحبت خواهیم کرد اما خوب است بدانید اگر کاربران دسترسی لازم را داشته باشند و تنظیمات قرار داده شده در وب پارت قابلیت ست شدن به ازای هر کاربر را داشته باشد، هر کاربر می‌تواند تنظیمات مخصوص به خودش را داشته باشد. در مثال وب پارت آب و هوا گرچه یک وب پارت نوشته شده اما یک کاربر می‌تواند آن را برای نمایش آب و هوای تهران و دیگری برای نمایش آب و هوا شیراز تنظیم کند.

وب پارت سلام دنیا

هدف این نوشته، آشنایی اولیه با مفاهیم برنامه‌نویسی وب پارت در شیرپوینت است و در نوشته‌های بعدی مباحث پیشرفته‌تر در خصوص تنظیمات و برندینگ وب پارت را مطرح خواهیم کرد.

برای نوشتن اولین وب پارتمان به Visual Studio 2012 یا بالاتر احتیاج داریم. مطابق تصویر زیر یک پروژه جدید از نوع SharePoint 2010 Project ایجاد می‌کنیم. در نوشته‌های بعدی درباره Visual Web Part و Silverlight Web Part توضیح خواهیم داد. فعلاً می‌خواهیم یک پروژه ساده داشته باشیم.

بعد از انتخاب نام و مسیر پروژه در مرحله بعد ویزارد ایجاد پروژه شیرپوینتی آدرس سایت شیرپوینتی را داده و گزینه Deploy as a farm Solution را انتخاب می‌کنیم. درباره راهکارهای sandbox در نوشته‌های بعدی توضیح داده خواهد شد.

حالا پروژه ما ایجاد شده است. در نگاه اول خیلی خالی به نظر می‌رسد. موقع آن رسیده که یک وب پارت به این پروژه شیرپوینتی اضافه کنیم.

برای اضافه کردن یک وب پارت به پروژه جدید روی پروژه کلیک راست کرده و یک New Item از نوع Web Part به پروژه اضافه می‌کنیم. همانطور که در تصویر زیر نیز مشخص است انواع دیگری مثل Visual Web Part‌ و Silverlight Web Part نیز وجود دارند که در نوشته‌های بعدی درباره آن‌ها صحبت خواهیم کرد. نام Web Part را HelloWorld انتخاب کنید.

حالا پروژه ما به شکل زیر درآمده است و فایل‌های جدیدی به آن اضافه شده. اجازه بدهید این فایل‌ها را با هم بررسی کنیم.

ابتدا پوشه Features: در این پوشه یک Feature جدید تحت عنوان Feature1 اضافه شده است. راهکارهای شیرپوینتی برای نصب می‌توانند Feature داشته باشند که با توجه به scope آن از بخش تنظیمات سایت یا تنظیمات مجموعه سایت (site collection) یا تنظیمات Web Application یا حتی تنظیمات Farm قابل فعالسازی هستند.

برای این Feature ها حتی می‌توان کد نوشت تا مثلاً در هنگام فعالسازی Feature نیازمندی‌های پروژه به سایت اضافه شود به عنوان مثال هنگام فعال کردن Feature ضمن اضافه شدن وب پارت به مجموعه وب پارت‌های سایت، یک لیست هم ساخته شود یا تغییری در تنظیمات سایت شیرپوینتی ایجاد شود و ... در خصوص Feature ها نیز در نوشته‌های بعدی صحبت خواهیم کرد. فعلاً Feature1 را به HelloWorldFeature تغییر نام داده و روی آن کلیک می‌کنیم تا پنجره مشخصات Feature باز شود. در این پنجره می‌توانیم عنوان یا شرح Feature را بنویسیم و مشخص کنیم این Feature کدامیک از بخش‌های پروژه را فعال خواهد کرد. در مثال جاری Feature ما وب پارت HelloWorld را فعال می‌کند.

یک نکته دیگر درباره عنوان و شرح Feature این است که می‌توان آن را برای چند زبانه بودن تنظیم کرد. یعنی عنوان و شرح بر حسب زبان سایت متفاوت باشد که این موضوع را نیز در مباحث برندینگ در نوشته‌های بعدی توضیح خواهیم داد.

فایل Elements.xml: در این فایل یک ویژگی وجود دارد که می‌توانیم آن را برای بهتر شدن نمایش وب پارت تغییر دهیم. آن هم دسته بندی است که وب پارت در آن قرار می‌گیرد. در شیرپوینت وقتی می‌خواهیم به یک صفحه، یک وب پارت اضافه کنیم آن را از میان دسته‌بندی‌های موجود انتخاب می‌کنیم. به صورت پیش فرض دسته‌بندی یک وب پارت جدید روی Custom قرار دارد که آن را به مقدار دلخواه تغییر می‌دهیم. ما برای وب پارت‌های آرایه دسته‌بندی Araye را انتخاب می‌کنیم. دقت کنید که این بخش را نیز می‌توان از طریق resource ها چند زبانه کرد.

فایل HelloWebpart.webpart: در این فایل مشخصات نام و شرح و حتی آیکن وب پارت را می‌توانیم تعریف کنیم. این فایل نیز به صورت xml است و می‌توان محتویات آن را به صورت دلخواه ویرایش کرد و از طریق resource ها چند زبانه نمود.

$Resources:core,ImportErrorMessage;

Araye - HelloWorld

Araye HelloWorld Web Part

فایل کد وب پارت (فایل HelloWorld.cs): در این فایل کد برنامه‌نویسی #C وب پارت نوشته می‌شود. تمام کاری که باید انجام دهیم override کردن متد CreateChildControls و افزودن کد دلخواه به آن است. در این مثال ما کد وب پارت را به صورت زیر ویرایش می‌کنیم تا متن Hello World from SharePoint Webpart در آن نمایش داده شود.

مشاهده خروجی: برای مشاهده خروجی دو راه دارید. Publish کردن کد که یک فایل wsp به شما خواهد داد و می‌توانید مانند سایر فایل‌های wsp آن را به شیرپوینت اضافه کنید و یا اجرا در حالت debug.

ادامه دارد...