Bug 1183743 - "Data Input Association has missing or incomplete Source" when UserTask is added
Summary: "Data Input Association has missing or incomplete Source" when UserTask is added
Status: CLOSED CURRENTRELEASE
Alias: None
Product: JBoss BPMS Platform 6
Classification: Retired
Component: Eclipse Tooling
Version: 6.2.0
Hardware: Unspecified
OS: Unspecified
high
medium
Target Milestone: ---
: ---
Assignee: Robert (Bob) Brodt
QA Contact: Jozef Marko
URL:
Whiteboard:
Keywords:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-01-19 16:42 UTC by Andrej Podhradsky
Modified: 2016-01-06 12:00 UTC (History)
4 users (show)

(edit)
Clone Of:
(edit)
Last Closed: 2016-01-06 12:00:33 UTC


Attachments (Terms of Use)
usertask skippable (2.99 KB, application/zip)
2015-01-26 20:42 UTC, Jozef Marko
no flags Details


External Trackers
Tracker ID Priority Status Summary Last Updated
Eclipse Project 457855 None None None Never

Description Andrej Podhradsky 2015-01-19 16:42:40 UTC
Description of problem:
When you add a user task to the process you will get the following error in Problems View

Data Input Association has missing or incomplete Source

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Robert (Bob) Brodt 2015-01-20 14:42:21 UTC
These errors go away once the User Task variables "Task Name", "Priority", etc. are set. I assumed these were all mandatory. Please let me know which ones are mandatory and which are optional. Also, I suppose this error could be a little more descriptive, such as "The User Task attribute 'Task Name' is missing" etc.

Would it be acceptable to provide reasonable default values (even if they're just an empty string) for these I/O Parameters so the validation problems go away?

Comment 2 Marek Baluch 2015-01-20 14:46:51 UTC
@Bob - task name is mandatory but I'm not so sure about the others. That would be a good question for Kris. 

Anyway - default values non-mandatory attributes are fine by me.

@Kris - could you please specify which attributes are considered mandatory from the engine perspective?

Thx!

Comment 3 Jozef Marko 2015-01-26 09:45:39 UTC
Hi Bob. Modeled process is still not valid, even if I fill all fields like 'Task Name', 'Priority' etc. I think the reason is this:


BPMN2 modeler currently generates for each user task:

<bpmn2:userTask id="UTID" name="UTName">
...
<bpmn2:dataInputAssociation id="_DataInputAssociation_9">
    <bpmn2:targetRef>_DataInput_8</bpmn2:targetRef>
</bpmn2:dataInputAssociation>
<bpmn2:dataInputAssociation id="_DataInputAssociation_10">
    <bpmn2:targetRef>_DataInput_9</bpmn2:targetRef>
</bpmn2:dataInputAssociation>
...
</bpmn2:userTask>

I think, it should be like this:
<bpmn2:userTask id="UTID" name="UTName">
...
<bpmn2:dataInputAssociation id="_DataInputAssociation_9">
    <bpmn2:targetRef>_DataInput_9</bpmn2:targetRef>
</bpmn2:dataInputAssociation>
<bpmn2:dataInputAssociation id="_DataInputAssociation_10">
    <bpmn2:targetRef>_DataInput_10</bpmn2:targetRef>
</bpmn2:dataInputAssociation>
...
</bpmn2:userTask>

Comment 4 Robert (Bob) Brodt 2015-01-26 14:31:29 UTC
Hi Jozef, can you attach the process to this BZ? I'd like to take a look at it. It's possible that the Data Inputs align with the Input Associations positionally but don't have the same sequential ID numbers.

Comment 5 Jozef Marko 2015-01-26 20:42:06 UTC
Created attachment 984394 [details]
usertask skippable

Comment 6 Jozef Marko 2015-01-26 20:43:27 UTC
Hi Bob. Theory about wrong ID's was my mistake, sorry for that. My confusion origins from attribute 'Skippable'.

Currently:
If I create process with 'User Task' node, attribute 'Skippable' is not checked by default. I consider this logically equivalent to false. But in fact, If I want to set 'Skippable' to false, I have to check it to true, then uncheck it back to false and save process. 

Desired behaviour:
I think, at least attribute 'Skippable' should have default value 'false', because currently setting it to false is very counterintuitive. 
In general I agree with empty strings for non-mandatory attributes.

In the attachment:
UserTask.bpmn2 - generated process, no property changed for any element
UserTaskSkippableFalse.bpmn2 - 'Skippable' set as false

Both files are logically equivalent if I compare their properties in 'Properties view'. But 'UserTaskSkippableFalse.bpmn2' is created from 'UserTask.bpmn2' after chcek 'Skippable' to true and then back to false.

Comment 7 Robert (Bob) Brodt 2015-01-26 21:14:54 UTC
Hi Jozef, these two files look OK to me also. Note that I have changed the initialization of these User Task variables:

Task Name = "Task Name"
Priority = 1
Skippable = "true" (the default value assumed by the engine if no assignment expression is present in the DataInputAssociation!)
Locale = "en-UK"

Let me know if you think any of these should have different values.
I'm going to assume this BZ is now resolved, and ready for QA, unless you tell me otherwise ;)

Fixed with Luna build 1.1.1.201501262023

Comment 8 Kris Verlaenen 2015-01-27 13:46:21 UTC
Looks ok!

Comment 9 Jozef Marko 2015-02-04 12:43:12 UTC
Verified on BPMN2 Modeler 1.1.1.201501282123

Comment 10 Jozef Marko 2015-02-13 10:48:28 UTC
BPMN2 Modeler 1.1.1.201501282123 NOT included in jbds-8.0.2.GA_jbdsis-8.0.0.CR2

Comment 11 Jozef Marko 2015-03-31 09:53:31 UTC
Verified on jbds-8.1.0.CR1_jbdsis-8.0.1.CR1 - BPMN2 Modeler 1.1.2.Final

Comment 12 Andrej Podhradsky 2016-01-06 12:00:33 UTC
Fixed and included in the latest release.


Note You need to log in before you can comment on or make changes to this bug.