elsa-core/src
Sipke Schoorstra 3f5cac76c5
Refactors workflow reference updates (#6792)
* Refactor database extensions and support migrations for V3.6

Remove `DatabaseFacadeExtensions` and introduce `IWorkflowReferenceQuery` with its default implementation. Implement database schema updates for PostgreSQL, MySQL, and Oracle to enhance compatibility with the V3.6 data structure.

* Remove commented-out code and standardize null default assignment in `IWorkflowDefinitionStore` interface

* Add XML documentation for `DefaultWorkflowReferenceQuery` detailing its purpose and dependencies

* Refactor `WorkflowReferenceUpdater` to support recursive dependency resolution, prevent concurrent updates, and improve reference consistency.

* Simplify `WorkflowReferenceUpdater` by removing topological sorting and redundant dependencies handling.

* Refactor `WorkflowReferenceUpdater` to streamline reference updates, remove redundant logic, and enhance dependency resolution efficiency.

* Refactor `WorkflowReferenceUpdater` to use `HashSet` for updated workflows, reducing potential duplication and improving performance.

* Refactor `WorkflowReferenceUpdater` to introduce topological sorting for correct processing order, improve dependency resolution, and enhance clarity with updated records and comments.

* Introduce `WorkflowDefinitionActivityDescriptorFactory` to simplify `WorkflowDefinitionActivity` descriptor creation and refactor existing components for modularity, clarity, and efficiency.

* Update `WorkflowReferenceUpdater` to use `VersionOptions.Latest` instead of `VersionOptions.LatestOrPublished` for workflow reference resolution.

* Refactor `WorkflowReferenceUpdater` to improve workflow dependency resolution by handling publication states, caching drafts more efficiently, and introducing distinct processing for latest and published versions.

* Refactor workflow publication logic and update SQLite configuration.

Removed unused draft publication logic to simplify workflow reference updates. Updated SQLite persistence configuration in `Elsa.Server.Agents.Web` to use explicit connection strings for improved clarity and maintainability.

* Remove commented-out legacy code in `WorkflowReferenceUpdater` to improve clarity and maintainability.

* Fix formatting by adding a missing newline at EOF in `Directory.Build.props`.

* Prevent infinite recursion in `GetReferencingWorkflowDefinitionIdsAsync` by introducing visited ID tracking. Fix formatting inconsistencies in `WorkflowReferenceUpdater`.

* Update `WorkflowReferenceUpdater` to use `NewGraph` instead of materializing workflows for referencing workflow graphs
2025-07-15 13:59:05 +02:00
..
apps Refactor Program.cs to simplify options and remove unused constants. Clean up solution file and update namespace for ConfigureEngineWithVariableTypes. 2025-07-05 18:54:45 +02:00
clients/Elsa.Api.Client Revert ChecklistItem back from Record to Class and remove left over RadioListActivity. Update Nuget packages. 2025-06-26 01:32:05 +01:00
common Add option to disable LocalHost requirement for SecurityRoot policy 2025-07-07 13:59:19 +02:00
extensions/Elsa.Testing.Extensions Fix ASP.NET integration test crashes by adding proper Elsa background task shutdown (#6686) 2025-05-24 23:25:37 +02:00
modules Refactors workflow reference updates (#6792) 2025-07-15 13:59:05 +02:00
samples Fix ASP.NET integration test crashes by adding proper Elsa background task shutdown (#6686) 2025-05-24 23:25:37 +02:00
Directory.Build.props Refactor projects to target .NET 8.0 exclusively. 2025-02-24 22:29:51 +01:00