Closed psavidis closed 4 weeks ago
FilterResourceImpl#convertToHalTaskList
Line 405
getVariableInstancesForTasks
call returns a map with variable entries ONLY for the task with two input variables; the task which includes the output variable
is not returned.queryVariablesInstancesByVariableScopeIds
Criteria do not match for the case with the output variable
ExecutionId
, ProcessInstanceId
ProcessInstanceId
, does not match ExecutionId
Task#ExecutionId
and the Variable#ExecutionId
which makes the query return zero results for the variables and the Filter variables are populated with undefined
in the UI.
The behaviour of the backend when it comes to fetching the task variables and the UI for displaying them, works as expected.
Here is the description of what happens for the two process models of the ticket:
SUPPORT-21936-2.bpmn
PVM Execution Tree:
465 - parent b77 - scope 0af - subprocess concurrent execution 0b2 - scope
SUPPORT-21936_Output.bpmn
PVM Execution Tree:
3c7- parent ad9 - scope 901 - subprocess concurrent execution 904- subprocess 01b - user task
Source: Wiki of PVM Execution Tree
Environment (Required on creation)
camunda-bpm-run-ee-7.20.5-ee
Camunda Platform 7.18.x, Camunda Platform 7.20.x
Description (Required on creation; please attach any relevant screenshots, stacktraces, log files, etc. to the ticket)
Given a Tasklist filter with two variables (
FNAME
,LNAME
)When a bpmn file (SUPPORT-21936-2.bpmn) is deployed with an Expanded SubProcess with the two variables as inputs, the filter demonstrates them correctly. ✔
When a second version of the above file (SUPPORT-21936_Output.bpmn) is deployed and a test output variable is added inside a user task, the filter displays the two variables as undefined ✘
Screenshots
1. Screenshot with two Local Variables - SUPPORT-21936-2.bpmn
![Screenshot 2024-05-29 at 1 10 24 PM](https://github.com/camunda/camunda-bpm-platform/assets/69160690/3f6584aa-64db-48e7-b6ca-aeda31c3ff2f)2. Screenshot with two Local Variables and one Output Variable - SUPPORT-21936_Output.bpmn
![Screenshot 2024-05-29 at 1 10 51 PM](https://github.com/camunda/camunda-bpm-platform/assets/69160690/6bca6f0b-e994-4d12-863d-8d064a216337)3. Screenshot with Filter Variables that are Undefined
![Screenshot 2024-05-29 at 1 10 51 PM](https://github.com/camunda/camunda-bpm-platform/assets/69160690/6bca6f0b-e994-4d12-863d-8d064a216337)Steps to reproduce (Required on creation)
Create Filter
Create a filter+
option on the top left cornerMy Filter
Variables
tab and tick theShow Undefined option
Name:
FNAME
,Description:
First Name
b)LNAME
,Description:
Last Name
Save
Deploy and View Filter Works
SUPPORT-21936-2.bpmn
toprocess-engine
and start a process-instance (e.g using thedesktop-modeler
)My Filter
, notice howtest task
displays the variableFirst Name
andLast Name
populated with date test data.Deploy and View Filter is Broken
SUPPORT-21936_Output.bpmn
toprocess-engine
and start a process-instance (e.g using thedesktop-modeler
)My Filter
, notice how the secondtest task
(top of the list) does displays undefined values for First Name and Last Name variablesObserved Behavior (Required on creation)
SUPPORT-21936_Output.bpmn
process-instance creates atest task
with local variables (2 input, 1 output) which should be displayed in the Tasklist filtered list view. Instead, the variables are displayed asUndefined
.Expected behavior (Required on creation)
The Tasklist View should display
First Name
andLast Name
Filter Variables of thetest task
related toSUPPORT-21936_Output.bpmn
with a populated value instead ofUndefined
Root Cause (Required on prioritization)
The endpoint /camunda/api/engine/engine/{engine-name}/filter/{filter-id}/list which is used to visualise the filter:
SUPPORT-21936-2.bpmn
)SUPPORT-21936_Output
)Solution Ideas
Hints
test task
(any of the two created), claims the task and clicks on theLoad Variables
option, the input variablesFNAME
andLNAME
are returned successfully by the respective APIcamunda/api/engine/engine/{engine-id}/task/{task_id}/form-variables?deserializeValues=false
)Links
Breakdown
Dev2QA handover