CodeGen for processes uses unexpected unique id for task names: causes missing endpoints
See original GitHub issueConsider endpoints such as:
![image](https://user-images.githubusercontent.com/1994838/149847355-264faa85-d45d-4294-ab81-2c63767ac9da.png)
…
![image](https://user-images.githubusercontent.com/1994838/149847374-e344159c-32ae-43ad-98ef-4857507e8575.png)
and config that looks like this:
![image](https://user-images.githubusercontent.com/1994838/149847448-7e635766-7a61-47c2-850b-b02089e4fa36.png)
![image](https://user-images.githubusercontent.com/1994838/149847007-fabb3b39-225d-4d9a-9d37-a21278515ebd.png)
![image](https://user-images.githubusercontent.com/1994838/149847020-51da71fd-15e1-4e65-977f-bc799ea8e03b.png)
(Answer: There are only two task endpoints generated, but there are three unique task definitions)
The Name/TaskNames are not unique and not enforced to be unique during deployment.
In the XML we have the ~true unique name:
<bpmn2:userTask id="_8B9E78DF-5DCE-44D1-B37E-707166B06BC4" name="My Task Name Row 2">
...
<bpmn2:userTask id="_FFCD0178-2716-4E16-B593-692770BC9E8B" name="Task">
...
<bpmn2:userTask id="_4AD34142-F892-439D-AA0C-6AB8C4B95999" name="Task">
ignoring the ~weird drools extensions that get auto added for a moment:
<bpmn2:userTask id="_4AD34142-F892-439D-AA0C-6AB8C4B95999" name="Task">
<bpmn2:extensionElements>
<drools:metaData name="elementname">
<drools:metaValue><![CDATA[Task]]></drools:metaValue>
</drools:metaData>
</bpmn2:extensionElements>
...
The id
for a bpmn element is usually the unique identifier. The ID is not super friendly at the moment, and understandably someone chose something in the BPMN that would be cleaner. Would this suggest that Kogito wants to enforce unique Drools meta values ? IMO would be MUCh cleaner for XML readability if the extension was not used and the id
property was used here. makes it much easier to read node execution history events as well.
Either way, the at the moment the problem is endpoints do not get generated as expected. If we are saying that this is expected because the task instance ID would be unique, then why are we generated named endpoints (where the task endpoint has the Task Name in the url)? the answer seems to be so so you could have Schema support for each task, and if that is the case then we seem to be back to the issue described above.
Issue Analytics
- State:
- Created 2 years ago
- Comments:12 (1 by maintainers)
So, maybe we should change TaskName to TaskId and enforce uniquenes, will that avoid confussion?
For better tracking, we are now following this issue only at https://issues.redhat.com/browse/KOGITO-7013