Commit graph

142 commits

Author SHA1 Message Date
Sipke Schoorstra 9c05794f73 Add option to publisher to provide different default root 2023-05-24 14:22:32 +02:00
Sipke Schoorstra 6d15c536f3 Make activity input property options provider async 2023-05-21 10:11:16 +02:00
Sipke Schoorstra 7ab08215a9 Fix workflow activity doesn't complete when no assigned outputs 2023-05-10 15:59:22 +02:00
Sipke Schoorstra 47ed8e3571
Cleanup IActivity interface (#4010)
* Update activity names and descriptions

* Rename JS functions

* Make endpoint class internal

* Pre-create workflow instance ID when dispatching workflows
2023-05-08 22:38:59 +02:00
Sipke Schoorstra 14b23d1cc5 Auto stash before revert of "Simplify IActivity (#3991)" 2023-05-03 10:34:38 +02:00
Sipke Schoorstra 307962c0f5 Revert "Simplify IActivity (#3991)"
This reverts commit ae9f4104c6.
2023-05-03 10:24:36 +02:00
Sipke Schoorstra ae9f4104c6
Simplify IActivity (#3991)
* Cleanup IActivity interface and update activity ctors

* Increase XML comment coverage
2023-05-02 20:05:36 +02:00
Sipke Schoorstra 437eb3f9dc Update workflow definition reference updater to include version ID 2023-05-02 09:57:44 +02:00
Sipke Schoorstra 0744b22e6b Fix composite activity version reference upgrade 2023-05-01 12:48:07 +02:00
Sipke Schoorstra 7d713d81a3 Add support for default activity input 2023-04-28 22:41:18 +02:00
Sipke Schoorstra c31d5323a5
Add link between version ID and workflow definition activity (#3979)
Closes #3902
2023-04-28 12:40:51 +02:00
gurkanguran 453dbd2196
Auto update consuming workflows' composite activity references (#3950)
* Update consuming workflows when the composite activity published

* Display auto-update option and notifications in designer

* Update consuming workflows with a separate api call

* Display notification only if there are consuming workflows found

---------

Co-authored-by: Gürkan Güran <gguran@interfirst.com>
Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
2023-04-27 17:33:48 +02:00
gurkanguran e9f3cb9329
Publish workflows imported programatically (#3958) 2023-04-27 14:52:07 +02:00
Sipke Schoorstra cdef7d409d Update input JSON converter to also read its ID 2023-04-25 22:39:56 +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 0590d817a9 Remove deprecated activity 2023-04-24 14:48:57 +02:00
Sipke Schoorstra 973a127a48 Update SetOutput to set output in workflow execution context 2023-04-21 23:58:28 +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 998fafa75c
Take latest version of no version specified (#3914) 2023-04-17 11:25:12 +02:00
Sipke Schoorstra c3ed7e7865
Improve JSON serializationfor workflow state (#3913)
* Incremental work on WorkflowStateSerializer

* Update Flow HTTP Request activity to default to Done outcome

* Fix reference handling

* Fix polymorphic object converter

* Add comments

* Add support for registering type alias during DI setup via options

* Fix trigger and bookmark payload persistence

* Update sample model

* Add support for custom dictionary types

* Split general serializer options provider into focused serializer services

* Formatting

* Update migrations
2023-04-17 00:11:58 +02:00
Sipke Schoorstra d3d6b02d98
Cron activities (#3900)
* Add XML comments to Mediator module

* Add cron activity and services

* Implement activity descriptor modifiers and fix CRON cleanup
2023-04-12 21:10:07 +02:00
MariusVuscanNx 45f27f91f5
Import publish execute integration test (#3872)
* Import publish execute integration test

* Update test

* Extracted import logic into WorkflowDefinitionImporter

* Removed the WorkflowDefinitionRequest model and done a model rename

---------

Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
2023-04-05 19:07:04 +02:00
herblinernexxbizz dd919a4000
adding set var and main/sub workflow tests (#3855)
* Adding set var and main/sub workflow tests

* Deprecate SetWorkflowOutput and replace with SetOutput

---------

Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
2023-04-03 14:14:39 +02:00
Sipke Schoorstra 3ec9df87c1 Initial work on Elsa Client 2023-04-01 16:15:35 +02:00
gurkanguran b0e5061dce
Handle multiple output connections on import (#3857)
* Add XML comments, cleanup

* Incremental work on persisting "lost" connections

* Fixed issues with connections on import

---------

Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
Co-authored-by: Gürkan Güran <gurkanguran@gurkanguransMBP.domain_not_set.invalid>
2023-03-30 10:19:05 +02:00
Sipke Schoorstra 3d46b9558d Fix loss of input/output settings upon restoration of dependency workflow 2023-03-28 15:31:02 +02:00
Sipke Schoorstra 877a65fe13 Fix loss of output 2023-03-28 13:02:31 +02:00
gurkanguran fab9470504
Importing workflows regardless of the order (#3833)
* Import workflows regardless of the order

* Store original activity json
2023-03-27 12:48:16 +02:00
Sipke Schoorstra 0e992a9cbd Ensure outputs on WorkflowDefinitionActivity are declared in memory register
This ensures that activities in the workflow setting a variable assign it to the right location in the right memory register.
2023-03-24 20:59:15 +01:00
Sipke Schoorstra 5aefa30886 Rename helper TryGet to GetOrDefault 2023-03-24 20:57:27 +01:00
gurkanguran ee28ff69e1
Import workflows with subworkflow properly (#3825)
* Update activity registry on workflow creation

* Read subworkflows properly from json file

---------

Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
2023-03-23 11:23:12 +01:00
gurkanguran e4789cf85b
Reference variable with Id instead of Name to prevent issues with updating name (#3814)
* Implemented Id property for variable for memory reference

* Removed debugger

* Fixed the issue with memory block reference of variable

* Fixed infinite recursive calling issue

* Handle variables with ID already containing

* Update JS variable getters based on declared variables

* Prevent Export from including composite roots

* Update JS evaluator with support for reading and writing variables in scope

* Fix polymorphic converter with support for arrays

---------

Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
2023-03-22 22:50:26 +01:00
Sipke Schoorstra 9f3d654cbc Update JSON property dictionary serialization to maintain original .NET types 2023-03-22 12:19:23 +01:00
Sipke Schoorstra fad27d0fb0
Refactor composite activity input and scoped memory (#3815)
* Incremental work

* Enable control over when to include full compositie root

* Cleanup

* Update WorkflowDefinitionActivity

* Implement input as variables

* Delete unused class

* Remove less common types

* Rename ExpandoObject to JSON

* Implement variable scoping

* Remove parent/child relationship from MemoryRegister

* Add support for sending input to "trigger event" endpoint

* Add support for configuring input storage driver

* Remove unused namespace imports

* Auto-register activity types when running a workflow

* Fix missing variables from containers
2023-03-20 19:55:11 +01:00
Sipke Schoorstra a9e67b9b1c Add support for object literals to Outcome activity 2023-03-17 21:11:55 +01:00
Sipke Schoorstra 1c013efa38 Fix WorkflowDefinitionActivityProvider
In addition to yielding defined outcomes as ports, the Root activity needs to be included as well in order for child activities to be visible to the activity walker.
2023-03-15 21:32:40 +01:00
Sipke Schoorstra 6fcf23dffa Add XML comments & small cleanup 2023-03-14 08:14:14 +01:00
Sipke Schoorstra d8b95db04e Add support for providing workflow input via dispatch endpoint 2023-03-13 12:31:23 +01:00
Sipke Schoorstra 297d6eaa65 Fix loss of input + variables 2023-03-08 19:39:56 +01:00
Sipke Schoorstra 64f5a9b38c Fix version mismatch between Workflow activity and derived composite descriptor 2023-03-08 15:51:55 +01:00
gurkanguran 355cf2a3de
Validate JsonElement value to prevent exception during json serialization (#3777) 2023-03-08 11:48:24 +01:00
Sipke Schoorstra 7ba4dc5039 Add support for controlling when to serialize properties of type IActivity 2023-03-08 01:03:01 +01:00
Sipke Schoorstra e6ce1cebb3 Stash 2023-03-08 00:31:51 +01:00
Sipke Schoorstra 21f8980adb Improve workflow versioning logic 2023-03-07 23:31:09 +01:00
Sipke Schoorstra 83fb433ffc Add alias for dictionary type 2023-03-07 22:02:46 +01:00
Sipke Schoorstra 1ac64b8197
Store & display evaluated activity state in workflow instance viewer (#3776)
* Implement activity state persistence

* Add sort API

* Implement activity state view

* Update EF Core migrations
2023-03-07 21:40:53 +01:00
Sipke Schoorstra 1a713b4619
Rename "services" to "contracts" and "implementations" to "services" (#3758) 2023-03-03 22:47:23 +01:00
Sipke Schoorstra bb1c6e91dc Update completion signaling 2023-03-03 15:22:49 +01:00
Sipke Schoorstra 00bd3228f6 Restructure contracts vs services namespace 2023-03-03 14:48:05 +01:00
Sipke Schoorstra 0832bc95f6 Implement outcomes for composite activities from workflow definitions 2023-03-03 14:47:34 +01:00