Commit graph

175 commits

Author SHA1 Message Date
Sipke Schoorstra 3fc3f792f2 Signaling refactorings 2021-04-02 12:43:14 +02:00
Sipke Schoorstra dd658a8744 Adding missing service registration 2021-04-02 12:43:14 +02:00
Sipke Schoorstra 912d98e7bd Adding missing service registrations 2021-04-02 12:43:14 +02:00
Sipke Schoorstra 38be994e31 Break up WorkflowRunner into smaller types and extracted reusable trigger logic 2021-04-02 12:43:14 +02:00
Sipke Schoorstra 0d3e19dcd3 WIP: Orleans grains 2021-04-02 12:43:14 +02:00
Sipke Schoorstra c019599fae Add extensions to register dispatchers 2021-04-02 12:43:14 +02:00
Sipke Schoorstra f91caf14bc Update Azure Service Bus workers to use new dispatcher APIs 2021-04-02 12:43:14 +02:00
tomy2105 6773a73a81 Method to skip adding core activites automatically. 2021-03-29 12:05:56 +02:00
Sipke Schoorstra 2a22a328c4 Add type parsing support with object target type 2021-03-26 11:40:22 +01:00
Sipke Schoorstra 5d8d05aec5 Stash 2021-03-26 11:40:22 +01:00
Craig Fowler ee7a8cdb1b
Merge pull request #775 from craigfowler/feature/738-Composite-Activities-may-be-triggers
Refactor for comprehension & add test coverage
2021-03-20 11:29:28 +00:00
Sipke Schoorstra 1dd15f7a21 Fix lifetime scopes 2021-03-19 12:21:19 +01:00
Craig Fowler 9ec698c7bc WIP #738 - Refactor a troublesome extension method
This extension method is quite complex and is frustrating
when a unit test passes-through it.  That's because extension
methods can't be mocked in tests.
2021-03-18 21:09:04 +00:00
Craig Fowler d9724e5267 WIP #738 - Refactor-out a further service
The triggers-for-activity-blueprint functionality
is quite complex just on its own, so I have moved this to
a new service.

Once again the integration test which is left behind proves
that it still does the same job.
2021-03-18 20:29:06 +00:00
Craig Fowler 654f3072d9 WIP #738 - Refactor some logic into services
This simplifies the unit a little and the test proves that
it still does the same thing overall.  Strictly speaking, this
is now an integration test.
2021-03-18 19:35:05 +00:00
Sipke Schoorstra ac32034d00 Implement activity property UI customizability 2021-03-18 14:28:44 +01:00
Craig Fowler 523c96a535 WIP #738 - Straight refactor to new service (SRP)
There's no logic change here at all.  I just moved a large function
out of the TriggerIndexer into a service of its own.
2021-03-17 19:47:58 +00:00
Sipke Schoorstra 0c15c94ea7
Telnyx Activities (#768)
* Fix liquid syntax for accessing activity output

* Initial scaffolding of Telnyx module + API changes

* Make Telnyx Notification activity blocking

* Implement Telnyx correlation

* Post workflow suspension tasks improvements

* Add Telnyx activities

* Add HangupCall and TransferCall activities

* Call activity improvements
2021-03-17 13:07:14 +01:00
Sipke Schoorstra 4eb3f47d30 Extract options and UI hint resolvers 2021-03-10 20:23:21 +01:00
Sipke Schoorstra 4b33418cf7 Fix declarative composite activity definition to blueprint mapping 2021-03-04 21:52:23 +01:00
Sipke Schoorstra 9e31439802 Fix JavaScriptExpressionHandler string conversion 2021-03-04 17:45:59 +01:00
Sipke Schoorstra e15893bef2 WIP: Add JSON expression handler 2021-03-04 17:45:59 +01:00
Sipke Schoorstra fe691f6d9c Refactor activity property type to UIHint 2021-03-04 17:45:59 +01:00
Sipke Schoorstra f048e6d3ef
Refactor Switch builder API (#649)
* Refactor Switch builder API

* Remove unused namespaces
2021-02-20 20:47:56 +01:00
Sipke Schoorstra 86980a752e
Designer web component (#636)
* Activity picker dialog

* Activity picker

* Activity editor

* Activity property fields

* Blazor bindings for Elsa designer

* Only index triggers from published & enabled workflow definitions

* Handle case of null workflow blueprint not found

* Add check for zero duration and general scheduler exceptions

* Don't rethrow expression evaluation failure

* Workflow definition settings editor modal

* Integration between stencil and blazor 🎉

* Fix expression type conversion

* Add publish button and restructure components

* Fix up workflow definition ID vs workflow definition version ID

* Update EF Core migrations

* Fix Workflow Publisher

* Fix version display

* Add Import menu item
2021-02-16 09:55:13 +01:00
Sipke Schoorstra f6268acfd1
Add Break activity (#628)
* Add Break activity

* Add activity type registration helpers

* Add sample project for Break activity
2021-02-13 10:29:03 +01:00
Sipke Schoorstra 420e2e65c5 Add caching layer to WorkflowRegistry 2021-01-30 20:11:08 +01:00
Sipke Schoorstra 7cfe24ba94
Implement revival of faulted workflow (#595)
* Initial version of workflow reviver

* Fix DI things

* Rename workflow builder parameter to `builder`

* Update EF Core stores to use short-lived db contexts

* Update serializer to use new settings to reset ID seed

* Write fault details

* Add faulty workflows sample project

* Switch to free & open source Z.EntityFramework.Plus.EFCore

* Add content type header

* Fix call to virtual OnSaving/OnLoading

* Fix retry
2021-01-30 12:47:50 +01:00
Sipke Schoorstra 59189bd330
Revise trigger API (#593)
* Update triggers

* Fix service registrations

* Add support for startup task ordering

* Add missing Rebus Activities project

* Handle indexing of many workflow instances

* Update sample

* Separate bookmarks from start triggers

* Add trigger API

* Fix queue worker

* Delete sqlite temp files
2021-01-29 16:16:45 +01:00
Sipke Schoorstra a60b973a06 Add support for ordered startup tasks 2021-01-28 14:13:31 +01:00
Sipke Schoorstra 3834c3cc9e
Fix Join ancestor order bug and add Resuming event to execution log (#591)
* More logging events

* Add Resuming event to log

* Fix Join ancestor order bug
2021-01-27 10:03:03 +01:00
Sipke Schoorstra f6cb6cc055 Reorder startup tasks 2021-01-22 14:58:58 +01:00
Sipke Schoorstra 2a64cc1473 Add continue running workflow startup task 2021-01-19 20:17:14 +01:00
Sipke Schoorstra 8613133add Refactor back-paddling of branching activities 2021-01-12 13:22:40 +01:00
Sipke Schoorstra fcfe7f08b4 Change For/While/ForEach/IfElse behavior
Before this change, the aforementioned activities would always schedule the Done outcome.
After this change, the Done outcome is scheduled **after** the Iterate branch and True or False branches have completed
2021-01-12 09:28:48 +01:00
Sipke Schoorstra 49d4e5bb36 Optimize workflow trigger re-indexing 2021-01-10 13:43:34 +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 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