Commit graph

100 commits

Author SHA1 Message Date
Sipke Schoorstra 22e19545fe Add workflow registry screen component and link from definition to instances 2021-04-22 22:20:38 +02:00
Sipke Schoorstra e40c66a1fe Rename Blazor designer component library to to AspNet 2021-04-22 21:53:45 +02:00
Sipke Schoorstra a07231ff99 Fix YesSQL provider and update samples 2021-04-16 14:56:02 +02:00
Sipke Schoorstra d6ed56ca07 Merge branch 'elsa_feature/elsa-2.0' into feature/blob-storage 2021-04-15 19:06:23 +02:00
Sipke Schoorstra 08bc052a03 Incremental work on ASP.NET Core reference application for dashboard 2021-04-12 22:29:58 +02:00
Sipke Schoorstra 0a02dc5cc2 Update extensions for Azure distributed lock 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
Luca Pisano 5a47e11eb3 Storage Activities have been added based on already in place usage of IBlobStorage 2021-04-07 11:08:00 +02:00
Sipke Schoorstra 9d333ec5b8 Add Document Approval sample project 2021-04-02 16:56:08 +02:00
Sipke Schoorstra ac61b7fc70 Add Hangfire dispatcher implementation 2021-04-02 12:43:14 +02:00
Sipke Schoorstra 0d3e19dcd3 WIP: Orleans grains 2021-04-02 12:43:14 +02:00
Konstantin Mikhailyuk caf15ecc70
WIP #667 - Webhook activity project (#718)
* Webhook activity project

* Webhook definition with InMemoryStore

* Add Webhook activity provider

* Prevent part assembly generation. See https://github.com/dotnet/aspnetcore/issues/24171

Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
2021-03-19 21:15:50 +01:00
Sipke Schoorstra 8fb2091813 Rename "timers" solution folder to "temporal" 2021-03-19 14:25:25 +01:00
Sipke Schoorstra b663935248 Docker build test 1 2021-03-17 22:33:27 +01: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
David Peters 51f9ed11f8 Added PostgreSql EFcore provider 2021-03-04 16:54:06 +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
Sipke Schoorstra 5584ccfc90 Add sample project demonstrating invoking workflows from controllers 2021-02-25 13:33:14 +01:00
Sipke Schoorstra 3bf5237328 Fix solution file 2021-02-24 14:50:29 +01:00
Sipke Schoorstra dac7295969 Merge branch 'feature/unwind-any' into feature/elsa-2.0 2021-02-24 14:44:18 +01:00
Sipke Schoorstra 9f4f1ab055 Fix solution file 2021-02-24 14:37:28 +01:00
Sipke Schoorstra 3814ea6ff4
Update OutcomeResult to try a default connection via implicit "Done" outcome (#655)
* Update OutcomeResult to try a default connection via implicit "Done" outcome

* Add demo project for auto-connected activities
2021-02-24 14:29:56 +01:00
Sipke Schoorstra df72728cc1 Merge branch 'feature/elsa-2.0' into feature/unwind-any 2021-02-24 14:29:37 +01:00
Craig Fowler b583c7f1a9
Resolves #485 - Add PurgeVariables functionality (#654)
* Trivial - Add VS Code workspace

* Trivial - Add VSCode build task & extra ignore

On GNU/Linux, auto-generated .directory
files should be ignored.

* WIP #485 - Boilerplate for unit test project

* WIP #485 - Add test coverage (Remove/RemoveAll)

* WIP #485 - Implement RemoveAll

* Remove redundant logic, covered by IDictionary

Per the following, the contract for a generic IDictionary,
the Remove method already deals with non-existent keys.

  https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.idictionary-2.remove?view=net-5.0#System_Collections_Generic_IDictionary_2_Remove__0_

* Resolve #485 - Add PurgeVariables methods

These are convenience methods upon ActivityExecutionContext
and WorkflowExecutionContext, consistent with their current APIs.

Also in this commit are tests for those simple methods.
There's a bit of test-scaffold as well included, such as:
* Autofixture Xunit2 integration
* New project for unit tests
* Customize attribute for avoiding crashes on Autofixture recursion
* Reusable specimen builder for creating IServiceProvider which
  resolves services from Autofixture
* Custonize attribute for a parameter to use that ^^ specimen builder
2021-02-24 14:29:03 +01:00
Sipke Schoorstra e181e6b927 Add demo project for auto-connected activities 2021-02-24 14:15:10 +01:00
Sipke Schoorstra 0bf3fecf18 Rename IfElse to If 2021-02-20 15:56:32 +01:00
Sipke Schoorstra 49108a9544 Add missing bindings project 2021-02-20 15:42:49 +01:00
Sipke Schoorstra 88f950a70a Fix solution file 2021-02-17 21:52:46 +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 b18dff82cd Add ForEach sample project 2021-02-11 11:02:08 +01:00
TfcYe cec4f09d02
troubleshoot usertask demo (#604)
Co-authored-by: yeminhua <yeminhua@bianfeng.com>
2021-02-11 10:35:00 +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 974b3c2df2
Elsa 2.0/faults (#570)
* Update fault API and add stack trace.
2021-01-14 17:15:02 +01:00
Sipke Schoorstra 0f8d6b6442 Fix Elsa.sln 2021-01-08 18:07:19 +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 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
Rafael Carnucci 720ad7fe6c
edit contributing.md (#549)
Co-authored-by: Rafael Carnucci <rafael.carnucci@icn.de>
2021-01-04 10:49:58 +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 5f08df0556 Add Dashboard samples: monolith + client/server 2020-12-27 11:53:52 +01:00
Sipke Schoorstra 42bcade5fc Add missing project 2020-12-26 16:01:49 +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
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 b24ff99354 Fix build after merge 2020-12-23 12:50:34 +01:00
Rafael Carnucci 4274996dd9
Separate quartz (#516)
* Fix sample Elsa.Samples.FileBasedWorkflow

* Separate Quartz from Elsa.Activities.Timers

* Incremental work on Hangfire integration

* Incremental work on Hangfire integration

* Incremental work on Hangfire integration

* Incremental work on Hangfire integration

* Add CancelTimer

* ToCronExpression for Duration

* Removed SweepInterval

* Synchronize access to scheduler

* Refactoring RunHangfireWorkflowJob

* Optimize timer activities to always execute when target time stamp lies in past

* Refactoring TimersOptionsExtensions

* Added common.props and configureawait.props

* Rename CancelTimer to ClearTimer

* Wrong parameter name in comment

* Refactoring TimerConsts and RunQuartzWorkflowJob

Co-authored-by: Rafael Carnucci <rafael.carnucci@icn.de>
Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
2020-12-23 12:38:09 +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 07ad72ecda Fix key not found error when blueprint doesn't exist 2020-12-18 13:02:57 +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