Commit graph

408 commits

Author SHA1 Message Date
Craig Fowler 7f5a6228cf Resolve #728 - Fix ActivityExecuted persistence
The PersistWorkflow service will now handle ActivityExecuted
persistence behaviour, presumably as-intended.
2021-03-09 20:09:36 +00:00
Craig Fowler 32bcf9a751 WIP #728 - Add test cases for persistence
This also includes a change to the workflow used in the test-case.
There are quite complex reasons for this, as explained here:

  https://github.com/elsa-workflows/elsa-core/issues/728#issuecomment-794319236

The real crux of it is that the workflow must have an activity
which suspends it, and that activity that suspends the workflow
must not be the starting activity.  This is why I added an unused
set-variable activity as the starter.

This commit shows that the various persistence test cases _mostly_
work OK, with the one exception of ActivityExecuted.
2021-03-09 19:57:02 +00:00
Sipke Schoorstra 222d88c275 Add Retract endpoint 2021-03-08 15:14:02 +01:00
Sipke Schoorstra 972dd49139 Add Unpublish method to WorkflowPublisher 2021-03-08 15:14:02 +01:00
Sipke Schoorstra 62352e27ac Remove IsEnabled flag 2021-03-08 15:14:02 +01:00
Sipke Schoorstra d7d7bd4a7e Add RunJavaScript activity 2021-03-06 13:41:52 +01:00
Sipke Schoorstra 21ac6866ea Add multi-text control 2021-03-06 09:40:49 +01:00
Sipke Schoorstra 7f768f4b17 Update If activity to use expression editor input control for Condition 2021-03-06 09:40:49 +01:00
Sipke Schoorstra 4b33418cf7 Fix declarative composite activity definition to blueprint mapping 2021-03-04 21:52:23 +01:00
Sipke Schoorstra 8aa40f9f73 Handle re-scheduling of temporal events after (re-)indexing triggers 2021-03-04 17:45:59 +01:00
Sipke Schoorstra 9e31439802 Fix JavaScriptExpressionHandler string conversion 2021-03-04 17:45:59 +01:00
Sipke Schoorstra 3b7e5aff57 Add dropdown control 2021-03-04 17:45:59 +01:00
Sipke Schoorstra 149916c73d Minor cleanup 2021-03-04 17:45:59 +01:00
Sipke Schoorstra bd23810972 Re-index workflow triggers when workflow definition gets published 2021-03-04 17:45:59 +01:00
Sipke Schoorstra b90e0c1a71 Implement workflow registry cache eviction upon workflow definition saving 2021-03-04 17:45:59 +01:00
Sipke Schoorstra 59d2cf8239 Publish WorkflowDefinitionPublished event when publishing workflow definition 2021-03-04 17:45:59 +01:00
Sipke Schoorstra 9cf13df50d Update TriggerFinder parameter naming 2021-03-04 17:45:59 +01:00
Sipke Schoorstra 128705fd19 Make WorkflowBlueprintMaterializer resilient to missing properties 2021-03-04 17:45:59 +01:00
Sipke Schoorstra 404339e097 Update TriggerIndexer to ignore deprecated IsEnabled flag 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 1c948ba0e3 WIP: Improved code editor style and added check-list input editor 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 046cf53b06
Add WorkflowExecutionBurstStarting event to allow for persisting status changes before executing activities that potentially take a long time to finish (#666)
* Add WorkflowExecutionBurstStarting event to allow for persisting status changes before executing activities that potentially take a long time to finish

* Also persist workflow instance when burst is starting and behavior set to WorkflowPassCompleted
2021-02-25 15:43:12 +01:00
Sipke Schoorstra b2d6859331 Undo dictionary serialization processing 2021-02-22 16:27:43 +01:00
Sipke Schoorstra 05c15a2eaf Autogenerate switch case labels 2021-02-20 21:21:18 +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 0bf3fecf18 Rename IfElse to If 2021-02-20 15:56:32 +01:00
Sipke Schoorstra a29905bae2
Introduce AmbientActivityExecutionContext to support direct access to composite activity input properties from child activities (#648) 2021-02-20 15:23:39 +01:00
Sipke Schoorstra 15f1411838
Add support for scoped variables (#647) 2021-02-20 12:45:16 +01:00
Sipke Schoorstra 94dce2466b
Improve Finish activity (#646)
* Update Finish behavior to exit out of composite activities (including root workflows)

* Update Finish activity to evict contained scopes
2021-02-20 11:12:29 +01:00
Sipke Schoorstra 3f173d6468 Implement unwinding of Switch activity 2021-02-17 21:43:16 +01:00
Sipke Schoorstra a67f07ac70 Small ForEach builder API improvements 2021-02-17 21:42:42 +01:00
Sipke Schoorstra 3280570252 Add convenience overload to enqueue workflow by type 2021-02-17 21:41:25 +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 eda7bf0e0e Add convenience methods for activity execution logging 2021-02-13 14:58:05 +01:00
Sipke Schoorstra a02147d2ee Fix Finish + CompositeActivity 2021-02-13 11:16:20 +01:00
Sipke Schoorstra 663dc47c89
Stash (#629) 2021-02-13 10:31:34 +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 e3bb394a03 Update ForEach to not store a copy of the list
Instead, rely on the Items property being set before each new iteration (which happens by default)
2021-02-11 11:01:57 +01:00
Sipke Schoorstra de6fce52d4 Re-enable re-queueing of messages for locked workflows and update timer activities to not execute if scheduled time lies in future 2021-02-09 21:31:09 +01:00
Sipke Schoorstra 3e12cd59ce Remove rescheduling for now 2021-02-09 18:46:50 +01:00
Sipke Schoorstra 446e645577
Workflow Instance Bulk Actions on Blazor Dashboard (#613)
* Implement bulk delete + retry
2021-02-09 11:18:12 +01:00
Sipke Schoorstra ccbb10d66f Update RunWorkflowDefinitionConsumer with distributed lock on correlation
Prevents creating duplicate workflow instances with same correlation ID and workflow definition.
2021-02-03 22:54:20 +01:00
Sipke Schoorstra 5a7584b9ec Cleanup 2021-02-01 16:16:14 +01:00
Sipke Schoorstra 59cdcdad6c Log inner exceptions 2021-02-01 16:14:45 +01:00
Sipke Schoorstra 2f29dc379c Upgrade to .NET Standard 2.1 2021-01-31 18:44:57 +01:00
Sipke Schoorstra e6a68a0476 Fix EF core store
Entities were no longer updated due to the new short-lived DbContext approach
2021-01-31 12:51:05 +01:00
Sipke Schoorstra f5cc185f70 Cleanup 2021-01-31 12:49:34 +01:00
Sipke Schoorstra 2c7b20846a Fix Stack serialization 2021-01-31 12:49:06 +01:00
Sipke Schoorstra 2b88208ff6 Configure Rebus serialization and centralize common rebus config 2021-01-30 20:39:08 +01:00