As a cockpit user, I want to filter process instances with multiple values for certain filters such as process variables, business key, or process instance id. As an operator, this helps me get a single view on all instances that share a common trait (e.g., are in an error state, belong to a certain customer, ...).
- On the process dashboard (https://docs.camunda.org/manual/7.16/webapps/cockpit/bpmn/dashboard/#deployed-processes) I can add search parameters with multiple values so that they have IN semantics (i.e., a process instance is in the result if one of the values is matched)
- The IN operator is available for the following parameters:
- Variable value
- Business Key
- Process Instance ID
- Process Definition Key
- The search works the same on the batch operation page. Especially, when clicking Execute Batch on the process dashboard, the search criteria should be applied just as they were.
- Filter criterion processInstanceBusinessKeyIn is exposed in HistoricProcessInstanceQuery
- SQL complexity of variable value criteria is improved by ...
- performing a LEFT JOIN only for distinct variable names
- removing condition duplicates
- Exposing the API's OR queries in Cockpit is not in the scope of this ticket (see hints)
- Exposing OR queries similar to the task filtering view in Tasklist (toggling search from matching ALL to matching ANY criteria) is not sufficient to solve this ticket. It is important that users can express a query like unfinished = true AND (variable value = foo OR variable value = bar)