Commit graph

316 commits

Author SHA1 Message Date
Sipke Schoorstra 3cfc2ad665 Remove unused namespaces 2021-01-08 17:40:32 +01:00
Rafael Carnucci 19ccb24bab
Indexing (#554)
* Add indexing + Elasticsearch provider

Co-authored-by: Rafael Carnucci <rafael.carnucci@icn.de>
Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
2021-01-08 15:11:52 +01:00
Sipke Schoorstra 199ea6abaf
Fix memory stores + Join activity (#561)
* Fix in-memory storage
* Fix broken Join activity
* Fixes #528
2021-01-08 15:02:41 +01:00
Sipke Schoorstra 9e63d9ad69
Distributed workflow execution support (#559)
* Incremental work on workflow message queuing

* Add extension to register message consumers

* Update Rebus logging to use Microsoft Extensions Logging

* Synchronize quartz job and run instance consumer with distributed locking

* Add service bus options
2021-01-08 11:14:00 +01:00
Sipke Schoorstra 9b76904099 Optimize activity data storage 2021-01-05 12:17:00 +01:00
Sipke Schoorstra 8ece1dc9ff Fix premature disposal of workflow execution scope 2021-01-03 19:23:59 +01:00
Sipke Schoorstra c8ec51b332 Fix logging statement 2021-01-03 19:23:35 +01:00
Sipke Schoorstra 1401ba72d2 Prevent duplicate activity ids when using custom ids in composite activities 2021-01-03 19:22:45 +01:00
Sipke Schoorstra 020e74e7bc Use shared Iterate outcome const 2021-01-03 19:22:17 +01:00
Sipke Schoorstra 4ce94ee01a Implement BackgroundWorker thread synchronization 2021-01-03 19:18:50 +01:00
Sipke Schoorstra 9c1515bdb6 Rename Outcome property on Finish activity 2021-01-03 12:21:39 +01:00
Sipke Schoorstra 67be790c7d Fix access to container properties and improve object type conversion 2021-01-03 11:06:11 +01:00
Sipke Schoorstra f14c22d5d4 Improve interaction between Finish and composite activities
This update enabled activities within composite activity containers to control the outcome of the container
2021-01-02 15:39:38 +01:00
Sipke Schoorstra 7c2e9f9342 Unschedule triggers when blocking timers are removed 2021-01-02 13:51:53 +01:00
Sipke Schoorstra 34983144c3 Optimize synchronized workflow instance execution in parallel 2021-01-02 12:57:27 +01:00
Sipke Schoorstra 717ced918f Update Finish activity to only clear blocking activities of current container unless it's the root workflow, in which case ALL blocking activities are removed 2021-01-02 11:22:42 +01:00
Sipke Schoorstra c645e77e14 Extract re-scheduling logic to event handler 2021-01-02 11:05:01 +01:00
Sipke Schoorstra dcbf14c144 Fix and simplify composite activity + while/for/foreach handling 2021-01-01 17:58:08 +01:00
Sipke Schoorstra 10fe049c10 Experimental bug fixes regarding timer & container scheduling 2020-12-31 17:24:55 +01:00
Sipke Schoorstra 8ad256b6b7 Add support for Transient Variables 2020-12-30 16:53:05 +01:00
Sipke Schoorstra a0c9f16aae Add generic BackgroundWorker for running tasks asynchronously in the background 2020-12-30 12:00:53 +01:00
Sipke Schoorstra 993e08ea89
Refactored Switch Activity (#545)
* Add IfThen activity + sample

* Add match mode

* Rename IfThen to Switch
2020-12-29 16:40:21 +01:00
Sipke Schoorstra 460c75227d Implement delete workflow definition 2020-12-28 17:34:44 +01:00
Sipke Schoorstra c6d68875c1 Implement workflow settings 2020-12-27 21:02:14 +01:00
Sipke Schoorstra d04cd93536 Add support for overriding display name and description 2020-12-26 21:55:02 +01:00
Sipke Schoorstra 8dc86a6fa2 Fix broken workflow runner 2020-12-26 15:46:50 +01:00
Sipke Schoorstra 75c4be157a Fix order of startup tasks 2020-12-26 15:32:50 +01:00
Sipke Schoorstra fa13aadd37 Serialization improvements and cleanup 2020-12-26 14:37:05 +01:00
Sipke Schoorstra 310cab9032
Elsa Activity + Workflow registration refactorings (#543)
* Elsa options and activity/workflow registration improvements

* Add convenience extensions for Quartz and Hangfire timer activity registration

* Fix solution and warnings
2020-12-26 12:21:08 +01:00
Rafael Carnucci 92e1a1c3bf
Redesign activities and workflows management (#536)
* Adding Activities, Workflows, TriggerProviders and WorkflowContextProviders by Reflection

* Activities stored in ElsaOptions, instead of IServiceCollection

* Remove the empty XML comments

* Renamed ElsaConfigurationsOptions to ElsaConfiguration

* Small enhancements

* Workflows stored in ElsaOptions, instead of IServiceCollection

* Instantiated workflows can now be added

* Workflow instance was not registered to DI

* Add Elsa.Activities.Rebus project to solution

Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
2020-12-25 21:17:17 +01:00
Rafael Carnucci f6685189f7
Add ContextType to WorkflowInstance (#539)
* Add ContextType to WorkflowInstance

* Removed ContextType from WorkflowDefinition

* Added ContextType to WorkflowInstanceDocument and WorkflowInstanceIndex
2020-12-25 21:15:58 +01:00
Sipke Schoorstra 599c6a5cd6 Fix workflow execution
This fixes an issue where blocking activities would not actually block workflow execution from continuing, due to the workflow runner continuing to schedule the posted activities.
2020-12-24 21:38:45 +01:00
Sipke Schoorstra 28ac92b6ff
Introduce Workflow Instance Name (#538)
* Add Name property to Workflow Instance models and update Dashboard UI

* Add SetName activity

* Add naming workflow sample

* Add modal html

* Implement search by workflow instance name
2020-12-24 14:30:55 +01:00
Rafael Carnucci 5b84a2e7a2
Using AutoMapper.Extensions.Microsoft.DependencyInjection, instead of own implementation (#537) 2020-12-24 14:25:43 +01:00
Sipke Schoorstra b24ff99354 Fix build after merge 2020-12-23 12:50:34 +01:00
Sipke Schoorstra 8dbc3fe100
Workflow Execution Log (#530)
* Rename provider folder to locking

* Update project reference paths

* Incremental work on workflow execution log storage

* Fix deadlock

* Add workflow execution log stores
2020-12-21 17:08:32 +01:00
Sipke Schoorstra 740337bd1e Handle workflow exceptions 2020-12-21 13:55:41 +01:00
Sipke Schoorstra dd2004dd89 Fix CompositeActivity behavior and update sample 2020-12-21 12:10:41 +01:00
Sipke Schoorstra 0b40eb104d Do not invoke context loader for workflow blueprint trigger initialization 2020-12-20 21:58:35 +01:00
Sipke Schoorstra 03c9f94671
Improve specifications and YesSQL implementation (#529)
* Update Fluid.Core package

* Make specifications flexible

* Update build environment

* Disable global.json
2020-12-20 12:12:32 +01:00
Sipke Schoorstra c047d66942 Update packages 2020-12-19 15:35:11 +01:00
Sipke Schoorstra 61c7df61fe Fix NRE in Join activity 2020-12-19 14:56:44 +01:00
Sipke Schoorstra d41039b567 Rename extensions namespace 2020-12-18 11:35:29 +01:00
Sipke Schoorstra cb33ba1f9c Remove reference to deleted folder 2020-12-17 12:05:19 +01:00
Rafael Carnucci 0ba56f51b4
Enhance project structure (#524)
* Fix sample Elsa.Samples.FileBasedWorkflow

* Centralize project properties

* Fix PackageLicenseExpression

* Added configureawait.props & FodyWeavers.xml & FodyWeavers.xsd.

* Remove icon.png and added PackageIconUrl

* Removed <Nullable>disable</Nullable>

* Fix Icon in Elsa.Activities.MassTransit and Rebuild

Co-authored-by: Rafael Carnucci <rafael.carnucci@icn.de>
2020-12-16 10:31:02 +01:00
Sipke Schoorstra b08eba93d5 Fix SignalReceived activity 2020-12-14 21:51:24 +01:00
Sipke Schoorstra 9dc7b691da Add Entity Changed blocking support + workflow context enhancements 2020-12-14 21:12:37 +01:00
Sipke Schoorstra 9611935c3a Add correlation specification 2020-12-14 18:02:00 +01:00
Sipke Schoorstra d6cc7d7f56
Implement Specification pattern (#517)
* Add specifications

* Update persistence providers with specification pattern
2020-12-14 17:15:39 +01:00
Sipke Schoorstra 0d18e374d5 Update workflow time stamps 2020-12-12 19:56:02 +01:00