From c282fbda37b84d17d96c7f45364ecfe9f28988fe Mon Sep 17 00:00:00 2001 From: venetrius Date: Fri, 4 Oct 2024 09:48:33 +0200 Subject: [PATCH 1/4] docs(content/update): migration guide Process Instance Modification Filter Changes related to: camunda/camunda-bpm-platform/issues/4632 --- content/update/minor/721-to-722/_index.md | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/content/update/minor/721-to-722/_index.md b/content/update/minor/721-to-722/_index.md index 1f6c3475df..1494918bc1 100644 --- a/content/update/minor/721-to-722/_index.md +++ b/content/update/minor/721-to-722/_index.md @@ -29,6 +29,7 @@ This document guides you through the update from Camunda `7.21.x` to `7.22.0` an 1. For administrators and developers: [Sending telemetry feature removed](#sending-telemetry-feature-removed) 1. For administrators: [Database transaction isolation level `READ_COMMITTED` is enforced](#database-transaction-isolation-level-read-committed-is-enforced) 1. For developers: [Quarkus 3.14 Extension Update](#quarkus-3-14-extension-update) +1. For administrators and developers: [Cockpit modify filter changes](#cockpit-modify-filter-changes) This guide covers mandatory migration steps and optional considerations for the initial configuration of new functionality included in Camunda 7.22. @@ -292,4 +293,23 @@ This requires using the new namespace `generic-config`. For a detailed guide on the new Quarkus properties, visit the updated [Quarkus Configuration]({{< ref "/user-guide/quarkus-integration/configuration.md" >}}) page. -To read more on how Quarkus extensions treat configuration differently, see this [Quarkus Migration Guide](https://github.com/quarkusio/quarkus/wiki/Migration-Guide-3.14#for-extension-developers) and the [Mapping Configuration to Objects Guide](https://quarkus.io/guides/config-mappings). \ No newline at end of file +To read more on how Quarkus extensions treat configuration differently, see this [Quarkus Migration Guide](https://github.com/quarkusio/quarkus/wiki/Migration-Guide-3.14#for-extension-developers) and the [Mapping Configuration to Objects Guide](https://quarkus.io/guides/config-mappings). + +# Process Instance Modification Filter Changes + +In the Camunda Cockpit, the [Process Definition View][process-instance-modification] dialog has been updated to use the Historic API. With this change, the start date filter is now available within the workflow, while also aligning the Modify Workflow functionality with the Batch Operation API in terms of filter behavior. + +[process-instance-modification]: {{< ref "/webapps/cockpit/bpmn/process-instance-modification.md#perform-a-batch-modification" >}} + +## Saved Filters No Longer Shared Between Modify Operation and Other Filters +When filtering process instances, users have the option to save filters for future use. Previously, saved filters were incorrectly shared between the Modify Operation and other pages. With this update, filters saved in the Modify Process Instance workflow are now isolated and will not affect filters on other pages, and vice versa. + +IMPORTANT: After migrating to the new version of Camunda, no saved filters will be available in the Modify Process Instance workflow. Users will need to re-enter and save these filters following the migration. Please notify your users before the migration. + +## Edge Cases with Behavioral Changes + +- Tokens on Async Tasks: Tokens sitting on an `asyncBefore`/`asyncAfter` task will not yield process instances when using the `activityIdIn` filter, as no history has been produced yet. Filtering here is effectively racing against the job executor, and since the job executor usually processes faster than a user can apply filters, state changes can impact query results. This filter is most applicable for true wait states (e.g., user tasks, external tasks, timers) rather than transaction boundaries. + +- Compensation Scenarios: It is no longer possible to retrieve process instances with the `activityIdIn` filter on the subprocess "activity". When using `activityIdIn` filter for compensation scenarios, users need to filter by specific flow nodes rather than the broader subprocess activities. + +- Incident Deletion: When an incident is deleted, the incident filters will still return the process instances that previously had an incident. This behavior aligns with the standalone batch operation page and ensures consistency across the application. From f64cdcdf9670c8a1b615b328e99c9229b83463a0 Mon Sep 17 00:00:00 2001 From: venetrius Date: Fri, 4 Oct 2024 09:56:34 +0200 Subject: [PATCH 2/4] docs(update): incidentIdIn can not be applied in OR queries related to: camunda/camunda-bpm-platform/issues/4632 --- content/user-guide/process-engine/process-engine-api.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/user-guide/process-engine/process-engine-api.md b/content/user-guide/process-engine/process-engine-api.md index 053b4b6c8c..5b28e3d533 100644 --- a/content/user-guide/process-engine/process-engine-api.md +++ b/content/user-guide/process-engine/process-engine-api.md @@ -178,7 +178,7 @@ OR queries enable building queries in which filter criteria are linked together {{< note title="Heads-up!" class="info" >}} - This functionality is only available for task and process instance queries (runtime & history). - The following methods cannot be applied to an OR query: orderBy...(), initializeFormKeys(), - withCandidateGroups(), withoutCandidateGroups(), withCandidateUsers(), withoutCandidateUsers(). + withCandidateGroups(), withoutCandidateGroups(), withCandidateUsers(), withoutCandidateUsers(), incidentIdIn(). {{< /note >}} After calling `or()`, a chain of several filter criteria could follow. Each filter criterion is linked together From 3d7f46f9a014dfe8148af4565198c395eb27b193 Mon Sep 17 00:00:00 2001 From: Gergely Juhasz Date: Fri, 4 Oct 2024 13:18:11 +0200 Subject: [PATCH 3/4] Apply suggestions from code review Co-authored-by: psavidis <69160690+psavidis@users.noreply.github.com> --- content/update/minor/721-to-722/_index.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/content/update/minor/721-to-722/_index.md b/content/update/minor/721-to-722/_index.md index 1494918bc1..431b0cdc1f 100644 --- a/content/update/minor/721-to-722/_index.md +++ b/content/update/minor/721-to-722/_index.md @@ -29,7 +29,7 @@ This document guides you through the update from Camunda `7.21.x` to `7.22.0` an 1. For administrators and developers: [Sending telemetry feature removed](#sending-telemetry-feature-removed) 1. For administrators: [Database transaction isolation level `READ_COMMITTED` is enforced](#database-transaction-isolation-level-read-committed-is-enforced) 1. For developers: [Quarkus 3.14 Extension Update](#quarkus-3-14-extension-update) -1. For administrators and developers: [Cockpit modify filter changes](#cockpit-modify-filter-changes) +1. For administrators and developers: [Process Instance Modification Filter Changes](#process-instance-modification-filter-changes) This guide covers mandatory migration steps and optional considerations for the initial configuration of new functionality included in Camunda 7.22. @@ -297,18 +297,20 @@ To read more on how Quarkus extensions treat configuration differently, see this # Process Instance Modification Filter Changes -In the Camunda Cockpit, the [Process Definition View][process-instance-modification] dialog has been updated to use the Historic API. With this change, the start date filter is now available within the workflow, while also aligning the Modify Workflow functionality with the Batch Operation API in terms of filter behavior. +The [Process Definition View][process-instance-modification] dialog of Camunda Cockpit has been updated to use the Historic API. With this change, the `start date` filter is now available within the workflow, while also aligning the Modify Workflow functionality with the Batch Operation API in terms of filter behavior. [process-instance-modification]: {{< ref "/webapps/cockpit/bpmn/process-instance-modification.md#perform-a-batch-modification" >}} -## Saved Filters No Longer Shared Between Modify Operation and Other Filters -When filtering process instances, users have the option to save filters for future use. Previously, saved filters were incorrectly shared between the Modify Operation and other pages. With this update, filters saved in the Modify Process Instance workflow are now isolated and will not affect filters on other pages, and vice versa. +## Saved Filters are Now Isolated +Filters saved in the Modify Process Instance workflow were previously shared across other pages. With this update, the filters of Modify Process Instance workflow and other pages are isolated and independent of each other. -IMPORTANT: After migrating to the new version of Camunda, no saved filters will be available in the Modify Process Instance workflow. Users will need to re-enter and save these filters following the migration. Please notify your users before the migration. +{{< note title="Heads-up!" class="warning" >}} +After migrating to the new version of Camunda, no saved filters will be available in the Modify Process Instance workflow. Users will need to re-enter and save these filters following the migration. Please notify your users before the migration. +{{< /note >}} ## Edge Cases with Behavioral Changes -- Tokens on Async Tasks: Tokens sitting on an `asyncBefore`/`asyncAfter` task will not yield process instances when using the `activityIdIn` filter, as no history has been produced yet. Filtering here is effectively racing against the job executor, and since the job executor usually processes faster than a user can apply filters, state changes can impact query results. This filter is most applicable for true wait states (e.g., user tasks, external tasks, timers) rather than transaction boundaries. +- Tokens on Async Tasks: Tokens sitting on an `asyncBefore`/`asyncAfter` task will not yield process instances when using the `activityIdIn` filter, as no history has been produced yet. Filtering here is effectively racing against the job executor. Given the job executor usually processes faster than a user can apply filters, state changes can impact query results. This filter is most applicable for true wait states (e.g., user tasks, external tasks, timers) rather than transaction boundaries. - Compensation Scenarios: It is no longer possible to retrieve process instances with the `activityIdIn` filter on the subprocess "activity". When using `activityIdIn` filter for compensation scenarios, users need to filter by specific flow nodes rather than the broader subprocess activities. From 801adcbcab90dfeadaf11770f08a287ca59c856a Mon Sep 17 00:00:00 2001 From: venetrius Date: Fri, 4 Oct 2024 13:52:49 +0200 Subject: [PATCH 4/4] update --- content/update/minor/721-to-722/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/update/minor/721-to-722/_index.md b/content/update/minor/721-to-722/_index.md index 431b0cdc1f..04763430db 100644 --- a/content/update/minor/721-to-722/_index.md +++ b/content/update/minor/721-to-722/_index.md @@ -297,7 +297,7 @@ To read more on how Quarkus extensions treat configuration differently, see this # Process Instance Modification Filter Changes -The [Process Definition View][process-instance-modification] dialog of Camunda Cockpit has been updated to use the Historic API. With this change, the `start date` filter is now available within the workflow, while also aligning the Modify Workflow functionality with the Batch Operation API in terms of filter behavior. +The [Process Definition View][process-instance-modification] dialog of Camunda Cockpit has been updated to use the Historic API. With this change, the `start date` filter is now available within the workflow. [process-instance-modification]: {{< ref "/webapps/cockpit/bpmn/process-instance-modification.md#perform-a-batch-modification" >}}