Bug 1168413
Summary: | BPMN2 process designed in Eclipse tooling plug-in/jBPM Web Designer does not generate the Assignment in dataInputAssociation for Skippable property for a User Task by default | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | [Retired] JBoss BPMS Platform 6 | Reporter: | Musharraf Hussain <mhussain> | ||||||
Component: | jBPM Designer | Assignee: | Tihomir Surdilovic <tsurdilo> | ||||||
Status: | CLOSED EOL | QA Contact: | Jozef Marko <jomarko> | ||||||
Severity: | high | Docs Contact: | Dawn Eisner <deisner> | ||||||
Priority: | urgent | ||||||||
Version: | 6.0.3 | CC: | alazarot, bpms-support, kverlaen, mbaluch, rrajasek, tsurdilo | ||||||
Target Milestone: | ER5 | ||||||||
Target Release: | 6.1.0 | ||||||||
Hardware: | All | ||||||||
OS: | All | ||||||||
Whiteboard: | |||||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||||
Doc Text: | Story Points: | --- | |||||||
Clone Of: | Environment: | ||||||||
Last Closed: | 2020-03-27 20:08:02 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: | |||||||||
Attachments: |
|
Since skippable defaults to "true" if no value is provided, could designer select the Skippable property by default if no value is defined in the process itself? the reply to Kris question is "yes". The main problem is about the inconsistency between the behaviour (skippable defaults to "true") and the diagram parameter (defaults to unchecked). Both need to be sync. Designer changes: 1. set the skippable property to default to "true" for a new user task 2. if bpmn2 is imported into designer that does not define the skippable property for user task, designer will now set this property by default to "true" please let me know if there is anything else that needs to be done in designer for this @Lazarrotti: I have pushed these changes to Designer master and 6.2.x branches. Please let me know what older branches this needs to be backported to (I assume 6.1.x and 6.0.x)? Thanks! Thank you Tiho, For now we need only the commits to community 6.2.x branch. We do not have requests to release it as patch to 6.0.x. Question: this issue affects the web process Designer and the JBDS tooling. The same fix was applied to JBDS ? @Alessandro: Sorry I don't know about the JBDS tooling side in order to tell. What I did was for Designer only. per kris assigning issue to bob. please let me know if there is anything i can help with further Bob, could you make sure that the 'skippable' checkbox of a user task by default (when it's first added, or if no value is defined in the BPMN2) is selected (so set to true)? If it's not set, the core engine will default to true, but the UI current defaults to unchecked (false). Bob, is this now fixed as part of https://bugzilla.redhat.com/show_bug.cgi?id=1183743 ? Yes, this is fixed. Created attachment 988102 [details]
usertasks
usertasks with and without skippable assigment
In the attachment 'usertasks' are two files. 'usertask.bpmn2' was created by BPMN2 Modeler 1.1.1.201501282123. Without any change in properties of 'User Task 1' was generated in xml assigment of skippable to true. Great. 'defaultusertask.bpmn2' is copy of 'usertask.bpmn2', but I have manually deleted this: ... <bpmn2:assignment id="Assignment_5"> <bpmn2:from xsi:type="bpmn2:tFormalExpression" id="FormalExpression_9">true</bpmn2:from> <bpmn2:to xsi:type="bpmn2:tFormalExpression" id="FormalExpression_10">DataInput_5</bpmn2:to> </bpmn2:assignment> ... When I import 'defaultusertask.bpmn2' to my project and open properties of 'User Task 1', skippable isn't chechked. Kris, by your comment 9, If I import file like 'defaultusertask.bpmn2' shouldn't be checked 'Skippable' to true in properties view of 'User Task 1'? There was a problem with imported process files with missing assignment expressions (as simulated by Jozef's experiment, above, removing the XML fragment). Fixed in Luna build 1.1.2.201502091842 download.eclipse.org/bpmn2-modeler/updates/luna/1.1.2/ Fixed in Kepler build 1.0.4.201502091849 download.eclipse.org/bpmn2-modeler/updates/kepler/1.0.4/ Verified on: Luna - BPMN2 Modeler 1.1.2.201502091842. Kepler - BPMN2 Modeler 1.0.4.201502091849 Not included in jbds-8.0.2.GA_jbdsis-8.0.0.CR2 Test concerning this issue: https://github.com/jbosstools/jbosstools-integration-stack-tests/blob/master/tests/org.jboss.tools.bpmn2.ui.bot.test/src/org/jboss/tools/bpmn2/ui/bot/complex/test/testcase/ComplexDefaultSkippableTest.java Verified on jbds-8.1.0.CR1_jbdsis-8.0.1.CR1 - BPMN2 Modeler 1.1.2.Final |
Created attachment 961807 [details] jBPM6TaskSkippableTest.zip Description of problem: - If we design a BPMN2 process from scratch in Eclipse Tooling plug-in, it does not generate the "Assignment" in "dataInputAssociation" for "Skippable" property for a "User Task" by default. So, when we try to write a simple code to read the "Skippable" property for a User Task designed in such a fashion it reads it to "true" , although in the designer we can see the check-box against "Skippable" property is still unchecked. The same issue is also observed if we generate a BPMN2 process in jBPM Web Designer too. Hence, I am not sure if the issue is really in the designers or the jBPM code. - The workaround is to first check the "Skippable" property and then again uncheck it. This generates the necessary assignments and the code returns the correct value as expected. - Also, the issue does not appear if I use jBPM 6.1.0.Final version of jars. - Note I have used BPMS 6.0.3 for the jBPM Web Designer and the installed BPMN2 Diagram Editor version in JBDS 7.1.1 which I have used is (BPMN2 Modeler - Diagram Editor / 1.0.2.201402102317 / org.eclipse.bpmn2.modeler.feature.feature.group / Eclipse.org) - Here is a comparison of the process definitions generated in both the designers, and how the source of the processes change after playing with the "Skippable" check-box a little. BPMN2 Diagram Editor ======================= Before workaround: ~~~ <bpmn2:ioSpecification id="_InputOutputSpecification_3"> ... <bpmn2:dataInput id="_DataInput_13" itemSubjectRef="ItemDefinition_3" name="Skippable"/> ... <bpmn2:inputSet id="_InputSet_5" name="New Input Set"> ... <bpmn2:dataInputRefs>_DataInput_13</bpmn2:dataInputRefs> ... </bpmn2:inputSet> ... <bpmn2:dataInputAssociation id="_DataInputAssociation_13"> <bpmn2:targetRef>_DataInput_13</bpmn2:targetRef> </bpmn2:dataInputAssociation> ... ~~~ Change after workaround: ~~~ ... <bpmn2:dataInputAssociation id="_DataInputAssociation_13"> <bpmn2:targetRef>_DataInput_13</bpmn2:targetRef> <bpmn2:assignment id="Assignment_5"> <bpmn2:from xsi:type="bpmn2:tFormalExpression" id="FormalExpression_10">false</bpmn2:from> <bpmn2:to xsi:type="bpmn2:tFormalExpression" id="FormalExpression_9">_DataInput_13</bpmn2:to> </bpmn2:assignment> </bpmn2:dataInputAssociation> ... ~~~ jBPM Web Designer ======================= Before workaround: ~~~ ... <bpmn2:ioSpecification id="_-pZVAHWkEeSUG-GZzG41KQ"> <bpmn2:dataInput id="_979E19DE-261A-4099-8B53-D254A1E7EFBE_TaskNameInputX" name="TaskName"/> <bpmn2:inputSet id="_-pZVAXWkEeSUG-GZzG41KQ"/> <bpmn2:outputSet id="_-pZVAnWkEeSUG-GZzG41KQ"/> </bpmn2:ioSpecification> <bpmn2:dataInputAssociation id="_-pZVA3WkEeSUG-GZzG41KQ"> <bpmn2:targetRef>_979E19DE-261A-4099-8B53-D254A1E7EFBE_TaskNameInputX</bpmn2:targetRef> <bpmn2:assignment id="_-pZVBHWkEeSUG-GZzG41KQ"> <bpmn2:from xsi:type="bpmn2:tFormalExpression" id="_-pZ8EHWkEeSUG-GZzG41KQ">UserOne</bpmn2:from> <bpmn2:to xsi:type="bpmn2:tFormalExpression" id="_-pZ8EXWkEeSUG-GZzG41KQ">_979E19DE-261A-4099-8B53-D254A1E7EFBE_TaskNameInputX</bpmn2:to> </bpmn2:assignment> </bpmn2:dataInputAssociation> ... ~~~ Change after workaround: ~~~ ... <bpmn2:ioSpecification id="_-pZVAHWkEeSUG-GZzG41KQ"> <bpmn2:dataInput id="_979E19DE-261A-4099-8B53-D254A1E7EFBE_TaskNameInputX" name="TaskName"/> <bpmn2:dataInput id="DataInput_10" name="Skippable"/> <bpmn2:inputSet id="_-pZVAXWkEeSUG-GZzG41KQ"> <bpmn2:dataInputRefs>DataInput_10</bpmn2:dataInputRefs> </bpmn2:inputSet> <bpmn2:outputSet id="_-pZVAnWkEeSUG-GZzG41KQ"/> </bpmn2:ioSpecification> <bpmn2:dataInputAssociation id="_-pZVA3WkEeSUG-GZzG41KQ"> <bpmn2:targetRef>_979E19DE-261A-4099-8B53-D254A1E7EFBE_TaskNameInputX</bpmn2:targetRef> <bpmn2:assignment id="_-pZVBHWkEeSUG-GZzG41KQ"> <bpmn2:from xsi:type="bpmn2:tFormalExpression" id="_-pZ8EHWkEeSUG-GZzG41KQ">UserOne</bpmn2:from> <bpmn2:to xsi:type="bpmn2:tFormalExpression" id="_-pZ8EXWkEeSUG-GZzG41KQ">_979E19DE-261A-4099-8B53-D254A1E7EFBE_TaskNameInputX</bpmn2:to> </bpmn2:assignment> </bpmn2:dataInputAssociation> <bpmn2:dataInputAssociation id="DataInputAssociation_10"> <bpmn2:targetRef>DataInput_10</bpmn2:targetRef> <bpmn2:assignment id="Assignment_10"> <bpmn2:from xsi:type="bpmn2:tFormalExpression" id="FormalExpression_20">false</bpmn2:from> <bpmn2:to xsi:type="bpmn2:tFormalExpression" id="FormalExpression_19">DataInput_10</bpmn2:to> </bpmn2:assignment> </bpmn2:dataInputAssociation> ... ~~~ Version-Release number of selected component (if applicable): - BPMS 6.0.3 - JBDS 7.1.1 - BPMN2 Modeler - Diagram Editor (Version: 1.0.2.201402102317) How reproducible: - Always Steps to Reproduce: 1. Import the attached project "jBPM6TaskSkippableTest.zip" into Eclipse/JBDS 2. Try to run the "SkippableTaskTestClass" class with commenting and uncommenting the following lines to test an Eclipse designer generated and a jBPM Web Designer generated process individually. ~~~ //Testing a process created through Eclipse Designer //ksession.startProcess("com.sample.bpmn.NonSkippable"); //Testing a process created through jBPM Web Designer ksession.startProcess("TestProject.TestDefaultSkippable"); ~~~ 3. If required created a fresh BPMN2 process once using BPMN2 Diagram Editor in JBDS 7.1.1 and again in jBPM Web designer, where the process must have a User Task associated with it. Do not touch the "Skippable" property by any means and then try to execute the process and access the skippable property using this API ~~~ TaskSummary.isSkippable() ~~~ 4. Please make sure to use "6.0.3-redhat-6" as jBPM version in the pom.xml so that we test it on Enterprise bits. Actual results: - The test results would print the value for "Skippable" property as "true" whereas the check-box in the designer for this property was unchecked. Expected results: - Ideally it should return "false" since the designer shows this property as unchecked. Additional info: - NA