آی تی نرد

اشتراک اطلاعات و تجربیات در زمینه ی توسعه ی دات نت و البته شیرپوینت

ایجاد آبجکت های شیرپوینتی با استفاده از Xml Definition - لیست

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

  1.  از طریق کدنویسی یا همان آبجت مدل شیرپوینت.
  2. از طریق پاورشل.
  3. از طریق اینترفیس شیرپوینت.
  4. از طریق Definition ها.

توی این مطلب به ایجاد یک لیست سفارشی شیرپوینتی از طریق روش شماره 4 یعنی تعاریف(Definition) خواهم پرداخت.

به زبان ساده تعاریف در شیرپوینت فایل های Xml یا xsd ی هستند که حاوی مشخصات یک یا چند المنت یا آبجکت می باشند و در شاخه ی 12 یا 14 یا 15 شیرپوینت قرار میگیرند. و شیرپوینت با استفاده از این مشخصات اقدام به ایجاد آنها در دیتابیسش می کند.

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

خب مسلما استفاده از این تعاریف مزیت های خودش رو نسبت به کد داره که از این مزیت ها میشه به موارد زیر اشاره کرد:

  • سرعت در پیاده سازی: به راحتی و با ویزارد خود VS(البته فعلا فقط لیست) میشه آبجکت مورد نظر رو ایجاد کرد.
  • ریسورس یا چند زبانه کردن: از طریق کد هم امکان این کار هست اما همیشه پاسخگو نیست و برخی مواقع درست عمل نمی کنه، اما از این طریق خیلی سریع این امکان فراهم هست و بعد از دیپلوی هم به خوبی آبجکت مورد نظر چند زبانه خواهد بود.
  • امکان دستکاری پس از دیپلوی: با توجه به اینکه تعاریف مورد نظر به صورت فیزیکی توی پوشه ی 14 موجود هست میشه تغییرات و اصلاحات لازمه رو توی فایلش داد.

میشه با استفاده از یک پروژه ی سطح فارمی تعاریف مورد نظر رو در یک پکیج(wsp) قرار داد و از طریق یک فیچر سطح سایت یا وب برروی سایت مورد نظر دیپلوی و استفاده کرد. در ادامه در یک سلوشن تستی یک لیست به همراه چند فیلد تعریف می کنیم.

ابتدا یک پروژه ی شیرپوینتی در سطح فارم ایجاد کنید(منظور اینکه سندباکس نباشه). بعد روی پروژه راست کلیک کنید و یک آیتم از نوع لیست به نام TestList اضافه کنید.

بیشتر...

راهکار تغییر مجوز لیستها و زیرسایت هایی که ارث بری آنها قطع شده برای شرپوینت 2010

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

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

بیشتر...


راهکار مدیریت اجرای(شروع) گردش کارها در شرپوینت 2010

راهکار مدیریت شروع و اجرای گردش کارها در شرپوینت 2010 بیشتر با هدف حل مشکل عدم شروع گردش کار برای کاربر ناشناس ایجاد شد. همونطور که شاید بدونید در حالت نرمال امکان تعریف گردش کار برای کاربر ناشناس در شرپوینت وجود ندارد. البته برای روشن شدن کاربرد اصلی این راهکار بهتره یه مثال واقعی بزنم:

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

برای رفع این ضعف(البته شاید واقعا ضعف نباشه چون مایکروسافت عمدا این امکان رو از شرپوینت 2007 به بعد برداشت، احتمالا به دلایل امنیتی) من راهکاری نوشتم که این مشکل رو حل و مرتفع میکنه.

این راهکار وظیفه ی مدیریت شروع و رویداد شروع(Start event) گردش کارها رو بر عهده داره مخصوصا برای کاربر ناشناس. لیست زیر برخی از ویژگی ها و امکانات این راهکار رو شرح میده:

  1. اسکوپ راهکار در سطح سایت هست و نه مجموعه سایت بنابراین امکان استفاده از راهکار در تمامی ساب سایت ها به صورت مجزا هم هست.
  2. نصب و پیکره بندی بسیار راحت، فقط کافیه نصب کنید و پس از فعال سازی ویژگی اون، راهکار آماده ی استفاده هست(نیازی به ایجاد لیست اضافه و یا تنظیم خاصی نداره).
  3. امکان تعریف چندین تنظیم گردش کار، برروی یک لیست.
  4. قابلیت تعیین OnBehalf یا شخص شروع کننده ی گردش کار به جای کاربر ناشناس.
  5. امکان توقف موقت تنظیم گردش کار برروی لیست.
  6. امکان مدیریت شروع تمام گردش کارها و نه فقط گردش کارهایی که برای کاربر ناشناس تنظیم شده است.

پس از غیرفعال و یا حذف راهکار هم تمام پاک سازی های مورد نیاز صورت خواهد گرفت البته به جز لیست تنظیمات راهکار، اون هم به این دلیل که در صورت نصب و فعال سازی مجدد، تمام تنظیمات شروع گردش کارها موجود باشد و نیازی به تعریف تنظیمات از ابتدا نداشته باشید.

بیشتر...