یکی از امکانات سیستم مدیریت فرایندهای نوسا امکان اطلاع رسانی به ذینفعان فرایند از طریق ارسال اعلامیه است. ارسال اعلامیه های اطلاع رسانی به دو روش انجام می شود: 1- پیام کوتاه (SMS) 2- پست الکترونیک (Email)
ارسال پیام کوتاه از طریق سرویس دهنده های خدمات پیامک و ارسال پست الکترونیک از طریق سرویس دهنده های ایمیل (SMTP) انجام می شود لذا گام اول این است که تنظیمات لازم برای اطلاع رسانی انجام شود. این تنظیمات در قالب مفهومی بنام شیوه های اطلاع رسانی انجام می شود. در واقع برای هر نوع اطلاع رسانی (پیامک و ایمیل) یک شیوه اطلاع رسانی تعریف می کنیم و در آن تنظیمات لازم را انجام می دهیم.
توضیح: از آنجایی که ممکن است از سرویس دهنده های مختلف و تنظیمات متنوع استفاد کنیم لذا ممکن است برای هر نوع اطلاع رسانی، بیش از یک شیوه اطلاع رسانی تعریف کنیم.
تعریف یک شیوه اطلاع رسانی
گام اول برای اطلاع رسانی تعریف شیوه اطلاع رسانی است. برای این کار باید مطابق شکل زیر از منوی «طراحی گردش کار» روی گزینه «شیوه های اطلاع رسانی گردش کار» کلیک کنید:

به این ترتیب، محاوره شیوه های اطلاع رسانی گردش کار به شکل زیر روی صفحه باز می شود:

برای ایجاد یک شیوه اطلاع رسانی باید روی آیکون
در نوار ابزار کلیک کنید. به این ترتیب محاوره تعریف یک شیوه اطلاع رسانی به شکل زیر نمایان می شود:

همانطور که ملاحظه می کنید تنظیمات شیوه اطلاع رسانی در سه برگه بنامهای «عمومی»، «پیام کوتاه» و «پست الکترونیک» انجام می شود. روش کار به این شکل است که در برگه عمومی نوع اطلاع رسانی (پیام کوتاه یا پست الکترونیک) و بقیه مشخصات عمومی تنظیم می شود و سپس بسته به نوع اطلاع رسانی، لازم است که در یکی از برگه های پیام کوتاه یا پست الکترونیک تنظیمات تکمیلی انجام شود.
تنظیمات برگه عمومی
همانطور که گفته شد، در این برگه مشخصات عمومی و نوع اطلاع رسانی مشخص می شود. این تنظیمات به شرح زیر است:
کد: در اینجا بطور اتوماتیک برای هر شیوه جدید یک عدد به شکل ترتیبی درج می شود که البته می توانید این عدد را به شکل دلخواه نیز وارد کنید.
نام : در اینجا یک نام فارسی برای شیوه اطلاع رسانی انتخاب کنید.
نام لاتین: در صورت تمایل می توانید یک نام لاتین نیز برای شیوه اطلاع رسانی وارد کنید.
نوع : در اینجا از میان دو نوع «پیام کوتاه» و «پست الکترونیک» ، نوع مورد نظر خود را انتخاب کنید. نوع پیش فرض در این قسمت، روش پیام کوتاه است.
مناسب اطلاع رسانی درون سازمانی است: یکی از امکانات صندوق پیام در سیستم مدیریت فرایندها امکان ارسال اعلامیه های اطلاع رسانی به کاربران سیستم است. صندوق پیام برای این کار تنها از شیوه های مناسب اطلاع رسانی درون سازمانی استفاده می کند. لذا اگر مایل به استفاده از این امکان هستید باید این گزینه را تیک بزنید.
غیرفعال: اگر این گزینه را تیک بزنید، این شیوه اطلاع رسانی غیرفعال خواهد شد.
محدودیت زمانی: در حالت پیش فرض اعلامیه ها بدون محدودیت و در تمام ساعات روز امکان ارسال دارند. و اما اگر می خواهید زمان ارسال اعلامیه ها را محدود کنید، باید گزینه «دارد» را تیک بزنید و سپس محدوده زمانی را از «زمان شروع» تا «زمان پایان» تعیین کنید.
تعداد پیام ارسال شده در هر مرحله: برای مدیریت بهتر منابع سرور، می توانید تعداد پیامهای ارسال در هر مرحله را محدود کنید، در غیر این صورت در هر مرحله، سرور درگیر ارسال تمام پیامها می شود و این امر احتمال اختلال و کندی در امور دیگر سرور را به دنیال خواهد داشت.
تلاش مجدد برای اعلامیه های ارسال نشده: ارسال اعلامیه ها بنا به دلایل مختلف ممکن است با خطا روبرو شود. با تیک زدن این گزینه، سیستم مدیریت فرایندها، اعلامیه هایی را که با خطا متوقف شده اند، مجددا در مراحل بعد ارسال می کند.
زمان انقضا: معمولا ماهیت اعلامیه ها به شکلی است که پس از گذشت زمان تاثیر و ضرورت خود را از دست می دهند و لذا برای جلوگیری از رسوب اعلامیه ها بهتر است تا یک زمان انقضا برای اعلامیه ها تعیین کنیم. به این ترتیب، اعلامیه ها حداکثر به تعداد روزی که در این قسمت تعیین شده، در انتظار ارسال باقی می مانند و در صورت عدم ارسال، از حالت در انتظار خارج شده و منقضی می شوند.
تنظیمات برگه پیام کوتاه (SMS)
از آنجایی که ارسال اعلامیه های پیام کوتاه به شکل انبوه انجام می شود لذا شماره های عادی این امکان را ندارند. بنابراین اطلاع رسانی پیام کوتاه به شکل انبوه، معمولا از طریق شرکتهای ارائه خدمات پیامک و با شماره ثبت شده تجاری انجام می شود. بنابراین پس از عقد قرارداد با این شرکتها، یک نام کاربری و کلمه عبور و یک سری تنظیمات مورد نیاز برای پروتکل، ساختار و محتوای پیامک ها از طرف شرکت ارائه دهنده خدمات، به کاربر ارائه می شود و کاربر موظف است این تنظیمات را عینا در سیستم خود اعمال نماید. برگه تنظیمات پیام کوتاه به شکل زیر است:

تنظیمات یادشده در این برگه به شرح زیر است:
آدرس سرویس دهنده: شرکتهای ارائه دهنده خدمات ارسال پیامک، این خدمات را از طریق سرویس دهنده های معینی ارائه می دهند که در این قسمت آدرس سرویس دهنده را وارد می کنیم. برای مثال:
https://panel.idehpayam.com/webservice/url/send.php?method=sendsms&format=json&type=0
نام کاربری و کلمه عبور: در اینجا نام و کلمه عبور دریافت شده از ارائه دهنده خدمات پیامک را وارد کنید.
پروتکل HTTP: سیستم مدیریت فرایندها برای ارسال درخواست به سرویس دهنده ها از متدهای Get و Post از پروتکل http پشتیبانی می کند. این گزینه یک فهرست بازشونده حاوی متدهای زیر است:
- GET
- Post (form-UrlEncoded)
- Post(JSON)
بر مبنای متدی که سرویس دهنده پشتیبانی می کند باید یکی از گزینه های فوق را انتخاب کنید.
ساختار محتوای پیام
در این ناحیه بسته به متد انتخاب شده در مرحله قبل، ساختار محتوای پیام در برگه های مرتبط به شرح زیر تعیین می شود:
هدرهای HTTP: در صورتی که از متد Post (Json) استفاده می کنید باید Header ها را در این ناحیه تعیین کنید. برای مثال:
username=$UserName$
password=$Password$
پارامترهای ارسال: در صورتی از متدهای Get یا Post(form-UrlEncoded) استفاده می کنید، باید پارامترهای پیام را در این ناحیه مشخص کنید. پارامترها به دو بخش ثابت و متغیر تقسیم می شود:
پارامترهای ثابت: در متد Get، مقدار داده ها در url درج می شود. به دلیل محدودیت در طول url، پارامترهای ثابت را در این ناحیه درج می کنیم. برای مثال:
Company: Nosa
پارامترهای متغیر: در این ناحیه پارامترهای متغیر و لازم برای تعیین محتوای پیام را تعیین می کنیم. برای مثال:
UserName (نامکاربري) =username
Password (کلمهعبور) =password
Body (متن) =text
PhoneNo (شمارهتلفن) =to
IsUnicode (فارسي) =isfarsi
SenderNo (شمارهفرستنده) =from
توضیح: لازم به تاکید است که در متد Post(Json) ، پارامترهای پیام در متن محتوای پیام درج می شود و نیازی به تعیین پارامترها در این ناحیه وجود ندارد.
محتوا Json: اگر از متد Post(Json) استفاده می کنید باید فرمت محتوای پیام را در این ناحیه وارد کنید. مثال:
{
"from": "$SenderNo$",
"recipients": [
"$PhoneNo$"
],
"message": "$Body$"
}
مقادیر پارامتر تعیین کننده زبان پیام (IsUnicode) : یکی از پارامترهای پیام، پارامتر IsUnicode است فارسی بودن پیام را تعیین می کند. در قسمت درج پارامترها و در مثال مشخص شد که یک سرویس دهنده از پارامتر isfarsi برای این کار استفاده می کند. حال در این قسمت باید مشخص کنیم که مقادیر این پارامتر چیست. یعنی این که کدام مقدار نشانگر فارسی و کدام مقدار نشانگر انگلیسی بودن این پارامتر است. برای مثال:
پیامک فارسی: 1 پیامک انگلیسی: 0
ملاحظه می کنید که در این مثال اگر پارامتر isfarsi مقدار 1 بگیرد به این معنی است که پیامک فارسی است.
توضیح: در حال حاضر الگوریتم هایی وجود دارد که بطور اتوماتیک زبان پیام را تشخیص می دهد و این پارامتر بیشتر مربوط به گذشته است و اکنون خیلی کاربرد ندارد.
شماره فرستنده: سرویس دهنده های خدمات پیامک، معمولا یک شماره تجاری 8 رقمی برای هر مشتری در نظر می گیرند. این شماره را باید در این قسمت وارد کنید. گیرندگان پیامک، این شماره را به عنوان فرستنده مشاهده خواهند کرد.
حذف حروف کنترلی از متن پیام: بعضی از حروف کنترلی مثال $، & و ... ممکن است در ارسال پیامها اختلال ایجاد کنند لذا با فعال کردن این گزینه، کاراکترهای کنترلی از متن پیام حذف می شود.
مثال : پنل پیامکی شرکت ایده پیام
برای درک بهتر مطالب فوق، تنظیمات یک ارائه دهنده واقعی خدمات پیامکی را مورد بررسی قرار دهیم. این شرکت وب سرویس پیامک خود را به روشهای مختلف ارائه می کند که موارد زیر توسط سیستم مدیریت فرایندها پشتیبانی می شود:
وب سرویس URL: در این نوع از وب سرویس شما می توانید درخواستهای خود را با متدهای Get و Post (UrlEncoded) ارسال کنید به این شکل که پارامترها و مقادیر آن به انتهای آدرس Url سرویس دهنده اضافه می شود. مستندات ایده پیام پارامترهای پیامک را به شکل زیر تعیین کرده است:

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

اگر دقت کنید متوجه خواهید شد که پارامتر type در فهرست پارامترهای متغیر وارد نشده است. علت آن این است که چون می خواهیم پیامکهای ارسالی از نوع معمولی (type=0) باشند لذا این پارامتر را در قسمت پارامترهای ثابت وارد کرده ایم. لازم به تاکید است این تنظیمات برای متد Get نیز قابل استفاده است اما مزیت عمده متد Post این است که داده های Url کد می شوند و قابل مشاهده نیستند لذا برای ارسال داده های حساس، مناسب تر است. البته متد Post مزایای دیگری نیز دارد که در مستندات پروتکل http موجود است.
نکته دیگر این است که در مستندات شرکت ایده پیام، پارامتری برای تعیین زبان وجود ندارد ولذا برای پارامتر IsUnicode مقداری وارد نشده است.
وب سرویس REST: در مستندات شرکت ایده پیام، آدرس سرویس دهنده و روش احراز هویت به شکل زیر اعلام شده است:

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

ملاحظه می کنید که بنابر مستندات فوق، آدرس پایه سرویس وب در قسمت آدرس سرویس دهنده و نام کاربری و کلمه عبور نیز در برگه «هدرهای http» وارد شده است.
در بخش دیگر از مستندات ایده پرداز، ساختار بدنه درخواست ارسال پیامک برای وب سرویس Rest به شکل زیر تعیین شده است:

ملاحظه می کنید که پارامترهای محتوای پیامک در Body یک درخواست Post و به فرمت json وارد شده است. لذا تنظیمات این شیوه اطلاع رسانی در سیستم مدیریت فرایندها به شکل زیر خواهد بود:

تنظیمات برگه پست الکترونیک (Email)
برگه تنظیمات پست الکترونیک به شکل زیر است:

تنظیمات موجود در این برگه به شرح زیر است:
نام (یا شماره IP) سرویس دهنده: آدرس URL و یا شماره IP سرویس دهنده پست الکترونیک (SMTP Server) را در اینجا وارد می کنیم. برای مثال:
mail.nosa.com
شماره پورت: در اینجا شماره پورت سرویس SMTP وارد می شود که بطور عادی 25 است و به همین دلیل این شماره به شکل پیش فرض در این قسمت تعیین شده است.
Timeout (ثانیه): در اینجا تعیین می کنیم که اگر زمان عملیات ارسال پست الکترونیک از یک مقدار معینی بیشتر شد، آنگاه عملیات متوقف شود. برای مثال اگر عدد 30 را در این قسمت وارد کنیم، آنگاه سیستم حداکثر تا 30 ثانیه تلاش می کند تا پست الکترونیک را ارسال کند و در غیر این صورت، عملیات ارسال متوقف می شود.
استفاده از پروتکل SSL هنگام اتصال به سرویس دهنده SMTP: اگر سرور SMTP امکان پشتیبانی از پروتکل SSL را داراست، می توانید با فعال کردن این گزینه، ایمیل ها را به شکل کدشده و با امنیت بیشتر ارسال کنید.
نوع احراز هویت (Authentication): برای استفاده از سرویس دهنده پست الکترونیک نیاز به احراز هویت داریم. انواع احراز هویت به شرح زیر است:
- Anonymous (no Authentication): در این حالت احراز هویت انجام نمی شود و هر کاربری به شکل ناشناس می تواند از خدمات سرویس پست الکترونیک استفاده نماید.
- Basic Authentication: در این حالت، برای استفاده از سرویس دهنده پست الکترونیک، نیاز به نام کاربری و کلمه عبور است.
- NTLM Authentication: در این روش، کاربر تنها در زمان اتصال به سیستم عامل احراز هویت می شود و از آن پس می تواند با اختیارات مدیریت شده، از تمام منابع سیستم عامل از جمله سرویس پست الکترونیک استفاده کند و دیگر نیازی به احراز هویتهای مکرر ندارد.
نام کاربری و کلمه عبور: در حالت احراز هویت از نوع Basic Authentication نام کاربری و کلمه عبور را در این قسمت وارد کنید.
آدرس فرستنده: در این قسمت نام فرستنده یا Sender ایمیل را وارد کنید. مثال:
support@nosa.com
عنوان پست الکترونیک ارسالی: منظور از عنوان در اینجا در واقع Subject ایمیل است. عبارتی که در اینجا وارد می کنید در لیست ایمیلها نمایش داده می شود. مثال: "گواهی شرکت در همایش"
حداکثر اندازه فایل پیوست: ایمیل های ارسالی این امکان را دارند که یک یا چند فایل را به صورت ضمیمه به همراه داشته باشند. در اینجا با هدف مدیریت بهتر منابع سرور در ارسال ایمیلها، یک اندازه حداکثر برای فایلهای ضمیمه تعیین می کنیم. مثال: 1048576 بایت. در این مثال فایلهای ضمیمه حداکثر می تواند یک مگابایت باشد.
فرم چاپی: در سیستم مدیریت فرایندها، طراحی و ترکیب بندی محتوای ایمیل ها در قالب فرمهای چاپی انجام می شود. در فرم چاپی می توانیم انواع المانهای لازم برای متن ایمیل از جمله لوگو، متنهای ثابت و متغیر را جایگزاری کنیم. در واقع در هنگام ارسال ایمیل، این فرم چاپی است که بصورت الکترونیک ارسال می شود.
توضیح: در محیط طراحی فرمهای چاپی، امکانات گرافیکی حداقلی برای پاراگراف بندی، تعیین فونتها و درج تصاویر وجود دارد که برای ایمیل های عادی کافی است با این حال اگر نیاز به طرح بندی های خاص و امکانات گرافیکی پیشرفته دارید بهتر است متن ایمیل را در محیطهای ویرایشگر متن (مثلا word) طراحی کنید و سپس آن را به ایمیل ضمیمه کنید.
مفهوم ارسال اعلامیه در سیستم مدیریت فرایندها
حال که با شیوه های اطلاع رسانی آشنا شدیم بهتر است با معنی و مفهوم ارسال اعلامیه آشنا شویم. در سیستم مدیریت فرایندها ، ارسال اعلامیه به معنی تحویل اعلامیه به سامانه ارسال اعلامیه هاست. این سامانه ها یا پنل های ارسال پیامک و یا سرویس دهنده های SMTP هستند و لذا در این حالت، ارسال اعلامیه ها موفق ارزیابی می شود و سیستم کاری به تحویل واقعی اعلامیه به گیرنده ندارد. به عبارت دیگر ادامه فرایند از سامانه به دست گیرنده، به عهده سامانه است و از کنترل و نظارت سیستم مدیریت فرایندها خارج است. لذا خطاهای احتمالی در پروسه رسیدن اعلامیه به دست گیرنده ها در این سیستم handle نمی شود.
روشهای تولید اعلامیه ها
حال که با شیوه های اطلاع رسانی آشنا شدیم سوال این است که اساسا روال تولید و ارسال اعلامیه ها به چه شکل است؟ به عبارت دیگر، متن اعلامیه ها چگونه تولید و به چه شکل ارسال می شود؟ در جواب باید بگوییم که اعلامیه ها به دو روش تولید و ارسال می شود:
1-روش دستی و از طریق رابط کاربری سیستم مدیریت فرایندها: در این روش کاربر تصمیم می گیرد که در شرایط خاصی، اعلامیه های مورد نظر خود را ارسال نماید. ارسال دستی خود به دو شکل انجام می شود: 1- اطلاع رسانی داخلی از طریق صندوق پیام و 2- اطلاع رسانی در محاوره «اعلامیه های تولید شده در گردش کار»
2- روش سیستمی از طریق برنامه گردش کار: در این روش، سیستم به شکل خودکار و بر مبنای منطق تجاری (Business Logic) اعلامیه ها را تولید و ارسال می کند. این کار با استفاده از متد CreateNotification در برنامه گردش کار انجام می شود.
این روشها در مستندات جداگانه توضیح داده خواهد شد.