elsa-core/src/modules/Elsa.Workflows.Core
Sipke Schoorstra b88d12cdd8
Fixed Log Persistence Mode Evaluation For Activity Execution (#6595)
* Refactor log persistence mode evaluation for activity execution

Updated functionality to evaluate and filter log persistence modes during activity execution. Added middleware, interfaces, and supporting methods to manage log configuration, ensuring only persistable inputs and outputs are retained in execution mapping. Updated pipeline to include the new middleware.

* Refactor log persistence mapping and evaluation logic

Updated log persistence evaluation to use separate input/output maps, ensuring a more modular and maintainable structure. Adjusted property key handling and introduced a dedicated helper method for evaluating persistence properties. Added middleware for log persistence mode evaluation to the workflow execution pipeline.

* Refactor log persistence logic and restructure namespaces.

Centralizes log persistence logic under a dedicated `LogPersistence` namespace. Simplifies interfaces and methods to streamline functionality, ensuring clarity and consistency in log persistence evaluations.

* Refactor log persistence methods for encapsulation.

Converted multiple public methods to private to enhance encapsulation and adherence to the principle of least privilege. Introduced a helper method `ResolveFinalLogPersistenceMode` to improve code clarity and maintainability.

* Refactor log persistence with improved type safety and structure

Updated methods and properties related to log persistence to remove nullable types, enhance clarity, and ensure type safety. Simplified configurations and refactored logic for evaluating persistence modes, reducing redundancy and improving maintainability.

* Add XML documentation to IActivityPropertyLogPersistenceEvaluator

This commit introduces XML comments to provide clarity on the purpose and functionality of the interface and its methods, aiding developers in understanding their usage and behavior during workflow execution.

* Refine log persistence logic in activity execution mapping.

Ensure that log persistence modes are correctly handled by adding explicit checks for `LogPersistenceMode.Inherit`. This prevents potential ambiguities and ensures accurate property mapping during workflow execution.

* Refactor state handling and log persistence evaluation.

Updated method signatures for stricter type consistency and improved readability. Introduced additional resolution step in log persistence to handle legacy configurations more effectively. This enhances code maintainability and alignment with expected behavior.

* Update src/modules/Elsa.Workflows.Core/Extensions/ActivityExtensions.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-04-17 18:03:06 +02:00
..
Abstractions Refactor variable initialization for clarity and consistency 2025-03-13 21:05:28 +01:00
ActivationValidators
Activities Add strict type checking for variable parsing (#6536) 2025-03-31 18:11:14 +02:00
Attributes Add migration files for database schema V3.4 2025-02-22 20:48:56 +01:00
Behaviors
Builders Refactor variable initialization for clarity and consistency 2025-03-13 21:05:28 +01:00
CommitStates Remove custom JSON converter for workflow commit strategies. 2025-01-30 18:11:35 +01:00
Constants
Contexts Refactor activity execution state handling with IDisposable 2025-03-15 20:01:02 +01:00
Contracts Enhanced Delete of variable persistence manager to allow drivers filtering with tags (#6558) 2025-04-04 11:13:54 +02:00
Enums Refactor activity execution state tracking 2025-02-22 19:45:44 +01:00
Exceptions
Expressions
Extensions Fixed Log Persistence Mode Evaluation For Activity Execution (#6595) 2025-04-17 18:03:06 +02:00
Features Refactor variable storage driver mapping logic. (#6588) 2025-04-15 09:51:32 +02:00
Helpers
IncidentStrategies
LogPersistence
Memory Add strict type checking for variable parsing (#6536) 2025-03-31 18:11:14 +02:00
Middleware Extended the incidents data to include the activityNodeId (#6570) 2025-04-10 14:02:38 +02:00
Models Extended the incidents data to include the activityNodeId (#6570) 2025-04-10 14:02:38 +02:00
Notifications
Options Add support for passing initial variables 2025-03-08 11:47:58 +01:00
Pipelines
PortResolvers
Serialization Merge branch 'main' into enh/workflowinstance-name 2025-03-14 23:03:33 +01:00
Services Fix Container type (#6584) 2025-04-13 20:26:31 +02:00
Signals
State Merge branch 'main' into enh/workflowinstance-name 2025-03-14 23:03:33 +01:00
UIHints Adds Support For New DateTimePicker UI Component And Re-Orders the InputUIHints. 2025-03-13 19:13:16 +00:00
VariableStorageDrivers Add strict type checking for variable parsing (#6536) 2025-03-31 18:11:14 +02:00
Elsa.Workflows.Core.csproj
Elsa.Workflows.Core.csproj.DotSettings Refactor commit strategy architecture for flexibility. 2025-01-30 15:14:58 +01:00
FodyWeavers.xml
IsExternalInit.cs