Shall we provide a UI from bpmn explorer for the user substitution. We
should also provide the capability to view a substitute defined for a given
user. So we need to introduce the substitute lookup API as well. Shall we
define a permission  for the substitute operation as well. In case the user
calling the substitute operation is not the owner of the tasks, then they
should have the substitute permission.

Regards
Nandika

On Thu, Jun 2, 2016 at 1:13 PM, Frank Leymann <[email protected]> wrote:

> Fantastic!  Thanks!
>
>
> Best regards,
> Frank
>
> 2016-06-02 5:21 GMT+02:00 Vinod Kavinda <[email protected]>:
>
>> Hi Frank,
>> Yes, the determining of users as substitutes will be a transitive process.
>>
>> Regards,
>> Vinod
>>
>> On Wed, Jun 1, 2016 at 10:48 PM, Frank Leymann <[email protected]> wrote:
>>
>>> Hi Vinod,
>>>
>>> great that you are implementing it!
>>>
>>> As described in [1], substitution processing is transitive. Your diagram
>>> doesn't explicitly depict this transitive processing: are you considering
>>> this but the diagram leaves that out for clarity?
>>>
>>>
>>> [1] https://mail.google.com/mail/u/0/#sent/154edd36fb959ac5
>>>
>>>
>>> Best regards,
>>> Frank
>>>
>>> 2016-06-01 11:25 GMT+02:00 Vinod Kavinda <[email protected]>:
>>>
>>>> Hi all,
>>>>
>>>> In BPMN user tasks, if a task assignee became unavailable (eg: on
>>>> vacation), assigned tasks are getting delayed and anyone else cannot work
>>>> on them either.
>>>>
>>>> This feature is to provide an API to allow automatically substitute the
>>>> user in future tasks and to reassign the existing tasks. Follow the below
>>>> diagrams for more details.
>>>>
>>>> *Upon user unavailable request*
>>>>
>>>>
>>>>
>>>>
>>>> *​​​*substitute(user, tasks, from, to, substitute) :
>>>>
>>>>    - user - user going to be unavailable
>>>>    - tasks - optional. list of tasks that should reassign. All tasks
>>>>    will be reassigned if not provided
>>>>    - from, to - optional. unavailable period. if not provided, current
>>>>    timestamp to forever
>>>>    - substitute - optional. user who tasks getting assigned to. the
>>>>    already defined user is used if not provided
>>>>
>>>> updateSubstitute() : update the DB with user unavailability and
>>>> substitute user.
>>>>
>>>> getTaskList(user) : get the tasks with the user as assignee
>>>>
>>>> delegateTasks() : change assignee to substitute
>>>>
>>>> scheduleForrevert(from,to) : start a scheduler, to update the DB at the
>>>> 'to' and 'from' timestamps.
>>>>
>>>> *New Task creation*
>>>>
>>>> All the task creation events will be validated by this listener after
>>>> this feature is enabled.
>>>>
>>>> After the given time period, the database will be updated. After this
>>>> point user won't be substituted.
>>>>
>>>> Please provide your suggestions.
>>>>
>>>> Regards,
>>>> Vinod
>>>> ​
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Vinod Kavinda
>>>> Software Engineer
>>>> *WSO2 Inc. - lean . enterprise . middleware <http://www.wso2.com>.*
>>>> Mobile : +94 (0) 712 415544
>>>> Blog : http://soatechflicks.blogspot.com/
>>>>
>>>>
>>>
>>
>>
>> --
>> Vinod Kavinda
>> Software Engineer
>> *WSO2 Inc. - lean . enterprise . middleware <http://www.wso2.com>.*
>> Mobile : +94 (0) 712 415544
>> Blog : http://soatechflicks.blogspot.com/
>>
>>
>


-- 
Nandika Jayawardana
WSO2 Inc ; http://wso2.com
lean.enterprise.middleware
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to