Commit graph

67 commits

Author SHA1 Message Date
Sipke Schoorstra a3fd1a31af Implement workflow priority channels 2021-06-28 22:38:05 +02:00
Sipke Schoorstra 58af0c7ca0 Rename ActivityPropertyAttribute to ActivityInputAttribute 2021-05-30 12:51:58 +02:00
Sipke Schoorstra bb4ff3b714 Update packages 2021-05-25 09:57:17 +02:00
Sipke Schoorstra 2ec654d521 Implement Redis distributed cache signal 2021-05-22 14:11:35 +02:00
Sipke Schoorstra cb94f4dde5 Update packages 2021-05-10 22:19:29 +02:00
Sipke Schoorstra 0640e17739 Simplify Hello World sample 2021-05-04 12:04:54 +02:00
Sipke Schoorstra 9e273dc964 Add initial support for custom DbContexts derived from ElsaContext and default to "Elsa" schema 2021-05-03 22:22:03 +02:00
Sipke Schoorstra 138d9be12c Add Send + Receive blocking workflow sample 2021-04-19 13:55:33 +02:00
Sipke Schoorstra 45ef7efd95 Delete temporary Azure Service Bus credentials 2021-04-19 13:55:33 +02:00
Sipke Schoorstra ae46e0e143 Update packages and accommodate for breaking changes 2021-04-07 14:48:30 +02:00
Sipke Schoorstra ce957b95e7 Cleanup 2021-04-07 13:13:13 +02:00
Sipke Schoorstra df6ad74eec Replace custom distributed locking implementation with DistributedLock
https://github.com/madelson/DistributedLock
2021-04-07 13:13:13 +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 4cf43882dc Update packages 2021-04-02 12:43:14 +02:00
Sipke Schoorstra 6fef9874da **BREAKING API** Update Builder API to allow to connect to named activities as well as activities by type name
This replaces the `Then(string activityName)` method with `ThenNamed(string activityName)`.
A new method is added to allow connecting to activities by type name: `ThenTypeNamed(string activityTypeName)`.

The reason for this change and addition is to allow workflow builders to connect to activity types that do not have a corresponding type.
For example, the Telnyx project has an activity type provider that *dynamically* provides activity types based on Telnyx webhook callback types.
2021-03-26 11:40:22 +01:00
Sipke Schoorstra 5d8d05aec5 Stash 2021-03-26 11:40:22 +01:00
Sipke Schoorstra 0434b4825a Update packages 2021-03-18 11:24:04 +01:00
jdevillard 418cc85ba3
Add Azure Servicebus Topic Activities (Sender & Receiver) (#749)
* Add Service Bus Topic Sender & Receiver Activities

* Ability to manage simple "string" message

* Rename MessageReceived to  MessageQueueReceived  and SendMessage to SendQueueMessage

* Missing renaming bookmark , fix TopicWorker

Co-authored-by: jdevillard <jeremie.devillard@moskitos.fr>
2021-03-14 12:10:31 +01:00
Sipke Schoorstra a14f7cc267
Expressions editor (#695)
* A functioning monaco editor

* Incremental work on intellisense

* Add Workflow Context Options settings to designer

* Rudimentary work on variables
2021-03-02 09:00:51 +01:00
Craig Fowler ec12edd129 Resolve #564 - Further renames Timer → Temporal
This is all trivial renaming of namespaces (and some cases directories)
to match the main work done in the ticket.
2021-02-28 20:49:34 +01:00
Craig Fowler ed81b5679a WIP #564 - Rename & alter temporal activity setup
Temporal activities no longer have a generalised extension method
for registering them with a service collecton.  It is still static and has
the same rough shape as an extension method.  This way it is less
visible and less likely to be called by accident.

Also in-line with changes in this branch, things have been renamed
  Timers → Temporal
2021-02-28 20:49:34 +01:00
Craig Fowler b8f18996c6 WIP #564 - Rename Elsa.Activities.Timers impl projects
The project/NuGet package for implementation logic relating to
temporal actions has been renamed:
  Elsa.Activities.Timers.Hangfire → Elsa.Activities.Temporal.Hangfire
  Elsa.Activities.Timers.Quartz → Elsa.Activities.Temporal.Quartz

Whilst large numbers of C# files are "changed" by this commit,
it's just a straight move to a new path.
2021-02-28 20:49:34 +01:00
Craig Fowler 77a8f5be52 WIP #564 - Rename Elsa.Activities.Timers
The project/NuGet package for common logic relating to
temporal actions has been renamed:
  Elsa.Activities.Timers → Elsa.Activities.Temporal.Common

Whilst large numbers of files are "changed" by this commit,
it's just a straight move to a new path.
2021-02-28 20:49:34 +01:00
Craig Fowler ac44bf4535 WIP #564 - Bulk namepace change: Timers → Temporal
The name "Timers" is being replaced with "Temporal".  This commit
changes just the code (not project names/directories).
2021-02-28 20:49:34 +01:00
Sipke Schoorstra 0bf3fecf18 Rename IfElse to If 2021-02-20 15:56:32 +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 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 913c2a68bc Update sample 2021-01-31 12:51:51 +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 e6f42aca8f Update packages 2021-01-21 12:45:10 +01:00
Sipke Schoorstra 254ec93263
Fix issues with workflow builder API and Join cleanup of scopes (#577)
* Fixed unique key violation

* Fix builder, descoping from join (loops + ifelse)

* Cleanup Join
2021-01-17 11:55:00 +01:00
Sipke Schoorstra d468b132b7 Update CompositeActivityBuilderExtensions 2021-01-14 22:19:43 +01:00
Sipke Schoorstra 89dfba8269
Add source file + line number to execution log. (#571)
* Add source and activity type to WorkflowExecutionLogRecord

* Update builder extensions
2021-01-14 21:45:28 +01:00
Sipke Schoorstra 974b3c2df2
Elsa 2.0/faults (#570)
* Update fault API and add stack trace.
2021-01-14 17:15:02 +01:00
Sipke Schoorstra 3cfc2ad665 Remove unused namespaces 2021-01-08 17:40:32 +01:00
Sipke Schoorstra 83242ddecd
EF Core Persistence Provider (#557)
* Add EF Core persistence provider

* Add EF Core migration runner

* Fix potential duplicate queue registrations

* Update EF Core projects
2021-01-07 13:01:19 +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 c8297e61a8 Remove ParentActivities properties 2021-01-01 18:01:03 +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 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
Sipke Schoorstra 1bf53fb59a
Elsa 2.0/workflow editor (#541)
* Fix connection model porperty names

* Add workflow instance name to index

* Enable sample workflows

* Incremental work on activity displays

* Add custom activity display support

* Optimize workflow registry list endpoint model
2020-12-25 22:00:25 +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
Sipke Schoorstra e154f5381a Fix build after merge (attempt 2) 2020-12-23 12:52:06 +01:00