Hi Vinod,
Thanks for doing this again and
When you do this, please add the role as we did now and add an user that is
reading from the request. Then there will be a role to add any user to get
this rights except the user who initiated the request.


*Harsha Thirimanna*
Senior Software Engineer; WSO2, Inc.; http://wso2.com
* <http://www.apache.org/>*
*email: **[email protected]* <[email protected]>* cell: +94 71 5186770 *
*twitter: **http://twitter.com/ <http://twitter.com/afkham_azeez>*
*harshathirimannlinked-in: **http:
<http://lk.linkedin.com/in/afkhamazeez>**//www.linkedin.com/pub/harsha-thirimanna/10/ab8/122
<http://www.linkedin.com/pub/harsha-thirimanna/10/ab8/122>*

*Lean . Enterprise . Middleware*


On Tue, Sep 22, 2015 at 2:08 PM, Vinod Kavinda <[email protected]> wrote:

> Hi Chamila,
> I'll send the updated human task and bpel archives ASAP.
>
> Regards,
> Vinod
>
> On Tue, Sep 22, 2015 at 2:04 PM, Chamila Wijayarathna <[email protected]>
> wrote:
>
>> Hi Vinod,
>>
>> I have changed the request sent when a new workflow request is created by
>> adding logged in user's name as follows.
>>
>> <p:ProcessRequest xmlns:p="
>> http://schema.bpel.mgt.workflow.carbon.wso2.org/";>
>>   <p:uuid>c90be0a4-6c1a-4bc1-960a-c5f3ed97d001</p:uuid>
>>   <p:eventType>ADD_USER</p:eventType>
>>   <p:taskInitiator>admin</p:taskInitiator>
>>   <p:parameters><p:parameter name="REQUEST
>> ID"><p:value><p:itemValue>4d79d641-b8f0-400d-86f8-c5ccd192249b</p:itemValue></p:value></p:parameter><p:parameter
>> name="Username"><p:value><p:itemValue>test50</p:itemValue></p:value></p:parameter><p:parameter
>> name="User Store
>> Domain"><p:value><p:itemValue>PRIMARY</p:itemValue></p:value></p:parameter><p:parameter
>> name="Roles"><p:value/></p:parameter><p:parameter
>> name="Claims"><p:value/></p:parameter></p:parameters>
>>   < p:configuration>
>>     <p:approvalStep>
>>         <p:stepName>Step 1</p:stepName>
>>         <p:humanTask>
>>           <p:humanTaskSubject></p:humanTaskSubject>
>>           <p:humanTaskDescription></p:humanTaskDescription>
>>         </p:humanTask>
>>         <p:role>admin</p:role>
>>     </p:approvalStep>
>>   </p:configuration>
>> </p:ProcessRequest>
>>
>> Can you please advice with necessary changes needed to be done at bpel
>> and humantask side?
>>
>> Thanks
>>
>> On Sun, Sep 13, 2015 at 7:18 AM, Hasitha Aravinda <[email protected]>
>> wrote:
>>
>>> Hi Chamila,
>>>
>>> Please find my answers inline.
>>>
>>>
>>> On Fri, Sep 11, 2015 at 10:02 PM, Chamila Wijayarathna <[email protected]
>>> > wrote:
>>>
>>>> Hi Harsha/Hasitha,
>>>>
>>>> So when creating a request, we are assigning the user who initiated it
>>>> as the taskInitiator for human tasks associated with it. If so I need
>>>> to clarify following points regarding that.
>>>>
>>>>    - Is the 'taskInitiator' per ht role/property?
>>>>
>>>> Task initiator ​Configuration will look like this. ​
>>>
>>> ​<htd:taskInitiator>
>>>
>>>   <htd:from>...</htd:from>
>>> </htd:taskInitiator>​
>>>
>>>
>>>>
>>>>    - What are the other privileges user get when he assigned as
>>>>    taskInitiator other than deleting that ht?
>>>>
>>>> ​Please refer Operation Authorization table in
>>> http://docs.oasis-open.org/bpel4people/ws-humantask-1.1-spec-cs-01.html#_Toc261430341
>>> ​
>>>
>>> Thanks
>>>>
>>>> On Fri, Sep 11, 2015 at 6:48 PM, Harsha Thirimanna <[email protected]>
>>>> wrote:
>>>>
>>>>> Hi All,
>>>>>
>>>>> I discussed this with Hasitha, and above approach is possible. There
>>>>> is one change should be done that use taskInitiator instead of 
>>>>> businessAdministrators
>>>>> because businessAdministrators has more permission than we expect.
>>>>> Then we can call 'skip' operation against taskid to exit the workflow
>>>>> request (*HumanTaskClientAPIAdmin*). After we exit from the human
>>>>> task, it should be release the bpel process and to do that we have to
>>>>> enable TaskCoordinationEnabled option in b4p-coordination-config.xml
>>>>> and humantask.xml files.
>>>>>
>>>>> @Chamila, We need to prepare bpel/ht package  for this and call
>>>>> *HumanTaskClientAPIAdmin* from the IS to skip the workflow request.
>>>>>
>>>>> Thanks.
>>>>>
>>>>>
>>>>>
>>>>> *Harsha Thirimanna*
>>>>> Senior Software Engineer; WSO2, Inc.; http://wso2.com
>>>>> * <http://www.apache.org/>*
>>>>> *email: **[email protected]* <[email protected]>* cell: +94 71 5186770 *
>>>>> *twitter: **http://twitter.com/ <http://twitter.com/afkham_azeez>*
>>>>> *harshathirimannlinked-in: **http:
>>>>> <http://lk.linkedin.com/in/afkhamazeez>**//www.linkedin.com/pub/harsha-thirimanna/10/ab8/122
>>>>> <http://www.linkedin.com/pub/harsha-thirimanna/10/ab8/122>*
>>>>>
>>>>> *Lean . Enterprise . Middleware*
>>>>>
>>>>>
>>>>> On Fri, Sep 11, 2015 at 6:11 PM, Harsha Thirimanna <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> adding Hasitha
>>>>>>
>>>>>>
>>>>>> *Harsha Thirimanna*
>>>>>> Senior Software Engineer; WSO2, Inc.; http://wso2.com
>>>>>> * <http://www.apache.org/>*
>>>>>> *email: **[email protected]* <[email protected]>* cell: +94 71 5186770 *
>>>>>> *twitter: **http://twitter.com/ <http://twitter.com/afkham_azeez>*
>>>>>> *harshathirimannlinked-in: **http:
>>>>>> <http://lk.linkedin.com/in/afkhamazeez>**//www.linkedin.com/pub/harsha-thirimanna/10/ab8/122
>>>>>> <http://www.linkedin.com/pub/harsha-thirimanna/10/ab8/122>*
>>>>>>
>>>>>> *Lean . Enterprise . Middleware*
>>>>>>
>>>>>>
>>>>>> On Fri, Sep 11, 2015 at 5:53 PM, Harsha Thirimanna <[email protected]>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi Prabath,
>>>>>>>
>>>>>>> I went through this and as you said it should be possible to suspend
>>>>>>> the workflow request by the one who initiate the request (Not the one 
>>>>>>> who
>>>>>>> create the workflow). According to the existing human task definition we
>>>>>>> can't do that. But as I feel it is not the  limitation of the BPS.
>>>>>>> It is possible to do that with reading user name within the human
>>>>>>> task definition in run-time. To do that, what I did was, I pass user 
>>>>>>> name
>>>>>>> as parameter with the workflow request and set it to the human task [1]
>>>>>>> element value. Then it is possible to suspend the workflow request who
>>>>>>> initiate that.
>>>>>>>
>>>>>>> @Nandika, is this correct approach to do that ?
>>>>>>>
>>>>>>>
>>>>>>> [1] peopleAssignments -> businessAdministrators
>>>>>>>
>>>>>>>
>>>>>>> *Harsha Thirimanna*
>>>>>>> Senior Software Engineer; WSO2, Inc.; http://wso2.com
>>>>>>> * <http://www.apache.org/>*
>>>>>>> *email: **[email protected]* <[email protected]>* cell: +94 71 5186770 *
>>>>>>> *twitter: **http://twitter.com/ <http://twitter.com/afkham_azeez>*
>>>>>>> *harshathirimannlinked-in: **http:
>>>>>>> <http://lk.linkedin.com/in/afkhamazeez>**//www.linkedin.com/pub/harsha-thirimanna/10/ab8/122
>>>>>>> <http://www.linkedin.com/pub/harsha-thirimanna/10/ab8/122>*
>>>>>>>
>>>>>>> *Lean . Enterprise . Middleware*
>>>>>>>
>>>>>>>
>>>>>>> On Fri, Sep 11, 2015 at 10:40 AM, Chamila Wijayarathna <
>>>>>>> [email protected]> wrote:
>>>>>>>
>>>>>>>> Hi Prabath,
>>>>>>>>
>>>>>>>> Yes currently only the user who initiated workflow can delete it.
>>>>>>>> In human tasks side we have a different role per each workflow who has
>>>>>>>> authority to delete a human task. But we can't give permission for that
>>>>>>>> role to delete a request since there can be several workflows 
>>>>>>>> associated to
>>>>>>>> single requests. In that case where 'user1' try to delete a request
>>>>>>>> associated with two human tasks, he may have permission to delete only 
>>>>>>>> one
>>>>>>>> human task.
>>>>>>>>
>>>>>>>> Thank You!
>>>>>>>>
>>>>>>>> On Fri, Sep 11, 2015 at 10:32 AM, Prabath Siriwardena <
>>>>>>>> [email protected]> wrote:
>>>>>>>>
>>>>>>>>> I guess the question here is related to deleting a workflow
>>>>>>>>> request itself - and as if I understood correctly from your 
>>>>>>>>> description at
>>>>>>>>> the moment its user based. Only the user who initiate the workflow 
>>>>>>>>> request
>>>>>>>>> can delete it ? This looks like a limitation.. Nandika/Chathura, 
>>>>>>>>> WDYT..?
>>>>>>>>>
>>>>>>>>> Thanks & regards,
>>>>>>>>> -Prabath
>>>>>>>>>
>>>>>>>>> On Thu, Sep 10, 2015 at 9:12 PM, Chamila Wijayarathna <
>>>>>>>>> [email protected]> wrote:
>>>>>>>>>
>>>>>>>>>> Hi Prabath/Pulasthi,
>>>>>>>>>>
>>>>>>>>>> Currently we are having some confusion about how to address
>>>>>>>>>> $subject.
>>>>>>>>>>
>>>>>>>>>> For now we support delete request operation and only the user who
>>>>>>>>>> initiated the request can delete it.
>>>>>>>>>>
>>>>>>>>>> For example let's assume we have a worflow associated with add
>>>>>>>>>> user operation. Then if a user called 'admin' add a new user to the
>>>>>>>>>> userstore 'user1'. Since a  workflow is associated with this 
>>>>>>>>>> operation user
>>>>>>>>>> will not directly added to the user store until the request get 
>>>>>>>>>> accepted.
>>>>>>>>>> For the user who initiated the request, in this case 'admin' can 
>>>>>>>>>> delete
>>>>>>>>>> (abort) the request if he needed before the human tasks associated 
>>>>>>>>>> to it
>>>>>>>>>> get approved/rejected.
>>>>>>>>>>
>>>>>>>>>> For now how we handle this as follows. We keep a 'STATUS'
>>>>>>>>>> attribute with each request (here request means 'add user1 to user 
>>>>>>>>>> store,
>>>>>>>>>> etc) and when user delete request we move the 'PENDING' request to
>>>>>>>>>> 'DELETED' state. This doesn't do any change at human task engine 
>>>>>>>>>> side.
>>>>>>>>>> Associated human task will still be available there and relevant
>>>>>>>>>> authorities can still approve/disapprove them. When the task get 
>>>>>>>>>> approved,
>>>>>>>>>> at call back we check if request has deleted and if deleted we 
>>>>>>>>>> ignore the
>>>>>>>>>> callback received.
>>>>>>>>>>
>>>>>>>>>> The issue of this approach is for a deleted request, human tasks
>>>>>>>>>> associated with it at BPEL side is still available there and for the 
>>>>>>>>>> person
>>>>>>>>>> who approve/reject it don't get any clue of that request has 
>>>>>>>>>> deleted. Once
>>>>>>>>>> task is approved, we only show a console info that 'approved/rejected
>>>>>>>>>> request has been deleted'.
>>>>>>>>>>
>>>>>>>>>> To address this [1] has reported that associated human tasks
>>>>>>>>>> should be deleted when request is deleted.
>>>>>>>>>>
>>>>>>>>>> Following is the approach that we can use to do this. When we
>>>>>>>>>> delete request, we send request id as parameter. But at IS side we 
>>>>>>>>>> don't
>>>>>>>>>> keep details of human tasks associated with a request since Human 
>>>>>>>>>> Task
>>>>>>>>>> engine does not support such thing. So we can extract all the 
>>>>>>>>>> available
>>>>>>>>>> human tasks and check each and every tasks parameters (each human 
>>>>>>>>>> task has
>>>>>>>>>> parameters such as operation type i.e. ADD_USER, ADD_ROLE, etc and 
>>>>>>>>>> other
>>>>>>>>>> details related to it for example for a add user operation username, 
>>>>>>>>>> roles,
>>>>>>>>>> claims, etc) with parameters we saved with request and request to 
>>>>>>>>>> delete
>>>>>>>>>> tasks. Even though this is inefficient AFAIU this is the only way we 
>>>>>>>>>> can
>>>>>>>>>> address this with out changing the BPEL and Human task APIs.
>>>>>>>>>>
>>>>>>>>>> Also when creating a workflow for example 'workflow1' a role
>>>>>>>>>> named 'Internal/workflow1' is created and only this role can delete 
>>>>>>>>>> a human
>>>>>>>>>> task related to that workflow. So for a user who wants to delete a 
>>>>>>>>>> request
>>>>>>>>>> he initiated,he may not have the permission to delete the workflow
>>>>>>>>>> associated with it.
>>>>>>>>>>
>>>>>>>>>> So how should we address above scenario? Please advice on how to
>>>>>>>>>> proceed.
>>>>>>>>>>
>>>>>>>>>> Thank You!
>>>>>>>>>>
>>>>>>>>>> 1. https://wso2.org/jira/browse/IDENTITY-3552
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> *Chamila Dilshan Wijayarathna,*
>>>>>>>>>> Software Engineer
>>>>>>>>>> Mobile:(+94)788193620
>>>>>>>>>> WSO2 Inc., http://wso2.com/
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Thanks & Regards,
>>>>>>>>> Prabath
>>>>>>>>>
>>>>>>>>> Twitter : @prabath
>>>>>>>>> LinkedIn : http://www.linkedin.com/in/prabathsiriwardena
>>>>>>>>>
>>>>>>>>> Mobile : +1 650 625 7950
>>>>>>>>>
>>>>>>>>> http://blog.facilelogin.com
>>>>>>>>> http://blog.api-security.org
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> *Chamila Dilshan Wijayarathna,*
>>>>>>>> Software Engineer
>>>>>>>> Mobile:(+94)788193620
>>>>>>>> WSO2 Inc., http://wso2.com/
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> *Chamila Dilshan Wijayarathna,*
>>>> Software Engineer
>>>> Mobile:(+94)788193620
>>>> WSO2 Inc., http://wso2.com/
>>>>
>>>
>>>
>>> ​Thanks,
>>> Hasitha​
>>>
>>>
>>> --
>>> --
>>> Hasitha Aravinda,
>>> Senior Software Engineer,
>>> WSO2 Inc.
>>> Email: [email protected]
>>> Mobile : +1 201 887 1971, +94 718 210 200
>>>
>>
>>
>>
>> --
>> *Chamila Dilshan Wijayarathna,*
>> Software Engineer
>> Mobile:(+94)788193620
>> WSO2 Inc., http://wso2.com/
>>
>
>
>
> --
> Vinod Kavinda
> Software Engineer
> *WSO2 Inc. - lean . enterprise . middleware <http://www.wso2.com>.*
> Mobile : +94 (0) 712 415544
> Blog : http://soatechflicks.blogspot.com/
>
>
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to