Commit graph

4870 commits

Author SHA1 Message Date
Sipke Schoorstra 0a21b5201a
Add workflow restart functionality for handling interruptions
Introduced a mechanism to identify and restart interrupted workflows. This includes a new `IWorkflowRestarter` contract, its default implementation, and a recurring task for handling restarts. Additionally, updated configurations and added extensions to improve workflow instance filtering and liveness tracking.
2025-02-22 15:10:52 +01:00
Sipke Schoorstra ae676cf8e9
Merge pull request #6412 from pkaaz/bug/6409-correlationId-for-bookmark-queue
Add CorrelationId to NewBookmarkQueueItem
2025-02-19 15:26:07 +01:00
Sipke Schoorstra 6bb83c538a
Merge pull request #6413 from CODEdire/main
Add IBusRegistrationContext to Transport Configuration Actions
2025-02-19 15:25:54 +01:00
Sipke Schoorstra dd753a62ed
Merge pull request #6423 from bobhauser/activityexecutioncontext-children-property-not-populated
ActivityExecutionContext Children property not populated
2025-02-19 15:24:49 +01:00
Sipke Schoorstra 90e4d23290
Merge pull request #6415 from elsa-workflows/enh/add-add-many
Add AddManyAsync method to activity execution stores
2025-02-19 15:23:28 +01:00
Bob Hauser 8d63c93424 ActivityExecutionContext Children property not populated 2025-02-18 22:57:23 -05:00
Sipke Schoorstra 5dc9d4f40f
Disable multitenancy in Elsa.Server.Web
Multitenancy has been turned off by setting `useMultitenancy` to `false`. This change might simplify the current configuration and reduce complexity for single-tenant use cases.
2025-02-18 19:44:31 +01:00
Sipke Schoorstra bc005a7586
Remove mediator-based workflow definition handling
Replaced mediator requests and commands with direct store interactions in the workflow management module. Simplified service dependencies, eliminating unnecessary handlers and requests, and streamlined workflow-related operations for better maintainability and performance.
2025-02-18 19:39:37 +01:00
Sipke Schoorstra 093c72a8e9 Add AddManyAsync method to activity execution stores
Introduced a new AddManyAsync method across multiple activity execution stores to add collections of log records. This enhancement ensures consistency in handling bulk additions and aligns with existing store interfaces.
2025-02-17 11:32:34 +01:00
Sipke Schoorstra dff6e14093 Add WorkflowExecutionLogStore implementation and migrations
Introduced a new `WorkflowExecutionLogStore` to handle workflow execution log persistence. Added necessary extensions, indexes, migrations, and updated the startup configuration to register the new store and index provider. This enables querying, saving, and managing workflow execution logs in the OrchardCore project.
2025-02-16 20:27:07 +01:00
Sipke Schoorstra 0f747b67fd Refactor Elsa workflows and add support for triggers/bookmarks
Reorganized data migrations and introduced new stores for triggers and bookmarks. Added index providers and migrations for improved queryability of triggers and bookmarks. Updated WorkflowInstance handling with additional configurations and dependency injections.
2025-02-15 23:49:56 +01:00
Thomas Yates c12982dd88 Added minor changes to MassTransitFeature to start using MassTransitOptions as the source for the prefetch count as the new source for this information is in the base MassTransitOptions. Created a new ConfigureTransportBus in both RabbitMQ and Azure Service Bus to support the context in the configuration action. Marked the old ConfigureServiceBus to persuade migration over to the contextual action. Currently, it will run the legacy action first and then the new contextual action second. The Elsa.Server.Web was also updated to use the new ConfigureTransportBus. 2025-02-15 13:04:45 -06:00
Sipke Schoorstra 78eebe67ee Add ElsaWorkflowInstanceStore and workflow instance indexing
Introduced `ElsaWorkflowInstanceStore` for managing workflow instances, including querying, saving, updating, and deleting. Added associated index provider and schema changes for indexing workflow instances, enabling efficient data retrieval. Updated startup and manifest files to register these new functionalities.
2025-02-15 11:54:18 +01:00
PkaaZ a38d56b328 Update for a better description 2025-02-15 12:51:45 +02:00
PkaaZ d24764b8cc Add CorrelationId to NewBookmarkQueueItem 2025-02-15 12:43:58 +02:00
Sipke Schoorstra 255bb26dff Refactor code for improved clarity and modern syntax
Refactored multiple classes to align with modern C# coding practices such as object initializers and nullable type handling. Added a new base class for checklist dropdown providers to enhance UI configuration extensibility. Simplified constructors for feature classes by adopting record-like syntax, improving readability and maintainability.
2025-02-15 00:12:52 +01:00
Sipke Schoorstra 0bca6913b9 Introduce workflow definition publishing and serialization enhancements
Implemented `NewAsync` method in `IWorkflowDefinitionPublisher` for asynchronous workflow creation. Added content item-based workflow definition management, including publishing, retracting, and draft management. Updated workflows API and integrated serialization improvements for better content handling.
2025-02-14 21:41:46 +01:00
Sipke Schoorstra 7b5aa6073d Add support for content item-backed workflow definitions
Introduced a `ContentItemWorkflowDefinitionStore` and related mappers, extensions, and index updates to manage workflow definitions as content items. Refactored the system to replace existing handlers with a store-based approach and optimized querying and mapping workflows.
2025-02-13 23:39:56 +01:00
Sipke Schoorstra 0c53c7095c Refactor workflow handling to use WorkflowDefinitionHandle.
Replaced individual parameters with WorkflowDefinitionHandle in workflow-related methods and requests to centralize and simplify logic. Updated related services, models, and handlers to align with this new structure, improving code maintainability and consistency.
2025-02-12 23:13:04 +01:00
Sipke Schoorstra 58f0c48f66 Refactor workflow management to utilize mediator requests.
Replaced direct store interactions in workflow management with mediator-based requests using `IMediator`, improving consistency and modularity. Added new handlers and requests for workflow definition operations, and updated existing services to align with mediator patterns.
2025-02-12 22:08:09 +01:00
Sipke Schoorstra 5fdd7a4542
Merge remote-tracking branch 'origin/main' 2025-02-12 16:39:00 +01:00
Sipke Schoorstra 3fb4bb18f1 Rename ActivityInput to WorkflowInput and replace 'default' with 'null'.
The record class was renamed to better reflect its purpose as representing workflow input. Additionally, parameters with a default value of 'default' were updated to 'null' for increased clarity and consistency. These changes improve code readability and maintainability.
2025-02-11 15:44:48 +01:00
Sipke Schoorstra 08f7bd7019
Merge pull request #6393 from KnibbsyMan/feat/add-in-sql-editor
Removes Built In SQL Editor Configuration
2025-02-10 09:54:25 +01:00
Sipke Schoorstra f445fbecff
Merge pull request #6394 from elsa-workflows/bug/props-propagation
Add missing request properties when starting workflow
2025-02-10 08:39:33 +01:00
Sipke Schoorstra d83bb3b834 Add customizable tenant header support for HTTP routing
Introduced `MultitenancyHttpOptions` to configure the tenant header name used for HTTP routing. Updated `HeaderTenantResolver` to utilize this option and modified the server setup to allow overriding the default header name. This enables more flexible multitenancy configurations.
2025-02-09 08:24:55 +01:00
Sipke Schoorstra 8952f06dde Add missing request properties when starting workflow
Added support for `Properties` and `ParentId` when creating workflow instances. This fixes an issue where the Properties were not propagated to the workflow instance being created.
2025-02-09 08:12:12 +01:00
Matthew Knibbs 23bc29e73d Removes Built In SQL Editor Configuration 2025-02-07 16:34:22 +00:00
Sipke Schoorstra 484a126693
Merge branch 'patch/3.3.3' 2025-02-07 13:29:43 +01:00
Sipke Schoorstra fe038f9a12 Add obsolete ExecuteAsync overloads for job classes
Introduce `[Obsolete]` ExecuteAsync overloads in job classes to support legacy calls while encouraging migration to preferred methods. `[UsedImplicitly]` annotations ensure these methods are retained for compatibility.
2025-02-07 12:48:30 +01:00
Matthew Knibbs f7c5c83493 Resolves Directory.Packages.props formatting error. 2025-02-07 02:55:29 +00:00
Matt 1029580712
Merge branch 'main' into main 2025-02-06 21:20:12 +00:00
Sipke Schoorstra b57763a74c
Merge branch 'patch/3.3.2' 2025-02-06 21:05:22 +01:00
Sipke Schoorstra 5d21bcb4a9 Improve null handling and add job retry configuration
Updated null checks for job types in Hangfire extensions to prevent potential runtime errors. Added Hangfire's `AutomaticRetry` attribute to RunWorkflowJob and ResumeWorkflowJob to configure retry behavior. Simplified object initialization in WorkflowDefinitions List endpoint.
2025-02-06 19:32:08 +01:00
Sipke Schoorstra 1f78dbae57
Add taskName parameter to job execution methods
This change updates job scheduling and execution methods to include a taskName parameter. It ensures a unique identifier is passed for each job, improving tracking and consistency in job handling. Additionally, documentation comments were updated to reflect this new parameter.
2025-02-06 16:58:32 +01:00
Sipke Schoorstra a084353938
Merge pull request #6370 from yinzara/feature/alterations-client-api
Added Alterations API to Client API library and updated server API co…
2025-02-06 16:45:25 +01:00
Sipke Schoorstra aa09708268
Merge pull request #6343 from elsa-workflows/feature/4835
Controlled Commit States Feature Implementation
2025-02-06 16:44:48 +01:00
Sipke Schoorstra 7a758f8850 Fix multitenancy support in Hangfire services and jobs
Refactored Hangfire-related services and jobs to include tenant context management using ITenantAccessor and ITenantFinder. Updated job constructors and method signatures to support tenant-specific execution. Improved exception-throwing syntax for better readability in BackgroundActivityInvoker.
2025-02-06 16:39:38 +01:00
Marius Vasile Vușcan 59849bc1bb
Exposed incidents in the Elsa.Api.Client 2025-02-06 12:52:32 +02:00
Sipke Schoorstra babf1125ff Refactor ArgumentJsonConverter to improve type alias handling
Introduced logic to handle type aliases more accurately for arrays and collections. Enhanced the final type alias determination by accommodating cases where type aliases are present. Cleaned up unnecessary whitespace for better code readability.
2025-02-06 10:56:43 +01:00
Sipke Schoorstra cf2ac05e92 Refactor ArgumentJsonConverter to improve type handling.
Enhanced type handling by distinguishing arrays, collections, and single types. Added support for "isCollection" metadata and adjusted serialization/deserialization logic to ensure accurate mapping of element types and aliases. This improves clarity and flexibility in JSON representation.
2025-02-06 10:44:04 +01:00
Matt Vance cc39f122eb
Added Alterations API to Client API library and updated server API comments 2025-02-03 16:14:42 -08:00
Sipke Schoorstra 69cdc41782 Remove obsolete migration files from Oracle project.
The migration files `20250131185451_V3_3_2` and related metadata were removed from the project configuration. This cleanup ensures the project references only necessary and relevant resources.
2025-02-01 00:49:19 +01:00
Sipke Schoorstra 2bb3af1e5d Fix Oracle migrations 2025-02-01 00:38:38 +01:00
Sipke Schoorstra 6c0d1ea66c Refactor database setup and EFCore provider configurations.
Revised database initialization scripts to better handle Postgres and Oracle environments, introduced schema-specific configurations for Oracle EFCore, and cleaned up obsolete or redundant entity model setup. Streamlined project structure by relocating and renaming files for SQLite and Oracle EFCore setups, improving maintainability and readability.
2025-01-31 19:51:24 +01:00
Sipke Schoorstra 006e0bbbb4 Ignore EF Core pending model changes warnings and update Oracle DSN.
Added configuration to suppress EF Core PendingModelChangesWarning for better compatibility with newer .NET versions. Updated Oracle connection string to use "localhost" for consistency and clarity in appsettings.json.
2025-01-31 00:52:49 +01:00
Sipke Schoorstra 26e2b1fb56 Add Oracle database support to the project
This commit introduces Oracle database integration by adding necessary configurations, entity mappings, and Docker Compose setup. Oracle-specific mappings ensure compatibility with NCLOB for large data handling. The changes also include updates to appsettings, enum for SqlDatabaseProvider, and project references to support Oracle.
2025-01-31 00:31:09 +01:00
Sipke Schoorstra e54e116977 Fix activity output
Updated `ActivityOutputRegister` to always return the last output value. Added new integration test to validate the functionality.
2025-01-30 22:56:30 +01:00
Sipke Schoorstra ca0dcd2f83
Refactor commit state behavior to use commit strategies
Replaced `ActivityCommitStateBehavior` with a more flexible commit strategy approach utilizing `CommitStrategyDescriptor`. Updated relevant APIs, services, and UI components to support the new model, enhancing configurability and maintainability.
2025-01-30 21:24:27 +01:00
Sipke Schoorstra 47a7c31714 Refactor commit strategies API to unify descriptor model.
Standardized commit strategy descriptors across workflows and activities by introducing a shared `CommitStrategyDescriptor` model. Updated API endpoints and conversion logic to adopt this unified approach, improving consistency and reusability. Implemented new interfaces in the client API for listing commit strategies.
2025-01-30 18:32:15 +01:00
Sipke Schoorstra 2402bacaba Remove custom JSON converter for workflow commit strategies.
Eliminated `WorkflowCommitStateStrategyJsonConverter` and its usage in the `IWorkflowCommitStrategy` interface. This simplifies serialization logic and reduces unnecessary complexity in the codebase.
2025-01-30 18:11:35 +01:00