در حال حاضر سرویس مایکروسافت شیرپوینت جزئی جدایی ناپذیر در سازمان ها و شرکت ها برای به اشتراک گذاری اطلاعات و همچنین همکاری مشترک بر روی مستندات اداری می باشد . خوب قطعا شما می خواهید با استفاده از راهکارهای مبتنی بر مایکروسافت شیرپوینت بازدهی و سودمندی که در سازمان وجود دارد را بهبود ببخشید ، اما مانند من بلد نیستید به خوبی کد نویسی کنید و در زمینه برنامه نویسی نیز چندان سابقه ای ندارید ، خوب چاره چیست ؟ از کجا باید شروع کرد ؟
با استفاده از نرم افزار مایکروسافت SharePoint Designer 2010 شما می توانید فرآیند های سازمانی خود را بدون اینکه نیازی به کد نویسی داشته باشید ، از ساده ترین فرآیند تا پیچیده ترین فرآیند در قالب ساختار گردش کاری یا Workflow طراحی کنید . Workflow ها هم به فرآیندهای سیستم و هم به فرآیند های انسانی منطق را اضافه می کنند .
Workflow هایی که برای فرآیند های سیستمی ایجاد می شوند می توانند در صورت تغییر کردن یک منبع داده یا Data Source منبع داده دیگری را که برای آنها تعیین شده است را بروزرسانی کنند . Workflow هایی که برای فرآیند های انسانی بکار می روند ممکن است یک مستند مربوط به یک گزارش هزینه را برای تایید به یک کارمند مسئول بفرستند . در صورت تایید این هزینه یا مستند ، برای انجام فرآیند های حسابداری به قسمت حسابداری سازمان ارسال شود .
تمامی این موارد با استفاده از ویرایشگر Workflow ای که در داخل SharePoint Designer 2010 تعبیه شده است و قادر به پشتیبانی منطق های کاری تو در تو ، ساختار کاری قدم به قدم و بسیاری دیگر از این امکانات است ، قابل پیاده سازی است . برای مثال اگر Workflow شما به یک کتابخانه مستندات یا Document Library وصل شده باشد ، یا اینکه به یک نوع محتوای مستند مشخص یا Document Content Type فیلتر شده باشد.
مجموعه ای اقدام ها یا Action ها به شکل Document Set نمایش داده می شود. Document Set ها یک قابلیت جدید در SharePoint Server 2010 هستند که به شما این امکان را می دهد که مجموعه ای از مستندات را در قالب یک واحد مشاهده کند ، بنابراین در صورتینکه به این Document Set یک Workflow متصل شود ، اقدامی که توسط Workflow انجام می شود به تمامی مستنداتی که درون این Document Set وجود دارند اعمال خواهد شد.
سایر Action هایی که جدیدا به ساختار Workflow ها اضافه شده است شامل Action هایی است که اساس کاری سه مرحله ای ساختارهای گردش کار در SharePoint Server را تشکیل می دهند ، یعنی Workflow های معروف تایید یا Approval ، جمع آوری بازخورد یا Collect Feedback و دریافت امضاء یا Collect Signatures ، همچنین Action های سودمند دیگری نیز مانند دستکاری رشته ها و تاریخ ، پیدا کردن مدیر یا شخص مسئول کاربر با استفاده از SharePoint User Profile Store و همچنین امکان اعمال سطوح دسترسی یا permission بر روی آیتم های لیست با استفاده از Workflow ها از موارد دیگری است که به امکانات Workflow ها اضافه شده است . یکی دیگر از امکانات بسیار خوبی که در SharePoint سرور 2010 اضافه شده است این است که شما می توانید flowchart خود را در قالب نرم افزار Microsoft Visio 2010 ایجاد کنید و سپس آن را در داخل SharePoint Designer 2010 وارد کنید.
در این مقاله ما مبانی و مفاهیم اولیه و پایه Workflow ها را به شما معرفی می کنیم . زمانیکه شما بتوانید به درستی پایه و اساس و انواع ساختارهای گردش کاری و ایجاد بلوک های گردش کار را ایجاد کنید و درک درستی از مفاهیمی مثل Action یا اقدام ، Condition یا شرط و همچنین Step یا گام داشته باشید ، براحتی و به سرعت می توانید یک Workflow ایجاد کنید که فرآیند های کاری را بصورت خودکار انجام دهد و باعث بهبود بازدهی و سودمندی فعالیت سازمان شود. اما قبل از اینکه به ادامه مقاله برویم بهتر است بدانیم هدف از ارائه این مقاله چیست و شما در این مقاله با چه مسائلی آشنا خواهید شد ، در این مقاله شما با موارد زیر آشنایی پیدا خواهید کرد :
Workflow ها یا گردشکار ها در واقع راه و روشی است که سازمان ها به وسیله آن فعالیت می کنند . مجموعه ای از اقدام ها که به یک فرآیند کاری مرتبط می شوند ، برای مثال فرآیندی که برای خرید یک محصول در یک سازمان انجام می شود یک Workflow می باشد. SharePoint 2010 به شما کمک می کند که تمامی این فرآیند ها یا با استفاده از ساختار Workflow موجود در آن بصورت خودکار انجام دهید و به این وسیله بازدهی و سوددهی کار خود را در سازمان بالا ببرید .
دلیل اینکه با استفاده از این روش کارایی و بازدهی بالا می رود این است که با استفاده از گردشکارهای خودکار ، فرآیندها بصورت خودکار انجام می شود و سازمان به جای اینکه زمان خود را صرف مدیریت فرآیند کند ، صرف انجام کار خواهد کرد.Workflow ها می توانند بیشتر جوانبی که در سایت های SharePoint 2010 وجود دارد مانند لیست ها ، کتابخانه ها ، content type ها یا آیتم های یک لیست حتی چرخه حیات یا Life Cycle مربوط به آیتم از یک لیست را کنترل کنند .
یک Workflow می تواند شامل اقدام ها یا Action هایی باشد که توسط افراد یا شرکت کنندگان در workflow تعریف شده اند انجام شود و یا اینکه شامل اقدام هایی باشد که خود Workflow به خودی خود انجام می دهد . شرکت کنندگان در یک Workflow می توانند با استفاده از لیست وظایف تعریف شده برای آنها که Workflow می تواند برای هر شخصی در قسمت Task List یا لیست وظایف تعریف می کند از وظایفی که برای آنها تعیین شده است آگاه شوند ، یک Workflow می تواند تا زمانیکه وظیفه ارجاع داده شده به مرحله کامل شده یا Completed نرسیده است ، کار workflow را در حالت توقف در بیاورد.
Workflow ها می توانند با توجه به سادگی یا پیچیدگی که در فرآیند های سازمان شما وجود دارند طراحی شوند . شما می توانید تعیین کنید که یک Workflow زمانی که یک کاربر درخواست داد شروع به کار کند و یا اینکه بصورت خودکار زمانیکه یکی از آیتم های یک لیست تغییر کرد و یا ایجاد شد شروع به کار کند . معمولا زمانیکه شما از SharePoint Designer 2010 برای طراحی Workflow های خود استفاده می کنید از این مراحل ساده و پایه تبعیت می کنید :
شما می توانید به workflow به عنوان یک فلوچارت که دارای نقطه شروع و پایان و همچنین دارای گام های پشت سر هم از نقطه شروع تا نقطه پایان می باشد نگاه کنید . توجه کنید که workflow ها می توانند دارای مراحل موازی کاری نیز باشند اما همیشه فرآیند کاری آنها به گونه ای است که از نقطه شروع ، آغاز شده و در نهایت به نقطه پایان می رسند.
برای مثال ، فرض کنید که شما بایستی چارتی تهیه کنید که مراحل مسیریابی یک مستند اداری برای دریافت تاییدیه در SharePoint 2010 را می خواهد شبیه سازی کند . زمانیکه workflow شروع می شود ، ابتدا شخصی که قرار است از وجود مستند باخبر شود یا به اصطلاح مرورکننده مستد را توسط ارسال یک ایمیل با خبر می کند .
مرورکننده مستند بعد از اینکه مستند مورد نظر را مطالعه کرد وضعیت مستند را به گونه ای تغییر خواهد داد که نمایانگر اتمام یا کامل شدن وظیفه آن شخص می باشد ، البته ممکن است که در اینجا مرورکننده مستند آنرا در حالت عدم پذیرش یا رد کردن قرار دهد .
با توجه به عکس العملی که مرورکننده مستند انجام می دهد ، فرآیند workflow یک مرحله بصورت موازی پایین می رود ، اگر مرورکننده مستند ، مستند را تایید کرده باشد ، workflow مستند مورد نظر را به یک کتابخانه مستند مخصوص و تعیین شده منتقل می کند و در همین حین برای کلیه افرادی که با این مستند در ارتباط هستند یک ایمیل برای اطلاع رسانی در خصوص وضعیت مستند که تایید شده است ارسال خواهد شد. در صورتیکه شخص مرورکننده مستند را رد کند یا reject کند ، workflow به ایجاد کننده یا نویسنده در این خصوص اطلاع رسانی می کند. در این حالت workflow به نقطه پایان رسیده و فرآیند به درستی تکمیل خواهد شد.
در SharePoint 2010 سه نوع workflow وجود دارد که ترتیب :
گردشکارهای لیست از شیرپوینت 2007 تا کنون مورد استفاده قرار می گیرند . به دلیل اینکه این نوع از workflow ها محتوای لیست هایی که برای آن ایجاد شده اند را دارا می باشند ، کلیه گردشکارهای لیست به صورت خودکار به محتویات و مقادیر فیلد های دلخواهی که درون لیستی که بر روی آن اجرا می شود دسترسی کامل دارند ، برای مثال یک فیلد دلخواه به نام یادداشت ها در یک کتابخانه مستندات موجود در لیست را می توانند مورد استفاده و تغییر قرار دهند
گردشکارهای لیست را نمی توان برای سایر لیست های موجود بر روی این سایت یا سایت های دیگر مورد استفاده قرار داد ، برای انجام اینکار بایستی بصورت دستی برای تمامی لیست های دیگر اینکار را تک تک انجام داده و گردشکار را مجددا ایجاد کنیم . اگر شما می دانید که صرفا نیاز به ایجاد گردشکار برای یک لیست خاص هستید ، گردشکارهای لیست این قابلیت را دارند که می توان آنها را برای فیلد های خاص از لیست بکار برد و استفاده کرد.
شما می توانید از گردشکارهای لیست با قابلیت استفاده مجدد یا Reusable List Workflow ها در بالاترین سطح سایت ها در Site Collection استفاده کنید ، اینگونه Workflow ها را می توان بصورت سراسری مجددا در جای دیگر استفاده کرد . این بدین معناست که Workflow ساخته شده به این روش قابل استفاده بر روی هر لیست ، کتابخانه یا content type در Site Collection می باشد. شما همچنین می توانید یک reusable workflow را در یک sub-site یا سایت زیرمجموعه ایجاد کنید ، اما توجه کنید که workflow ساخته شده به این روش صرفا در همان زیرسایت قابل استفاده می باشد.
یکی از مزایای بسیار خوب این نوع از workflow ها این است که شما می توانید اینگونه Workflow ها را از یک سایت export کرده و در یک سایت دیگر آپلود و فعال یا activate کنید . برای مثال ، شما می توانید یک reusable workflow را در یک محیط تست ایجاد کنید و سپس آن را مورد آزمایش قرار دهید و در نهایت برای استفاده در محیط عملیاتی آن را در export کرده و در سایت اصلی خود آپلود و activate کنید.
جالب اینجاست که SharePoint Designer 2010 به شما قابلیت export کردن workflow ها به عنوان یک قالب یا template را می دهد . Workflow های reusable بصورت پیشفرض هیچ درکی از محتویات لیست یا کتابخانه ای که به آن متصل می شوند ندارند ، بنابراین بصورت پیشفرض آنها صرفا ستون های مشترکی که بین لیست ها و کتابخانه ها مانند Created و Created By وجود دارند را پشتیبانی می کنند.
اگر reusable workflow شما نیازمند نمایش یک ستون در یک لیست یا کتابخانه خاصی است که بایستی در آن نمایش داده شود ، شما می توانید ستون های مربوطه را به عنوان ستون های هم پیوند یا associate column به workflow اضافه کنید . ستون های هم پیوند یا association columns بصورت خودکار زمانیکه شما یک reusable workflow را به یک لیست یا کتابخانه متصل می کنید ، اضافه می شوند. زمانیکه شما یک reusable workflow ایجاد می کنید شما می توانید متناوبا workflow خود را یه یک content type یا نوع محتوای خاص فیلتر کنید .
این قابلیت به شما این امکان را می دهد که در هنگام استفاده از SharePoint Designer 2010 بتوانید فیلد های مرتبط با آن Content Type را مشاهده و از آنها استفاده کنید . بریا مثال زمانیکه یک reusable list workflow به یک Document content type متصل می شود ، شما می توانید مقادیر فیلد های موجود در آن content type را مشاهده و از آنها در workflow خود استفاده کنید ، مثال می توانید از فیلد Document ID موجود در content type در طراحی workflow خود استفاده کنید . سپس شما می توانید در مرورگر خود آن workflow را به یک content type خاص و یا هر نوع content type ای که از content type اصلی برداشت شده است مرتبط کنید .
اگر شما workflow خود را به یک site content type پیوند دهید ، شما می توانید آن workflow را برای تمامی آیتم های موجود در هر لیست یا کتابخانه ای که در داخل آن سایت قرار دارد پیوند دهید .شما همچنین می توانید در صورت تعریف کردن این workflow به عنوان Globally Reusable Workflow آن را برای تمامی سایت های مجموعه قابل دسترس کنید.
اگر شما می خواهید که کاربران شما بتوانند از workflow هایی که شما ایجاد کرده اید در چندین سایت ، لیست ، کتابخانه یا content type استفاده کنند ، بهترین گزینه برای شما استفاده از reusable workflow ها می باشد. انتظار ما نیز این است که بیشتر workflow هایی که توسط SharePoint Designer 2010 ایجاد می شوند از همین نوع باشند.
گردشکارهای سایت یا Site Workflows همانطور که از نامشان پیداست صرفا به یک سایت پیوند می خورند . بنابراین این نوع گردشکار نه به لیست ، نه به کتابخانه و نه به content type ها پیوند نمی خورد. به دلیل اینکه نمی توان با استفاده از این نوع گردشکار به آیتم های لیست دسترسی پیدا کرد بر روی آیتم های خاص لیست ها نیز قابل استفاده نیستند ، به همین دلیل بسیاری از اقدام ها یا Action هایی که در خصوص آیتم ها مورد استفاده قرار میگیرند در اینجا قابل استفاده نیستند .
شما با رفتن به منوی Site Actions و کلیک بر روی قسمت View و All Site Content و در نهایت انتخاب گزینه Site Workflows می توانید وضعیت Workflow های سایت حاضر را مشاهده کنید. اگر می خواهید یک workflow ایجاد کنید که نیازی به لیست ، کتابخانه یا content type برای استفاده شدن ندارد ، بهترین گزینه که می تواند نیازهای شما را برطرف کند Site Workflow است . برای مثال شما می توانید یک Site Workflow درست کنید که بازخورد افراد از وب سایتی که در آن هستید را به شما اطلاع رساتی کند .
توجه کنید که همیشه قرار نیست شما از ابتدا یک workflow را برای برطرف کردن نیازهای فرآیندهای سازمانی خود طراحی کنید . تمامی چهار workflow ای که در SharePoint 2007 به نامهای تاییدیه یا Approval ،جمع آوری بازخورد یا Collect Feedback ، جمع آوری امضاء یا Collect Signature و همچنین workflow انتشار تاییدیه یا Publishing Approval Workflow بصورت کامل در SharePoint 2010 در قالب Reusable Workflow وجود دارند
و این بدین معناست که شما می توانید آنها را توسط نرم افزار SharePoint Designer بصورت کامل طراحی و تغییر دهید و در ساختار سازمانی خود بکار ببرید . شما می توانید براحتی این Workflow ها را کپی کرده و تغییر دهید و با توجه به نیاز سازمانی خود به شکل مناسبی در بیاورید ، کپی کردن و اعمال تغییرات عملیات پیشنهادی خود مایکروسافت است که با این روش Workflow اصلی دچار مشکل نخواهد شد.
اینگونه از Workflow ها را در اصطلاح event-driven یا برگرفته شده از یک رویداد می نامند و تمامی رویدادهای مهم در workflow در درون خود ویرایشگر workflow نمایان می شود ، این موارد هم برای هر وظیفه یا task در فرآیند و هم برای کلیه فرآیندها بصورت یکسان وجود دارد .برای مثال شما می توانید براحتی با اضافه کردن یک شرط یا condition و همچنین یک action یا اقدام برای workflow تعیین کنید که در صورت محول شدن یا assign شدن یک وظیفه ، منقضی شدن یا expire شدن یک وظیفه و یا کامل شدن یک وظیفه چه اتفاقی روی بدهد.
اینها بلوک های ساختمان یک workflow هستند. یک Workflow از یک یا چندین گام یا step تشکیل شده است و هر کدام از این گام ها شامل اقدام ها یا Action هایی است که به وسیله شرط ها یا condition ها انجام می شوند . هر workflow با استفاده از یک رویداد یا event شروع بکار می کند .
رویدادها یا Events چه هستند ؟ یک رویداد عاملی است که باعث شروع به کار یک workflow می شود ، همچنین رویدادها می توانند برای مدیریت زمانبندی اقدام ها یا action های یک Workflow نیز مورد استفاده قرار بگیرند ، برای مثال انتظار کشیدن برای اینکه وضعیت یا status یک آیتم در لیست عوض شود تا یک فعالیت یا اقدام انجام شود خود مدیریت زمانبندی اقدام ها در workflow محسوب می شود . بطور کلی سه نوع رویداد وجود دارد که باعث شروع به کار یک workflow می شود :
نکته : گردشکارهای سایت یا site workflow صرفا بصورت دستی شروع به کار می کنند.
شما می توانید Workflow ای ایجاد کنید که یک نفر بصورت دستی آن را اجرا کنید و یا اینکه به محض ایجاد یا تغییر کردن یک آیتم در لیست بصورت خودکار اجرا شود .برای مثال فرض کنید شما می خواهید یک Workflow دلخواه به نام دریافت تاییدیه درخواست تغییر یا change request approval را به گونه ای طراحی کنید که صرفا بصورت دستی اجرا شود اما صرفا زمانیکه یک آیتم تغییر می کند نه زمانیکه یک آیتم ایجاد می شود . برای اینکار شما در صفحه تنظیمات Workflow در قسمت Start Options گزینه Disable automatic start on item creation را انتخاب می کنید.
برای اینکه یک نفر بتواند بصورت دستی یک Workflow را اجرا کند ، ابتدا بایستی با استفاده از browser خود به لیست یا کتابخانه ای که workflow به آن ضمیمه شده برود . هر کاربری که دارای سطح دسترسی contribute در سایت باشد می تواند workflow ای را که برای اجرا بصورت دستی طراحی شده است را اجرا کند. برای اجرای Workflow مورد نظر ابتدا کاربر دارای سطح دسترسی مجاز بر روی آیتم مورد نظر کلیک کرده و سپس از منو Workflows را انتخاب می کند.
با اینکار کلیه workflow هایی که برای این آیتم قابل استفاده هستند به نمایش در می آید. کاربر در صورت نیاز یک فرم شروع به کار یا initiation form را پر می کند و سپس با کلیک کردن بر روی گزینه start بر روی فرم workflow مورد نظر را اجرا می کند. توجه کنید که با شروع شدن یک workflow یک نسخه از این Workflow برای آن آیتم خاص ایجاد خواهد شد که در اصطلاح می گوییم با شروع شدن یک Workflow یک instance جدید از آن Workflow برای آیتم مورد نظر ایجاد می شود.
نکته : دستور workflow صرفا زمانی در دسترس خواهد بود که شما حداقل یک Workflow را برای یک لیست یا کتابخانه یا content type انتخاب کرده باشید و این workflow به آیتم مورد نظر ضمیمه شده باشد. برای workflow هایی که بصورت دستی start می شوند ، فرم شروع به کار می تواند به سادگی تصویر اول پایین باشد و یا به پیچیدگی تصویر دوم پایینی باشد.
شما می توانید زمانیکه workflow را طراحی می کنید به فرم شروع به کار خود فیلدهای دلخواه خود را اضافه کنید. کاربرانی که از این Workflow استفاده می کنند می توانند در زمان وارد کردن اطلاعات در فیلدهای این فرم ، اطلاعات کافی برای ارسال به workflow نوشته شده را فراهم کنند. با شروع به کار کردن workflow یک instance جدید از workflow ایجاد شده و شما می توانید در هر مرحله از اجرای workflow به این اطلاعات موجود در فرم دسترسی پیدا کنید . شما همچنین می توانید از فیلد هایی که در درون فرم های شروع به کار وجود دارند در قالب reusable workflow ها استفاده کنید.
یک Action در واقع پایه ترین قسمت یک کار در workflow است . SharePoint Designer 2010 برای شما مجموعه ای از Action های از قبل طراحی شده برای استفاده در workflow ها ایجاد کرده است برای مثال شما می توانید در workflow خود از Action هایی مثل موارد زیر استفاده کنید :
SharePoint Server 2010 در ساختار جدید خود سه Action جدید برای قسمت وظایف اضافه کرده است که به ترتیب : Start Approval Process یا شروع فرآیند تایید ، Start Feedback Process یا شروع فرآیند بازخورد و Start Custom Task Process یا شروع فرآیند وظیفه دلخواه می باشد. سه workflow اصلی که در ساختار SharePoint Server 2010 به نامهای Approval یا تاییدیه ، Collect Feedback یا دریافت بازخورد و همچنین Collect Signature یا دریافت امضاء وجود دارند بر اساس همین Action هایی که عنوان کردیم ساخته شده اند .
در اصطلاح به این سه workflow از پیش ساخته شده سه بزرگ یا Big Three هم گفته می شود. اقدام تاییدیه یا Approval Action شامل تمامی رویدادهای مهمی می شود که در یک فرآیند دریافت تاییدیه وجود دارد ، با اینکار کار شما برای طراحی Workflow هایی که در آن افراد با یکدیگر بایستی تعامل داشته باشند و بر روی مستندات خاصی کار کنند ، بسیار ساده تر خواهد شد.
یک Workflow می تواند هر مقدار که می خواهد Action داشته باشد . Action هایی که در بالا ذکر کردیم توسط خود Workflow انجام می شوند اما سایر Action ها ممکن است توسط کاربرانی که با Workflow کار می کنند ایجاد شود . برای مثال در یکapproval workflow یا گردشکار تاییدیه ، معمولا مرور کردن مستند و تایید کردن آن توسط کاربری که با Workflow کار می کند انجام می شود .
Action هایی که توسط کاربری که با Workflow کار می کند انجام می شود به وسیله نمایش و ارجاع دادن یک وظیفه در لیست وظایف مرتبط با آن Workflow نمایش داده می شود. پنج Action ای که در دیاگرام 1 که مثالی از یک دیاگرام ساده Workflow در ابتدای همین مقاله وجود دارد به شرح زیر می باشد :
در ساده ترین بیان ممکن ، زمانیکه شما یک Workflow را طراحی می کنید شما ترتیب انجام Action ها را شناسایی می کنید و سپس با استفاده از ویرایشگر Workflow یا Workflow Editor این ترتیب انجام Action ها را سرهم بندی می کنید . برای مثال در دیاگرام 1 که مثالی از Approval Workflow یا گردشکار دریافت تاییدیه است ، اولین Action یا اقدام شما این است که یک پیام ایمیل اطلاع رسانی برای مخاطب خود ارسال کنید.
بنابراین همانند شکل پایین ، شما در Workflow Editor در اولین قدم یا Step بایستی گزینه Send an Email را انتخاب کنید.
زمانیکه شما یک workflow طراحی می کنید ، می توانید با استفاده از Workflow Editor قوانینی که منطق شرطی برای سایت ها ، لیست ها ، آیتم ها و content type ها ایجاد می کنند را بسازید. قانون یا rule در این قسمت به معنی این است که زمانی workflow اقدام مشخص شده در workflow را انجام دهد که شرط موجود در workflow در حالت درست یا true قرار داشته باشد . برای مثال شما می توانید قانونی درست کنید که در آن Workflow صرفا زمانیکه شخص خاصی یک آیتم را در لیست اضافه کرد یک پیام ایمیل به مرورکننده یا reviewer ارسال شود.
توجه کنید که شما می توانید در هر یک از شاخه های Workflow چندین شرط داشته باشید. برای مثال شما می توانید کاری کنید که workflow صرفا زمانیکه آیتم مورد نظر در لیست اولا توسط شخص خاصی و ثانیا با عنوان خاصی در مستند ایجاد شده باشد ، یک ایمیل پیام اطلاع رسانی به مرورکننده ارسال کند.در نهایت شما می توانید چندین اقدام را صرفا با یک شرط اجرا کنید ، برای مثال شما می توانید به گونه ای شرط را تنظیم کنید که در صورتیکه آیتم در مرحله اول توسط شخص خاصی ایجاد شد ، در مرحله دوم برای مرورکننده ایمیل پیام اطلاع رسانی ارسال شود و در مرحله سوم اطلاعات workflow در یک لیست تاریخچه یا History List لاگ برداری شود.
برای جمع بندی یک Rule یا قانون مجموعه ای از یک یا چندین شرط است که به یک یا چندین اقدام یا action مربوط شده اند ، اگر تمامی مواد شرط ها درست باشد تمامی action یا اقدام ها انجام خواهد شد. در مثال قبلی کاربر مجموعه ای از دو عدد شرط و دو عدد اقدام متناظر را در workflow تعریف کرده بود . بهر حال شما می توانید شما می توانید در Workflow خود چندین شاخه یا branch ایجاد کنید ، مثلا اگر شرط A درست بود یک اقدام انجام شود و اگر شرط B درست بود اقدام دیگری انجام شود .
برای اضافه کردن شاخه به یک گام یا Step بر روی Insert Else-If Branch در کلیک کنید. برای مثال در Approval Workflow یا گردشکار تاییدیه ، اگر مرورکننده مستند یک مستند را تایید کند ، workflow مجموعه ای از اقدام ها را انجام می دهد و در صورتیکه مرورکننده مستند مستند را رد کند و همان workflow عمل دیگری را انجام خواهد داد ، به این نوع شاخه شاخه شرطی یا conditional branch گفته می شود.
در workflow editor گام ها شامل دو شاخه می شوند که چیزی شبیه آنچه در پایین مشاهده می کنید خواهد شد :
شما همچنین می توانید شاخه ای درست کنید که در آن هیچ شرطی نباشد . در این حالت workflow در صورت درست بودن یک یا چند شرط یک اقدام را انجام می دهد و در صورت نادرست بودن شرط یک اقدام دیگر را انجام می دهد . برای مثال گام هایی که در workflow مشاهده می کنید در صورت درست بودن شرط یک پیام برای گروه تایید کننده ها یا Approvers ارسال می کند ، در غیر اینصورت workflow یک پیام برای ایجاد کننده workflow ارسال می کند. با اضافه کردن یک شاخه بدون داشتن شرط ، Workflow در هر حالتی که شرط شاخه اولی نادرست باشد ، شرط شاخه دوم را اجرا خواهد کرد .
SharePoint Designer 2010 چندین نوع شرط از پیش آماده شده با قابلیت استفاده مجدد برای استفاده در ساختار Workflow ها ارائه کرده است. برای مثال شما می توانید به workflow بگویید که فلان اقدام یا action را در صورتیکه آیتم مورد نظر یکی از شرط های زیر را داشت انجام دهد :
علاوه بر اینها شما می توانید در SharePoint Designer 2010 برای workflow های خود شرط های دلبخواه و همچنین شرط های پیشرفته با استفاده از محدوده گسترده ای از پارامترهای شرط را ایجاد کنید. با استفاده از شرط های دلخواه شما می توانید یک فیلد از لیست حاضر را با یک مقدار مقایسه کنید. برای مثال شما می توانید یک شرط دلخواه ایجاد کنید که اگر فیلد وضعیت تاییدیه یا Approval Status در حالت تایید شده یا Approved قرار داشت ، اقدام یا Action مرتبط با آن شرط را اجرا کند.
با استفاده از شرط های پیشرفته شما می توانید یک مقدار را با یک مقدار دیگر مقایسه کنید. این به شما امکان می دهد که شما بتوانید مقایسه بین یک فیلد در هر لیستی با مقداری از هر لیست دیگر را براحتی انجام دهید. برای مثال شما می توانید یک شرط پیشرفته برای یم کتابخانه اسناد مشترک یا Shared Document Library ایجاد کنید که در آن اگر مقدار فیلد وضعیت یا Status در لیست وظایف یا Task List برابر با Pending یا یا معلق بود ، اقدام متناظر با شرط را انجام دهد.
زمانیکه شما بیش از یک اقدام برای یک شرط داشته باشید ، اقدام ها می توانند به گونه ای طراحی شوند که بصورت همزمان یا موازی ( Parallel ) یا بصورت یکی پس از دیگری یا پشت سر هم ( Serial ) انجام شوند ، بصورت پیشفرض :
اقدام سریال یا پشت سر هم : برای مثال در workflow ای که مشاهده می کنید ، شما می توانید دو اقدام را زمانیکه مستند شما تایید یا approve شد ایجاد کنید ، در اینجا مستند در قسمت کتابخانه آرشیو مستندات یا Archive Document Library کپی می شود و سپس یک پیام ارسال می شود . در workflow editor با استفاده از گزینه then می توانید اقدام بعدی را که بایستی بعد از اقدام اول انجام شود را مشخص کنید.
اقدام های موازی یا Parallel Actions : برای مثال در workflow ای که مشاهده می کنید شما می توانید دو اقدام را زمانیکه مستند تایید شد انجام دهید ، در این حالت زمانیکه مستند تایید یا approve شد ضمن اینکه یک پیام ارسال می شود در همان زمان مزتند در کتابخانه آرشیو مستندات کپی خواهد شد . در workflow editor با استفاده از گزینه and می توانید اقدام دوم را که بایستی بصورت موازی انجام شود را مشخص کنید. اینگونه از مراحل انجام اقدام ها بیشتر در قسمت وظایف و اقدام ها استفاده می شود که معمولا عملیات های زمانگیری هستند. برای مثال در خصوص استفاده در وظایف یا task ها ، این می تواند برای کنترل کردن زمانیکه وظیفه ارجاع داده شد مورد استفاده قرار گیرد.
یک Workflow شامل یک یا چندین گام یا Step می باشد. هر گام می تواند شامل تعدادی از اقدام ها و شرط های مرتبط با آنها باشد. شما همچنین می توانید گام ها یا Step ها را در درون هم قرار دهید و گام های تو در تو ایجاد کنید . اینکار می تواند برای مرتب کردن ساختار workflow شما بکار رود. شما می توانید به گام ها در workflow editor به عنوان بلوک ها یا قسمت های عملیاتی نگاه کنید . برای مثال workflow پایین شامل دو گام می باشد که در workflow editor به شکل زیر نمایش داده می شود :
گام ها به شما این اجازه را می دهند که بتوانید شرط ها و اقدام های خود را که در قالب قوانین یا Rule ها وجود دارند گروه بندی کنید ، به گونه ای که عملیات این گروه ها بتواند یکی پس از دیگری انجام شود . تنظیمات مربوط به اقدام ها در workflow را به گونه ای انجام دهید که workflow با سطح دسترسی نویسنده workflow اجرا شود .
در SharePoint Designer 2010 شما می توانید با استفاده از گام های جعل هویت یا Impersonation Steps کاری کنید که اقدام هایی که در Workflow انجام می شود با سطح دسترسی نویسنده Workflow به جای سطح دسترسی اجرا کننده workflow اجرا شود . گام های جعل هویت یا Impersonation Steps در سناریوهای مربوط به تاییدیه و انتشار بیشتر کاربرد دارند ، زمانیکه کاربران محتوایی را برای تایید ثبت می کنند و سایر کاربرانی که بایستی این محتویات را تایید کنند سطح دسترسی های متفاوتی دارند.
نویسنده workflow آخرین شخصی است که workflow را منتشر کرده است . زمانیکه یک workflow مجددا توسط کاربری دیگر منتشر می شود ، نویسنده و ایجاد کننده Workflow به دلیل وجود instance های موجود و فعال در Workflow تغییر نخواهد کرد. آن دسته از Workflow هایی که بعد از انتشار مجدد Workflow شروع به کار می کنند از Workflow ای که بروز شده است استفاده می کنند.
در سناریویی که مشاهده می کنید ، شخصی که workflow را اجرا می کند دسترسی لازم برای قرار دادن فایل در کتابخانه آرشیو یا Archive Library را ندارد اما نویسنده Workflow این دسترسی را دارد . زمانیکه که کاربر فاقد دسترسی این Workflow را اجرا می کند ، در صورتیکه شرط مورد نظر در گام جعل هویت یا Impersonation Step درست باشد ، مستند مورد نظر با استفاده از دسترسی نویسنده Workflow در قسمت مورد نظر که کتابخانه آرشیو یا Archive Library است کپی خواهد شد.
گام دوم در اینجا یک Impersonation Step نیست بنابراین با دسترسی اجرا کننده Workflow انجام خواهد شد. بهترین گزینه برای استفاده از Impersonation Step ها در Workflow زمانی است که می خواهیم اقدامی را توسط کاربر عادی انجام دهیم در حالی که به دسترسی نویسنده workflow نیاز داریم ، به همین دلیل بهتر است در موراد خاصی از این قابلیت استفاده کنیم .
برخی از Workflow ها می توانند به گونه ای طراحی شوند که بتوانند در مجموعه مرتبی از اقدام های پشت سر هم در یک گام انجام شوند و برخی دیگر می توانند مجموعه ای از گام ها یا Step ها باشند. برای مثال اقدامی که در این گام مشاهده می کنید می تواند به چندین گام مجزا تقسیم شود و یا می تواند بصورت گام های تو در تو قالب بندی شود .
در زیر تصویری از یک workflow که بصورت گام های تو در تو طراحی شده است را می توانید در قالب یک بلوک شرطی مشاهده کنید.
گام ها روشی هستند که به وسیله آنها شما workflow خود را سازماندهی می کنید. قانون خاصی برای قرار دادن بلوک های شرطی در Workflow ها و همچنین استفاده از گام ها وجود ندارد و استفاده از گام و تعداد آنها کاملا بستگی به سلیقه شخصی و شیوه استفاده نویسنده Workflow از آنها دارد. برای مثال یک Workflow می تواند دارای اقدام های زیاد بدون داشتن هیچگونه شرطی باشد ، در این حالت شما می توانید هر یک از این اقدام ها را در قالب یک گام برای سازماندهی بهتر طراحی کنید و یا می توانید تمامی آنها را در قالب یک گام طراحی کنید. فرآیند پردازش قوانینی که در یک گام وجود دارند ابتدا انجام شده و سپس نتیجه به گام بعدی ارسال می شود ، بنابراین در اینگونه Workflow ها استفاده از یک یا چندین گام کاملا بستگی به سلیقه و نظم نویسنده آن Workflow دارد.
برای اینکه بتوانید Workflow خود را پویاتر و انعطاف پذیرتر کنید ، می توانید به workflow خود فرم اضافه کنید . با استفاده از فرم شما می توانید اطلاعات مورد نیاز برای آیتم های workflow را توسط کاربر دریافت کنید و همچنین این قابلیت را به کاربر خود بدهید که بتواند با وظایفی که در workflow برایش ارجاع داده شده است ارتباط برقرار کند و در نهایت فرم ها می توانند به شما کمک کنند که مطمئن باشید که داده های موجود برای گردشکارهای با اقبلیت استفاده مجدد یا reusable workflows بدون توجه به لیست ، کتابخانه یا content type ای که به آن مرتبط شده است در دسترس می باشد. با استفاده از SharePoint Designer 2010 شما می توانید برای workflow های خود سه نوع فرم به شکل های زیر ایجاد کنید :
پس از اینکه SharePoint Designer 2010 بصورت خودکار فرم های مورد نظر را ایجاد کرد ، شما می توانید آنها را با استفاده از رفتن به صفحه Settings مربوط به Workflow در قسمت Forms و کلیک بر روی فرم مورد نظر دلخواه سازی کنید . فرم هایی که برای workflow ها ایجاد می شود یا InfoPath هستند و یا صفحات ASP.NET هستند. این فرم ها در سایت شیرپوینت با تمامی فایل های source خود ذخیره می شوند.
اگر سرور شما از نوع SharePoint Server 2010 است ( یعنی اینکه صرفا SharePoint Foundation 2010 نمی باشد ) ، فرم های Workflow ها ، وابستگی ها یا Association ها ، آغاز به کار ها یا Initiation ها و وظیفه ها می تواند در قالب فرم های InfoPath 2010 اجرا شوند. تغییر ظاهر و قالب فرم های InfoPath تقریبا ساده است و شما می توانید قوانین اعتبار سنجی یا Validation Rule نیز به این فرم ها اضافه کنید. برای اینکه یک فرم گردشکار یا Workflow Form را در InfoPath 2010 ویرایش کنید ، صرفا کافیست بر روی آن فرم کلیک کنید تا فرم مورد نظر توسط InfoPath 2010 در درون SharePoint Designer 2010 باز خواهد شد. فرم های InfoPath برای لیست ها ، کتابخانه ها و Workflow ها در دسترس می باشند.
Workflow ها در یک کتابخانه مستندات یا document library در سطح سایت به نام Workflows نگه داری می شوند. این کتابخانه مستندات بصورت خودکار توسط SharePoint Designer 2010 ایجاد می شود. بصورت پیشفرض کتابخانه مستندات Workflows توسط مرورگر شما قابل رویت نمی باشد و هیچ List View ای مانند AllItems.aspx یا EditForm.aspx برای آن وجود ندارد. برای اینکه بتوانید محتویات کتابخانه مستندات Workflows را مشاهده کنید در SharePoint Designer 2010 در قسمت Navigation بر روی All Files کلیک کرده و در قسمت اصلی بر روی Workflows کلیک کنید .
کتابخانه مستندات Workflows برای هر یک از workflow هایی که توسط SharePoint Designer 2010 ایجاد می شود ، یک پوشه ایجاد می کند که در داخل این پوشه فایل های سورس ضروری Workflow قرار دارند ، برخی از مواردی که در این پوشه مشاهده می شود به شرح زیر است :
برای ویرایش کردن یک workflow در SharePoint Designer 2010 از قسمت Navigation بر روی Workflows کلیک کنید . در صفحه اصلی بر روی Workflow مورد نظر راست کلیک کرده و بر روی Edit Workflow کلیک کنید.
همانطور که قبلا هم اشاره شد بهترین روش برای ایجاد reusable workflow ها کپی کردن و اعمال تغییرات بر روی یکی از Workflow های پیشفرض است . برای اینکه بتوانید یک reusable workflow را در SharePoint Designer 2010 کپی و تغییر دهید از قسمت Navigation بر روی Workflows کلیک کنید. در قسمت اصلی ، بر روی reusable workflow مورد نظر راست کلیک کنید و همانند شکل زیر Copy and Modify را کلیک کنید.
هر دوی این دستورالعمل ها و قوانینی که ذکر شد ، Workflow را در محیط Workflow Editor باز می کنند. شما می توانید برای ویرایش workflow بر روی ریبون کلیک کنید و تنظیمات آن را مدیریت کرده و فرآیند وظایف را نیز برای Workflow تعریف کنید . Workflow editor می تواند اقدامی به نام Log to History List یا لاگ برداری در لیست تاریخچه را انجام دهد. این اقدام یکی از بهترین کارهایی است که شما می توانید توسط آن از از کلیه اقدام هایی که توسط Workflow انجام می شود یک رکورد ذخیره کرده و داشته باشید.
Workflow History در زمانیکه شما می خواهید خطاهای بوجود آمده در Workflow را شناسایی و پیگیری کنید می تواند بسیار کاربردی باشد. زمانیکه شما یک Workflow ایجاد می کنید که از اقدام ها برای لاگ برداشتن در History List استفاده می کند ، SharePoint Designer 2010 بصورت خودکار یک لیست به نام Workflow History ایجاد می کند. این لیست بصورت پیشفرض در آدرس زیر ایجاد می شود :
http://<sitename>/Lists/Workflow%20History
شما می توانید در زمان طراحی workflow های سایت و لیست یک History List متفاوت ایجاد کنید و آن را به Workflow ارتباط دهید . این لیست شامل ستون های اطلاعاتی مثل User ID ، Date ، Event و توضیح خطاها یا Error Description می باشد. همانند کتابخانه مستندات Workflows ، بصورت پیشفرض History List نیز از دیده شدن توسط مرورگرها مخفی شده است اما شما می توانید با استفاده از قسمت Navigation و کلیک بر روی All Files در SharePoint Designer 2010 این موارد را مشاهده کنید.
ویرایشگر workflow یا همان workflow editor می تواند شش اقدام را با لیست وظایف یا Task List انجام دهد که شامل ارجاع دادن انجام یک آیتم یا Assign To-Do Item ، دریافت اطلاعات از کاربر یا Collect Data from a user و همچنین ارجاع دادن یک فرم به یک گروه یا Assign a form to a Group می باشد. Workflow ها بصورت پیشفرض از لیست وظایف یا Task List استفاده می کنند اما شما می توانید تنظیماتی انجام دهید که آنها از لیست وظایف دلخواه شما یا Custom Task List استفاده کنند.
شما ممکن است از لیست وظایف دلخواه یا Custom Task List ها برای جداسازی Workflow ها از انواع دیگر وظایف یا برای موارد مرتبط با سطوح دسترسی استفاده کنید . شما می توانید از یک لیست وظایف دلخواه در کلیه Workflow های موجود در یک سایت استفاده کنید و یا می توانید برای هر یک از Workflow های خود لیست وظایف دلخواه خود را ایجاد کنید. این کاملا به مسائل فنی مرتبط با نیازمندیهای سازمان به Workflow ها بستگی دارد.
زمانیکه شما یک workflow ایجاد می کنید که از هر یک از سه اقدام بالا را استفاده می کند ، SharePoint Designer 2010 بصورت خودکار یک فرم ، content type مرتبط یا وظیفه یا Task و همچنین لیست وظایف یا Task لیست را در صورت ضرورت ایجاد می کند. بصورت پیشفرض لیست وظایف را می توان توسط مرورگر مشاهده کرد ، بر خلاف کتابخانه مستندات Workflows و History List که نمی توان مشاهده کرد.
شما براحتی می توانید با استفاده از مرورگر خود فرآیند پردازشی یک Workflow بر روی آیتم انتخاب شده را مشاهده کنید. در یک لیست یا کتابخانه مستنددات گزینه All Items View بصورت پیشفرض وضعیت فعلی Workflow هایی که بر روی آیتم مورد نظر اجرا شده اند را نمایش می دهد. در مثال ما در قسمت Design Change Request وضعیت Workflow برای Widget 1 DCR در حالت در حال انجام یا In Progress قرار دارد.
با کلیک کردن بر روی قسمت Status یا وضعیت Workflow بر روی یک آیتم ، مثلا در صورت کلیک کردن بر روی گزینه In Progress یا Completed ، شما را به صفحه وضعیت Workflow برای Workflow ای که برای آیتم مورد نظر انتخاب کرده اید هدایت خواهد کرد. برای اینکه بتوانید وضعیت Workflow های سایت را مشاهده کنید بر روی منوی Site Actions کلیک کرده و قسمت View All Site Content را انتخاب کرده و در نهایت Site Workflow را کلیک کنید . صفحه وضعیت Workflow یا Workflow Status Page اطلاعات زیر را در اختیار شما قرار می دهد :
در صورتیکه شما موارد زیر را استفاده کرده باشید ، می توانید در قسمت وضعیت Workflow شکل مجسم شده یا مصور آن را مشاهده کنید :
نکته : توجه کنید که بر روی کامپیوتر شما برای مشاهده Visualization از Workflow نیازی نیست که Visio نصب شده باشد.
با استفاده از قابلیت مجسم سازی Workflow ها ، یک دیاگرام Visio از Workflow انتخاب شده بصورت خودکار ایجاد و در صفحه وضعیت Workflow در قالب یک Visio Web Part نمایش داده می شود. مجسم سازی Workflow به شما یک منظره زنده از مرحله ای که Workflow در آن قرار دارد نمایش می دهد. برای مشاهده صفحه Workflow برای یک آیتم شما می توانید بر روی آیتم مورد نظر از لیست کیک کرده و از منو گزینه Workflows را انتخاب کنید. توجه کنید که دستور Workflow صرفا زمانی در دسترس است که شما حداقل یک Workflow به آیتم موجود در لیست متصل کرده باشید.
زمانیکه یک کاربر یک workflow را بر روی یکی از آیتم ها start می کند ، SharePoint Foundation 2010 یا SharePoint Server 2010 یک ستون جدید به آن لیست یا کتابخانه ای که آیتم مورد نظر در آن قرار دارد اضافه می کند. بصورت پیشفرض ستونی که ایجاد می شود همنام با Workflow ای است که به آن متصل شده است . این ستون فقط خواندی وضعیت workflow را در حالت فعلی به شما نمایش می دهد. این ستون وضعیت بصورت خودکار در اولین باری که یک Workflow اجرا می شود ایجاد خواهد شد. در هر ستون وضعیت workflow به شکل لینک نمایش داده می شود. زمانیکه مثلا بر روی لینک In Progress یا در حال انجام کلیک می شود شما می توانید صفحه وضعیت فعلی workflow را مشاهده کنید .
Workflow ها ابزارهایی بسیار قوی و روشی برای تبدیل کردن منطق نرم افزاری به سایت ها و نرم افزارهای کاربردی SharePoint هستند. تا اینجا که شما توانستید مفاهیم اولیه Workflow ها در شیرپوینت را درک کنید ، شاید بخواهید کار خود را با ایجاد یک Workflow در شیرپوینت شروع کنید. به امید خدا در ادامه مقالات بعدی در خصوص شیوه ایجاد Workflow های کاربردی در SharePoint برای شما توضیحاتتی را ارائه خواهم داد ، امیدوار هستم که مورد توجه شما قرار گرفته باشد .
بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات
محمد نصیری هستم ، بنیانگذار انجمن تخصصی فناوری اطلاعات ایران و مجموعه توسینسو ، هکر قانونمند و کارشناس امنیت سایبری ، سابقه همکاری با بیش از 80 سازمان دولتی ، خصوصی ، نظامی و انتظامی در قالب مشاور ، مدرس و مدیر و ناظر پروژه ، مدرس دوره های تخصص شبکه ، امنیت ، هک و نفوذ ، در حال حاضر در ایران دیگه رسما فعالیتی غیر از مشاوره انجام نمیدم ، عاشق آموزش و تدریس هستم و به همین دلیل دوره های آموزشی که ضبط می کنم در دنیا بی نظیر هستند.
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود