Commit graph

300 commits

Author SHA1 Message Date
Sipke Schoorstra 21e438bdd1
Add Azure Service Bus for MassTransit (#4624)
* Split RabbitMQ from MassTransit and add Azure Service Bus package

* Use Send topology for commands
2023-11-15 20:47:11 +01:00
Sipke Schoorstra f8e0f20296
Add Python Expression support (#4600)
* Scaffold Python project

* Add Workflow Variable accessor

* Add RunPython activity

* Add option to register scripts via options
2023-11-04 18:15:56 +01:00
Sipke Schoorstra 5d1a1aaf86
Add C# expression support (#4594)
* Initial version of c# expressions

* Add support for strongly-typed workflow variable accessors

* Fix type casting

* Rename c# to C# in XML comments

* Rename Globals.Context to ExecutionContext and Variables to Context

* Move RunJavaScript activity to Elsa.JavaScript

* Add RunCSharp activity

* Add CSharpOptions

* Add common workflow properties and methods
2023-11-03 20:28:10 +01:00
Sipke Schoorstra 3aec7924b1
Storage module (#4588)
* Add File Storage module
2023-10-30 21:48:36 +01:00
Sipke Schoorstra 02f042187f
Add Quartz.NET Migrations (#4586)
* Add migrations for SQLite, SQL Server, MySQL and PostgreSQL
2023-10-29 16:17:38 +01:00
Sipke Schoorstra bd1eb2edfa Rename ServiceBus integration tests project 2023-10-20 13:38:40 +02:00
jdevillard fb68814974
Service Bus Activities enhancements - Workflow Inbox and Test (#4512)
* Add Service Bus Message Test Scenario

* change filename

* add workflow test

* save new unit test project (don't know why Guid have changed

* use WorkfloInbox Message for ReceiveActivity and Worker

* add test

* add correlationId

* add test with correlationId

* saving sln

* Fix project references

* remove Moq librairies for UnitTests Projects

* remove Moq and use NSubstitute

---------

Co-authored-by: Jérémie DEVILLARD <jdevillard@users.noreply.github.com>
Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
2023-10-19 20:00:43 +02:00
Sipke Schoorstra cb08cad32b
Replace Stencil dashboard with Blazor in AllInOne.Web project (#4554) 2023-10-19 01:03:55 +02:00
Sipke Schoorstra 382dc4b124 Initial work on activity unit testing 2023-10-18 00:10:48 +02:00
Sipke Schoorstra 903486ed5a
MassTransit Alterations Dispatcher (#4547)
* Add MassTransit dispatcher for alteration jobs
2023-10-17 08:51:45 +02:00
jeanbaptistedalle 7547708603
Feature/postgresql efcore (#4500)
* Create the extension to enable efcore for postgresql with workflow-runtime

* Create a efcore postgresql samples to check extensions

---------

Co-authored-by: Jean-Baptiste Dalle <jean-baptiste.dalle@stereograph.fr>
2023-10-07 23:24:56 +02:00
Sipke Schoorstra 523f301bf7
Feature: Alterations (#4501)
* Implement Alteration types and engine

* Implement Alteration APIs

* Refactor activity work item with support for activity input

* Serialize scheduled activities as part of workflow state

* Add signal to schedule child activity

* Implement stores for plans and jobs

* Add EF Core provider

* Add Retry endpoint

* Keep root context as always active. The root context is the workflow execution context and contains persistent variable state

* Regenerate EF Core migrations

* Handle orphaned activity execution contexts

* Refactor workflow execution factory

* Enable configuring Jint from Program

* Update ModifyVariable alteration with support for type deserialization

* Use ShortGuid for identity

* Cleanup WorkflowServer host
2023-10-07 12:47:36 +02:00
Sipke Schoorstra 2f69176463
Implement SAS tokens (#4476)
Issue #4475
2023-09-25 00:38:06 +02:00
Sipke Schoorstra da34e23c2b
Add DropIn support (#4471)
* Implemented dynamic loading of activities at runtime

* Add support for loading NuGet packages
2023-09-23 19:41:37 +02:00
Sipke Schoorstra fc14cfb7b0
Exclude Activity from being serialized in instance and execution log (#4464) 2023-09-21 18:09:48 +02:00
Sipke Schoorstra cb87d2ed82
Implement resumable downloads (#4448)
* Incremental work on persistent file cache

* Rename providers to handlers

* Implement zip file caching for resumable downloads

* Implement partial download for zipped files

* Allow executing workflows using GET verb

* Implement custom header for correlating downloads

* Rename FileName to Filename for consistency

* Update interface XML comment

* Cleanup

* Fix that source Downloadables were executed even when cached zip exists

* Make download correlation ID optional
2023-09-17 22:35:13 +02:00
Sipke Schoorstra 2d61569cab Add parent/child workflow programmatic ASP.NET sample 2023-09-09 16:54:27 +02:00
Sipke Schoorstra 75a897a17d Update Elsa.sln 2023-09-07 22:04:29 +02:00
Sipke Schoorstra 73482a8e4c
Enhanced Logging for Activity Outcomes and Outputs (#4352)
* Add result to logs

* Include outcomes and outputs with activity execution log

* Include outputs with completed activity events
2023-08-23 13:34:30 +02:00
Sipke Schoorstra 7e11ebd8bd
Add PR body generator (#4304) 2023-08-09 13:22:44 +02:00
Sipke Schoorstra c9ca4a121d
Workflow Inbox (#4292)
* Initial implementation of workflow inbox, submission and delivery

* Implement persistence providers

* Update EF Core migrations

* Rename Services to Stores in Dapper module

* Use default serializer for primitive arrays

* Update MongoDB provider to map BookmarkId to be primary key

* Implement MongoDB provider for activity execution logs

* Use EF Core by default

* Fix private JSON constructor logic
2023-08-06 17:03:36 +02:00
Sipke Schoorstra 911d13d31c Fix component test project reference 2023-08-05 10:40:09 +02:00
gurkanguran d29df110d2
Fixed getting and setting variables in context (#4267)
* Fixed getting and setting variables in context

* Added unit tests

* Add test for named variable

* Search variable in parent contexts

---------

Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
2023-07-31 18:53:50 +02:00
Sipke Schoorstra 6cd3bd2d61 Delete RPC project 2023-07-27 00:12:37 +02:00
Sipke Schoorstra 6e458e0053 Make Mediator package reusable from outside Elsa feature system 2023-07-17 21:43:35 +02:00
gurkanguran 90e560bc73
Redis proto cluster member store (#4241)
* Implemented redis as a proto cluster member store

* Added component tests for redis protocluster member store

---------

Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
2023-07-14 19:29:43 +02:00
Sipke Schoorstra 94904160a9 Add dynamic activity provider sample project 2023-07-13 16:24:34 +02:00
Sipke Schoorstra a11a4a0b45 Scaffold gRPC API project 2023-06-29 22:08:22 +02:00
Sipke Schoorstra 816a6f3f8e Add MongoDB sample project 2023-06-29 12:27:21 +02:00
gurkanguran bc2b4e8fde
Mongodb implementation (#4127)
* Implemented MongoDb

* Use main entity models in mongodb

* Fixed object serialization issue

* Fixed issues caused by duplicate collection names

* Optimized count query

* Fixed the issues after merge

* Revert "Fixed the issues after merge"

This reverts commit 5568af60cfc107b8ee68fd4c89fbb02946f8a6a3.

* Use expression helper to solve mongodb query issue

* Handle null values during deserialization

* Moved MongoDb project to persistence folder

* Did some refactor and added type serializer for variable fix

* Modularize mongodb indices creation

* Fixed the build

* Implement variable serializer

* Update SQLite migrations

---------

Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
2023-06-28 22:44:51 +02:00
Sipke Schoorstra 04fe32cabb
Implement activity output APIs (#4119) 2023-06-09 22:10:56 +02:00
Sipke Schoorstra ad21245370 Rename sample projects 2023-06-08 12:01:26 +02:00
Sipke Schoorstra c216185c5e
Update Workflow model with support for Inputs, Outputs and Outcomes (#4112)
* Fix mutable prop changes warning

* Fix graph no longer scrolling to content

* Remove unused namespace imports

* Update Workflow model with support for input, output and outcomes

* Update sample with EF core persistence

* Rename FluentStorage to BlobStorage
2023-06-08 11:39:19 +02:00
Sipke Schoorstra 6c1cca372c
Dapper persistence provider (#4109)
* Implement Dapper stores
2023-06-06 20:49:14 +02:00
Sipke Schoorstra b6f88b7385 Add solution folders in modules folder 2023-06-03 21:08:51 +02:00
Sipke Schoorstra 6449969604 Fix workflow memory issues 2023-05-30 23:00:52 +02:00
Sipke Schoorstra 71e55ea999 Update Quartz scheduler to only schedule once 2023-05-30 21:52:31 +02:00
Sipke Schoorstra c99280b792 Add methods to add multiple workflows from a given assembly 2023-05-28 16:20:16 +02:00
Sipke Schoorstra 6f455f7e70
Update DSL implementation and integration (#4073) 2023-05-28 11:54:12 +02:00
Akash Jadhav 758a5a4b62
add Elsa.EntityFrameworkCore.MySql (#4047)
* add  Elsa.EntityFrameworkCore.MySql

* cleanup

* review changes

* indentation changes

---------

Co-authored-by: gambitier <csegambitier@hotmail.com>
2023-05-25 22:54:54 +02:00
Sipke Schoorstra 3b7081b76a Fix project reference in Elsa.sln 2023-05-22 12:42:43 +02:00
Sipke Schoorstra e1ec2c87d0 Incremental work on Environments module 2023-05-16 10:03:55 +02:00
Sipke Schoorstra e25d32ff62 Add HTTP Endpoints sample project 2023-05-11 22:59:46 +02:00
Sipke Schoorstra 4112fbfc9a
ACA cluster provider support for multiple images + pluggable member store (#3981)
* Decouple ACA cluster provider storage

* Add readme
2023-04-30 22:25:40 +02:00
Sipke Schoorstra 0ea463fdd0
Add JSON workflow provider (#3955)
* Refactor import models

* Update API endpoints

* Add console sample to run workflow from JSON

* Add FluentStorage provider for JSON workflows + sample
2023-04-25 22:15:11 +02:00
Sipke Schoorstra a45b7e5fb2
Implement Onboarding sample (#3944)
* Add Parallel activity

* Update polymorphic converter to handle null values

* Add support for converting ExpandoObject into target type

* Update models in Webhooks module

* Add Onboarding sample projects

* Handle null values in converter

* Add error logging to webhook invoker

* Allow activity resumption callbacks to be static

* Handle $ref when serializing expando objects
2023-04-23 20:03:52 +02:00
Sipke Schoorstra 42b286701d Update Elsa.sln and gitignore 2023-04-22 00:02:18 +02:00
Sipke Schoorstra be911646e6 Add sample project for WorkflowContext module 2023-04-18 00:01:24 +02:00
Sipke Schoorstra c8d87cd763
Simplify Proto.Actor bookmarks and triggers (#3917)
* Refactor HTTP route table population

* Update workflow definition EF store to use abstract IWorkflowInstanceStore

This decoupling is necessary, because the application might not be using EF Core, but e.g. Elasticsearch

* Move workflow state persistence to the default workflow runtime feature

* Update JS handler to provide access to variables during trigger indexing

* Configure Proto.Actor runtime with different workflow pipeline

* Add sample using Proto.Actor runtime

* Replace BookmarkGrain with DB based persistence
2023-04-17 15:23:05 +02:00
Sipke Schoorstra 83449f0508
Update Hangfire integration (#3898)
* Add Hangfire support for workflow scheduler

* Fix scheduled job cleanup

* Fix duplicate handler invocation

* Default scheduler fixes
2023-04-12 15:10:44 +02:00