Commit graph

139 commits

Author SHA1 Message Date
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 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 34983144c3 Optimize synchronized workflow instance execution in parallel 2021-01-02 12:57:27 +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 c6d68875c1 Implement workflow settings 2020-12-27 21:02:14 +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
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 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 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 d41039b567 Rename extensions namespace 2020-12-18 11:35:29 +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 f2aae986f4 Use in-memory persistence by default 2020-12-12 14:07:17 +01:00
Sipke Schoorstra 2bc141a464 Wrap workflow definition store with workflow definition manager 2020-12-11 22:02:43 +01:00
Sipke Schoorstra a57816663d Wrap workflow instance store with workflow instance manager 2020-12-11 21:49:39 +01:00
Rafael Carnucci 3b35d9ff0a
Seperate YesSql (#504)
* Seperate YesSql and added InMemory, MongoDb

* Error fixed, if DatabaseInitializer is run through several times

* icon.png was not packed

* Added AddWorkflowProvider to AddElsaPersistenceMongoDb

* Wrong primary keys were used for MongoDb

* Refactorig MongoDb

* Register IMongoCollection<WorkflowDefinition> and IMongoCollection<WorkflowInstance> with DI

* Wrong Parameter Type in Constructor (MongoDbWorkflowInstanceRepository)

* Add workflowDefinition.WorkflowDefinitionId = _idGenerator.Generate(); to Initialize

* Removed duplicated code

* Correct wrong Commit

Co-authored-by: Rafael Carnucci <rafael.carnucci@icn.de>
Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
2020-12-11 21:03:49 +01:00
Sipke Schoorstra dac4610ac8 Incremental work on dashboard + API 2020-12-08 22:23:52 +01:00
Sipke Schoorstra b3270d9b0a Add methods to query workflows by correlation ID 2020-12-06 13:24:48 +01:00
Sipke Schoorstra de535b3954 Fix workflow registration bug 2020-12-06 13:24:28 +01:00
Sipke Schoorstra 245d6e9bbc Simplify queries thanks to fix in YesSQL 2020-12-04 12:23:45 +01:00
Sipke Schoorstra bf1d54d1e6 Remove noisy CancellationToken parameters
The CancellationToken is now available as part of the ActivityExecutionContext
2020-12-02 22:28:36 +01:00
Sipke Schoorstra e32af24a3e
Add Workflow Interruptor API (#482) 2020-12-01 21:17:05 +01:00
Sipke Schoorstra 0facd8f93f
Introduce activity type providers (#480)
* Add activity type provider API

* Rename ReceiveHttpRequest to HttpRequestReceived
2020-11-30 15:21:36 +01:00
Sipke Schoorstra 41ca351d29
Refactor Timers activities using Quartz & initial Multitenancy support (#477)
* Refactor time based events using Quartz.net

* Simplify Quartz job & trigger registration & Cleanup

* Expose Quartz configuration

* Restructure samples
2020-11-27 21:47:51 +01:00
Sipke Schoorstra 4b85142bd1 Add SetContextId activity 2020-11-24 20:25:37 +01:00
Sipke Schoorstra 6670264194 Make workflow builders singletons 2020-11-23 16:47:22 +01:00
Sipke Schoorstra 123e49c19d WIP Azure Service Bus activities 2020-11-22 22:16:28 +01:00
Sipke Schoorstra e6227e887f Simplify service bus API and cleanup 2020-11-22 11:49:28 +01:00
Sipke Schoorstra f1349adc3f Service bus API improvements 2020-11-20 23:24:48 +01:00
Sipke Schoorstra 355038f27e Incremental work on service bus API 2020-11-20 17:08:05 +01:00
Sipke Schoorstra d5633d282c Stash 2020-11-20 13:29:08 +01:00
Sipke Schoorstra 2d54b7e337 Add Rebus activities 2020-11-19 22:21:17 +01:00
Sipke Schoorstra 57003d487a Add support for unary expressions (originating from type cast) 2020-11-18 22:00:27 +01:00
Sipke Schoorstra 81439cc2ad Add AutoMapper profile discovery support 2020-11-17 20:13:11 +01:00
Sipke Schoorstra 1447265994 Add query by version ID 2020-11-17 20:12:42 +01:00
Sipke Schoorstra 317bab6d84 Implement Open API specifications 2020-11-13 14:13:36 +01:00
Sipke Schoorstra 3a9eaeb799 fix Signal activities, triggers and add sample 2020-11-03 16:58:00 +01:00
Sipke Schoorstra 8e1ad31f73 Remove unused extensions and process more warnings 2020-11-03 10:58:11 +01:00
Sipke Schoorstra 7f44bfe4c1 Replace precompiled queries with extensions, process warnings and fix test 2020-11-03 10:50:32 +01:00
Sipke Schoorstra 38470c0176 WIP: Declarative composite activities 2020-11-02 21:04:41 +01:00
Sipke Schoorstra 90c8577864 WIP: extract composite activity builder from workflow builder 2020-11-01 22:26:19 +01:00
Sipke Schoorstra 594853d45c Add Composite Activity support 2020-11-01 20:03:21 +01:00
Sipke Schoorstra fea2ffd6ea Implement RunWorkflow activity 2020-11-01 13:08:58 +01:00