camunda / camunda-bpm-platform

Flexible framework for workflow and decision automation with BPMN and DMN. Integration with Quarkus, Spring, Spring Boot, CDI.
https://camunda.com/
Apache License 2.0
4.13k stars 1.56k forks source link

Synchronous APIs that potentially affect multiple entities write operation log on single entity operations #3932

Open mboskamp opened 1 year ago

mboskamp commented 1 year ago

User Story (Required on creation)

As a developer, I want to be able to execute API operations for single entities (e.g. message correlation) in an audit-save manner. There are a number of APIs that allow operations that only affect one single entity with corresponding APIs that allow the same operation on multiple entities. This feature allows me to produce a single operation log entry for all synchronous APIs that operate on a single entity.

Functional Requirements (Required before implementation)

The following APIs are executed synchronously. All of them have an API endpoint that works with only one entity (called single here) and and one endpoint which affects multiple entities (called multi here). This is a list of all of the endpoints and their current behavior regarding writing user operation logs:

RuntimeService

RepositoryService

HistoryService

ManagementService

ExternalTaskService

TaskService

Clarification:

Technical Requirements (Required before implementation)

The above endpoints use the process engine configuration property logEntriesPerSyncOperationLimit (more details in #3900) to limit user operation logs for multi-entity operations.

Limitations of Scope

Hints

Links

Breakdown

RuntimeService

### deleteProcessInstances
- [ ] https://github.com/camunda/camunda-bpm-platform/pull/4028
### removeExecutionVariables
### removeExecutionVariables
### signal
### suspend/activate process instance
### signal recieved
### message recieved
### migrate process instances
### modify process instances
### restart process instances

RepositoryService

### deleteProcessDefinition by id

HistoryService

### deleteHistoricProcessInstances
### deleteHistoricDecisionInstancesBulk

ManagementService

### setJobRetries

ExternalTaskService

### updateRetries

TaskService

### deleteTask
### removeTaskVariable

Dev2QA handover

mboskamp commented 9 months ago

deleteProcessInstance ready for review

mboskamp commented 1 week ago

Deprioritized due to other workload. This can be picked up at any time in the future.