Bug 1124707
Summary: | Element of current iteration does not get updated in the Multi-Instance sub process | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | [Retired] JBoss BPMS Platform 6 | Reporter: | Anton Giertli <agiertli> | ||||||||
Component: | jBPM Designer | Assignee: | Tihomir Surdilovic <tsurdilo> | ||||||||
Status: | CLOSED EOL | QA Contact: | Kirill Gaevskii <kgaevski> | ||||||||
Severity: | high | Docs Contact: | |||||||||
Priority: | high | ||||||||||
Version: | 6.0.2 | CC: | alazarot, rzhang | ||||||||
Target Milestone: | ER1 | ||||||||||
Target Release: | --- | ||||||||||
Hardware: | Unspecified | ||||||||||
OS: | Unspecified | ||||||||||
Whiteboard: | |||||||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||||||
Doc Text: |
Fixed Issue Summary:
A process definition error occurred when updating multiple instance subprocesses because the multiple instance outputs needed to be defined; however, Designer did not provide the ability to define output variables for multiple instance subprocesses. Accordingly, whenever the processes were completed, the updated values were lost and reverted back to the original values. This has been fixed by allowing the definition of multiple instance outputs.
|
Story Points: | --- | ||||||||
Clone Of: | Environment: | ||||||||||
Last Closed: | 2020-03-27 20:03:34 UTC | Type: | Bug | ||||||||
Regression: | --- | Mount Type: | --- | ||||||||
Documentation: | --- | CRM: | |||||||||
Verified Versions: | Category: | --- | |||||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||||
Embargoed: | |||||||||||
Bug Depends On: | |||||||||||
Bug Blocks: | 1115481 | ||||||||||
Attachments: |
|
Description
Anton Giertli
2014-07-30 07:08:16 UTC
I can observe the following output: //these are the original values 08:45:32,738 INFO [stdout] (http-localhost/127.0.0.1:8080-14) CC Owners: anton1,anton2,anton3 //these are the values outputted from the On Exit Actions from the ReUsable sub process, which is part of the MultiInstance sub process 08:46:06,851 INFO [stdout] (http-localhost/127.0.0.1:8080-11) *** Cost Centre [ccOwner: anton1-changed, status: ] 08:46:22,356 INFO [stdout] (http-localhost/127.0.0.1:8080-11) *** Cost Centre [ccOwner: anton2-changed, status: ] 08:46:32,768 INFO [stdout] (http-localhost/127.0.0.1:8080-19) *** Cost Centre [ccOwner: anton3-changed, status: ] But then it seems like to mapping back to the process variable does not work //these are the values outputted from the script task which is executed once the multi-instance sub process completed 08:46:32,771 INFO [stdout] (http-localhost/127.0.0.1:8080-19) Aggregating responses... 08:46:32,772 INFO [stdout] (http-localhost/127.0.0.1:8080-19) *** Invoice Remark of [ccOwner: anton1, status: null] 08:46:32,772 INFO [stdout] (http-localhost/127.0.0.1:8080-19) *** Invoice Remark of [ccOwner: anton2, status: null] 08:46:32,772 INFO [stdout] (http-localhost/127.0.0.1:8080-19) *** Invoice Remark of [ccOwner: anton3, status: null] The problem here is actually with process definition itself as to be able to update process level variable (remarks) multi instance output needs to be defined. While working with this case it turned out that designer is missing possibility to define that output variable for multi instance subprocess (while it's available as multi instance on a task). Note: when working with multi instance a good practice is to distinguish between input and output on process variable level so I suggest to include: - multi instance input as remarks - multi instance output as remarksOut even though engine will process if both input and output will be referencing same variable but it will add elements to it so in the end both input and output elements will be stored in that collection. So depending on the requirements I see two workarounds until support for output of multi instance on subprocess will be added: 1. use regular task with multi instance capabilities e.g. user task as it allows to define input and output of multi instance 2. make manually modification to the bpmn2 to include required output elements (see attached process that has all the pieces available) - please note that when modifying the bpmn2 manually it won't be editable in designer although it will be executable so for the second workaround user would need to use git integration to push process (parent process) to business central and then directly build and deploy it. Created attachment 923234 [details]
Updated parent process with output of multi instance
Created attachment 923302 [details]
[0] human-task-multi-assets
commits: master: https://github.com/droolsjbpm/jbpm-designer/commit/9ee0b041dd05446e931e0b425e5aa78a47837c32 https://github.com/droolsjbpm/jbpm-designer/commit/cf5209807c42959b5db548e0d0c611c3b9d5fe16 6.1.x https://github.com/droolsjbpm/jbpm-designer/commit/d05f25462e5a934dc79b9c2a4da7cd34d5d388ad https://github.com/droolsjbpm/jbpm-designer/commit/33e1888e071e1942e3d3e5baa1ac878ce54dec6a 6.0.x https://github.com/droolsjbpm/jbpm-designer/commit/887eefdb4bd88609c8d728812bdd35eb16687aef https://github.com/droolsjbpm/jbpm-designer/commit/66880fa773ecdbc12234f028ecc09e264e268341 Verified on BPMS 6.0.3 ER1 I am also changing component to jBPM Designer, because the previous one (jBPM Core) might be confusing for us in the future. |