Commit graph

5755 commits

Author SHA1 Message Date
Sipke Schoorstra 166c1bc117 Add endpoints for listing workflow commit strategies
Introduced two API endpoints to list activity and workflow commit strategy registrations. Updated the project file to include the new directory structure for the endpoints. These endpoints provide unified responses from the respective registry implementations.
2025-01-30 15:19:51 +01:00
Sipke Schoorstra e151810600 Refactor commit strategy architecture for flexibility.
Replaces direct strategy registration with metadata-based registrations, introducing `ObjectRegistration`, `CommitStrategyMetadata`, and associated helpers. Updates existing strategies and APIs to use the new metadata-driven approach, improving extensibility and maintainability.
2025-01-30 15:14:58 +01:00
Sipke Schoorstra 4b308cc94a Refactor commit strategy naming and implementation
Renamed `CommitStateStrategy` to `CommitStrategy` for consistency and clarity. Updated method names, property names, and logic to reflect the new naming convention. Improved null handling when setting commit strategy properties.
2025-01-30 14:29:04 +01:00
Sipke Schoorstra ce859efc4a Refactor commit state handling with a strategy-based approach
Replaced the legacy commit state behavior enums and options with a flexible, strategy-based system for activities and workflows. Introduced new interfaces, models, and strategies to enable fine-grained control of commit state logic. Updated related code to integrate the new commit strategies, ensuring modular and extensible commit handling.
2025-01-30 11:59:47 +01:00
Sipke Schoorstra d93d67cada
Merge branch 'main' into feature/4835 2025-01-30 09:17:38 +01:00
Sipke Schoorstra 1df28f171b
Merge pull request #6354 from elsa-workflows/bug/design-time-dbcontext-activation
Simplify DbContext creation with ActivatorUtilities.
2025-01-30 09:14:47 +01:00
Sipke Schoorstra d500817468 Simplify DbContext creation with ActivatorUtilities.
Replaced Activator.CreateInstance with ActivatorUtilities.CreateInstance to streamline the DbContext instantiation. This improves dependency injection support and ensures better compatibility with service provider configurations.
2025-01-29 19:03:59 +01:00
Sipke Schoorstra f4a31079b7 Refactor activity execution context removal logic.
Updated methods to ensure proper cleanup when removing activity execution contexts, including handling parent-child relationships. Improved robustness and clarity by introducing step-by-step removal for multiple contexts.
2025-01-29 16:18:59 +01:00
Sipke Schoorstra 7f86799393
Merge branch 'main' into feature/4835 2025-01-29 13:39:31 +01:00
Sipke Schoorstra e995cbfd02
Merge pull request #6351 from elsa-workflows/improvement/email-attachment-from-expando
Add support for ExpandoObject attachments in email sending
2025-01-29 11:45:36 +01:00
Sipke Schoorstra 4d7b551d79 Add support for ExpandoObject attachments in email sending
This update enables handling ExpandoObject as email attachments by extracting relevant properties like FileName, ContentType, and Content. It ensures proper parsing of the content and supports both byte arrays and streams for attachment data.
2025-01-29 11:24:13 +01:00
Sipke Schoorstra 5d653b9d78
Merge pull request #6350 from elsa-workflows/bug/complex_type_array_serialization
Improve JSON array conversion in ObjectConverter
2025-01-29 11:19:09 +01:00
Sipke Schoorstra 0560d11432 Improve JSON array conversion in ObjectConverter
Refactored ObjectConverter to handle JSON array conversions more robustly, including support for arrays of complex types. Added a `Person` class for unit testing and updated tests to validate the new functionality. Included necessary project reference updates to ensure proper functionality.
2025-01-29 10:50:42 +01:00
Sipke Schoorstra 0eec9693f7 Refactor and optimize workflow execution context handling.
Replaced inline filtering logic with reusable methods to simplify and unify activity execution context management. Introduced `ClearCompletedActivityExecutionContexts` to remove redundant contexts and migrated filtering logic to `WorkflowExecutionContext`. Improved code clarity and maintainability by removing duplicate methods and streamlining exception throwing.
2025-01-28 20:59:27 +01:00
Sipke Schoorstra 8bc6fa6a57 Refactor activity context management and state handling.
Replaced `ActivityExecutionRecordExtractor` with a `ChangeTrackingDictionary` for better state mutation tracking in activity execution contexts. Introduced tainting mechanisms to track dirty states and ensure precise logging and persistence of activity execution logs. Updated several components like `ActivityExecutionLogSink` and `ExpressionExecutionContext` to utilize these changes effectively.
2025-01-28 20:24:53 +01:00
Sipke Schoorstra 7dc6220175
Merge branch 'main' into feature/4835 2025-01-28 13:53:58 +01:00
Sipke Schoorstra 9437ab3a3d Refactor initialization of ObsoleteWorkflowRuntime.
Replaced direct instantiation of `ObsoleteWorkflowRuntime` with `Lazy<ObsoleteWorkflowRuntime>` across multiple runtime services to avoid circular dependency resolution.
2025-01-28 13:53:22 +01:00
Sipke Schoorstra dbd89905c8 Remove redundant PreviousSubStatus assignment in workflow context
The PreviousSubStatus assignment was removed as it was unused and unnecessary. This cleanup simplifies the code and ensures focus only on relevant functionality.
2025-01-28 11:40:14 +01:00
Sipke Schoorstra 633464eb04
Merge branch 'main' into feature/4835 2025-01-28 11:17:14 +01:00
Sipke Schoorstra 9a5181a3d7
WIP on feature/4835 2025-01-28 11:17:02 +01:00
Sipke Schoorstra 4a4657b4a4
Merge branch 'main' into feature/4835 2025-01-28 10:57:52 +01:00
Sipke Schoorstra e2a57aca35
Merge pull request #6344 from elsa-workflows/task/restore-previous-workflow-runtime-api
Restore old workflow runtime API
2025-01-28 10:37:46 +01:00
Sipke Schoorstra 0a43b99ea3
Merge pull request #6342 from elsa-workflows/vaidate-unique-input-output
Validate unique input/output names before publishing workflow
2025-01-28 10:37:21 +01:00
Sipke Schoorstra 9f01e148a9 Deprecate and clean up legacy workflow runtime components.
Marked various types as obsolete, advising migration to `CreateClientAsync` methods or `IBookmarkQueue` services. Removed unused `Deprecated` namespace imports, aligning code with updated runtime standards.
2025-01-28 09:26:46 +01:00
Sipke Schoorstra ee883dbd07 Refactor workflow runtime to use ObsoleteWorkflowRuntime delegation
Replaced direct method implementations in workflow runtimes with delegations to the new `ObsoleteWorkflowRuntime` class, simplifying the codebase. This consolidates logic and aligns the runtimes under a unified deprecated API layer.
2025-01-28 09:18:24 +01:00
Sipke Schoorstra e27101032b Incremental work on central obsolete workflow runtime for reuse 2025-01-28 00:32:43 +01:00
Sipke Schoorstra 60323d0522 Refactor CanStartWorkflowResult to use compact constructor.
Simplified the object creation in `CanStartWorkflowResult` by using a concise constructor format. This improves code readability and reduces verbosity without altering functionality.
2025-01-28 00:22:20 +01:00
Sipke Schoorstra db1556fd0b Update ProtoActorWorkflowRuntime to implement backwards-compatible workflow runtime API 2025-01-28 00:21:49 +01:00
Sipke Schoorstra 8e88de546d Incremental work on restoring previous workflow runtime API surface for backward compatibility 2025-01-28 00:11:25 +01:00
Sipke Schoorstra 85282f9149
Update WorkflowExecutionContext.cs
Remove unused property
2025-01-27 21:48:14 +01:00
Sipke Schoorstra 6b288e1990
Update SetCommitStateBehavior method for fluent convenience 2025-01-27 21:13:49 +01:00
Sipke Schoorstra 8cb43db070 Refactor workflow state persistence for improved consistency.
Removed obsolete middleware for persisting bookmarks, execution logs, and variables, integrating their functionality into the commit state handler. Added early exit checks for empty collections in persistence methods. Updated activity invoker logic for better state commit handling during execution.
2025-01-27 20:07:23 +01:00
Sipke Schoorstra 879e546942
Merge branch 'main' into feature/4835 2025-01-27 19:29:43 +01:00
Sipke Schoorstra ea8c3da169 Refactor object initialization and remove unused import.
Updated the object initialization syntax for cleaner code and removed an unused import in WorkflowValidator.cs to improve code readability and maintainability.
2025-01-27 18:55:28 +01:00
Sipke Schoorstra be94a51b8c Add validation for unique input/output names in workflows
Introduces a `ValidateWorkflow` notification handler to enforce validation of unique input and output names in workflows. Adds validation errors when duplicate names are detected, improving the integrity of workflow definitions. Integrates the handler into the workflow management feature.
2025-01-27 18:44:47 +01:00
Sipke Schoorstra a2efe5a941
Merge pull request #6341 from elsa-workflows/task/restore-descendants-util
Restore methods for traversing activity execution context hierarchy
2025-01-27 16:03:53 +01:00
Sipke Schoorstra 62f84ee00c
Merge pull request #6339 from lahma/nuke-upgrade
Upgrade to NUKE 9.0.4 and fix automatic workflow generation
2025-01-27 15:55:52 +01:00
Sipke Schoorstra 7a21f09ae9 Restore methods for traversing activity execution context hierarchy
Reintroduced `GetAncestors` method and added new methods: `GetDescendants`, `GetActiveChildren`, and `GetChildren`. These methods enhance navigation through activity execution contexts by providing easy access to hierarchical relationships like ancestors, descendants, and children.
2025-01-27 15:49:25 +01:00
Sipke Schoorstra d66e07a5c1
Merge pull request #6340 from elsa-workflows/bug/varible-array-alias
Fix variable mapping and aliasing
2025-01-27 11:29:38 +01:00
Sipke Schoorstra c93b063106 Fix variable mapping and aliasing 2025-01-27 11:29:02 +01:00
Sipke Schoorstra e806b73f18
Update Oracle.EntityFrameworkCore package to version 9.23.60
Upgraded the Oracle.EntityFrameworkCore package from version 8.23.70 to 9.23.60. This update ensures compatibility with newer features and resolves any potential issues fixed in the latest release. No changes were made to other package versions.
2025-01-27 11:04:16 +01:00
Marko Lahma 6945eb191a Upgrade to NUKE 9.0.4 and fix automatic workflow generation 2025-01-26 19:29:19 +02:00
Sipke Schoorstra 9365328f0b Add commit state behavior support in workflows
Introduced `ActivityCommitStateBehavior` and `WorkflowCommitStateOptions` to enable flexible state commit handling in workflows. Integrated commit logic into activity and workflow execution contexts and middleware. This improves control over when state is committed during workflow execution.
2025-01-25 23:26:37 +01:00
Sipke Schoorstra adea7fa666
Update and rename doc.md to documentation.md 2025-01-24 23:29:18 +01:00
Sipke Schoorstra d373b24d15
Update performance.md 2025-01-24 23:28:55 +01:00
Sipke Schoorstra cbe0cccbcd
Delete .github/ISSUE_TEMPLATE/test.md 2025-01-24 23:25:30 +01:00
Sipke Schoorstra bb2456595d
Update and rename enhancement.md to improvement.md 2025-01-24 23:22:13 +01:00
Sipke Schoorstra 8f36d4c871
Update test.md 2025-01-24 23:21:42 +01:00
Sipke Schoorstra 6b6b081b66
Update and rename chore.md to task.md 2025-01-24 23:21:12 +01:00
Sipke Schoorstra 157927dc95
Update performance.md 2025-01-24 23:20:26 +01:00