ما در حالت sequencial میتوانیم کار قبلی را به راحتی بازیابی کنیم. معمولا اقدام انجامشده در کار قبلی (اقدام پیشین) را نمایش میدهیم. ولی در حالت موازی، کمی متفاوت است:
سوال: برای task3 چگونه می توان وظیفه انجام شده قبلی را به دست آوزد؟
در تعریف هر کار میتوان مقدار action category را تعیین کرد. از مستندات:
با تعیین یک عبارت یا مقدار ثابت میتوان مقداری را به عنوان action category تعیین کرد. اگر این فیلد مقدار داشته باشد، یک پارامتر با شناسهی actionCategory و مقدار تعیینشده به فرمهای اقدام ارسال میشود. مثال از کاربرد: دستهبندی اقدامهای مسیرهای موازی در فرآیند.
مراحل انجام کار:
1- قبل از شروع مسیر موازی (مثلا یال قبل از gateway)، یک اسکریپت بنویسید و یک متغیر با نام myActionCategory و مقدار consultant_action ایجاد کنید.
2- در قسمت configuration properties از task1 و task2 در فیلد Action Category مقدار زیر را وارد کنید:
${myActionCategory}
با این کار هنگامی که هر کدام از فرمهای اقدام از task1 یا task2 را باز کنید، یک پارامتر با نام actionCategory و مقدار consultant_action (مقدار متغیر) به آنها ارسال میشود. که هنگام ثبت اقدام در application خود باید آنها را دریافت و ذخیره کنید.
3- یک فرم برای نمایش اقدام(های) پیشین پیادهسازی کنید که بتواند با گرفتن action category (یعنی مثلا یک پارامتر به نام actionCategory داشته باشد)، اقدامهای مربوطه را برگرداند و به شکل مناسبی آنها را نمایش دهد (حالتی که اقدامی هم وجود نداشته باشد باید support کند). این فرم را در form definitions از task3 اضافه میکنیم. در این حالت مقدار پارامتر actionCategory هم قاعدتا به صورت expression زیر باید داده شود:
${myActionCategory}
سوال: برای task1 و task2 هر کدام زودتر تکمیل شد اطلاعات آن را ردر دیگری به عنوان وظیفه پیشین نمایش داد؟
این را هم با کمک action category میتوان انجام داد. فقط باید فرم "اقدام پیشن" پیادهسازی شده را در task1 و task2 هم قرار داد (در قسمت form definitions).