Commit graph

261 commits

Author SHA1 Message Date
Sipke Schoorstra 0bb2ddcfee
Support sub-workflow dependency handling of JSON workflows (#4098)
* Change "Usable as Activity" setting into checkbox

* Update client model

* Update query to use shadow property

* Update UsableAsActivity usages

* Implement staged provisioning of workflows

* Add tests

* Update migrations
2023-06-03 12:28:10 +02:00
Sipke Schoorstra 6449969604 Fix workflow memory issues 2023-05-30 23:00:52 +02:00
Sipke Schoorstra 85bff3a528 Fix output serialization 2023-05-28 20:32:51 +02:00
Sipke Schoorstra 6f455f7e70
Update DSL implementation and integration (#4073) 2023-05-28 11:54:12 +02:00
MariusVuscanNx 5703584ea2
Added modes to the switch activities (#4067) 2023-05-25 22:55:17 +02:00
MariusVuscanNx 63ada68a20
Added workflow execution context to the workflow executred and workflow executing notifications (#4065) 2023-05-25 22:54:16 +02:00
Sipke Schoorstra 0df76b73ef Generate default ID for flowchart if empty in converter 2023-05-24 14:21:58 +02:00
Sipke Schoorstra 577e8fa30d Fix activity of T result 2023-05-21 10:15:56 +02:00
Sipke Schoorstra 6d15c536f3 Make activity input property options provider async 2023-05-21 10:11:16 +02:00
Sipke Schoorstra 5848db1f37 Remove $id exclusion from ExpandoObjectConverter 2023-05-11 11:17:16 +02:00
Sipke Schoorstra 2ae438002d Fix that flowchart doesn't complete
The issue was that the "has pending work" check considered *any* scheduled activity, regardless of the owner. Instead, the flowchart should check the scheduler for any work that *it* scheduled.
2023-05-10 21:46:11 +02:00
Sipke Schoorstra dcc35469a7 Implement backwards compatibility for older activity schema 2023-05-10 21:44:37 +02:00
Sipke Schoorstra e799381001 Ensure ExpandoObject array properties are deserialized as arrays
This also enables the use of jint's isArray method to return true, since the object is now an actual array.
2023-05-10 13:57:44 +02:00
Sipke Schoorstra 791e691ae7 Fix usage of incorrect activity descriptor when evaluating props 2023-05-10 11:38:50 +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 5b84f264c3 Update polymorphic converter to stop trying to parse string into date time offset 2023-05-03 10:35:58 +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 920bf38308 Fix type converter for array types 2023-05-01 15:18:24 +02:00
Sipke Schoorstra 9b6c08bf38
Fix HTTP triggers not being updated (#3985)
* Fix triggers not being replaced

* XML comments and minor DI changes
2023-05-01 12:06:51 +02:00
Sipke Schoorstra 7d713d81a3 Add support for default activity input 2023-04-28 22:41:18 +02:00
Sipke Schoorstra 6c7c62a8a2 Ensure ResultVariable is declared in workflow memory space 2023-04-28 15:15:54 +02:00
Sipke Schoorstra ed3581569b Make Parallel activity non-browsable
We don't have the right UI for this yet
2023-04-28 15:14:44 +02:00
Sipke Schoorstra a67361c6ae Fix variable type serialization 2023-04-28 14:31:38 +02:00
Sipke Schoorstra 5d766e921b Merge remote-tracking branch 'origin/v3' into v3 2023-04-28 11:38:13 +02:00
Sipke Schoorstra 885119c768 Add events for ActivityExecuting and ActivityExecuted 2023-04-28 11:37:01 +02:00
herblinernexxbizz a0bdf45851
Features/fix serialization issues (#3966)
* run locally

* commit created test

* updated test

* Island

* Commented code

* creating tests

* upodate tests

* revert

* create working tests

* fix test roundtrip Jobject

* update tests

* finish tests

* create branch without getdefinition by keys

* move test files add @

* Special properties deserialization test

* refactor tests make it shorter

* clean PolymorphicObjectConverter

* rename properties

* Escape keys starting with reserved symbols

* Fix fix of converter

* Add newline normalization

* Minor cleanup and handling nullability warnings

* compact tests

---------

Co-authored-by: Marius Vasile Vușcan <marius.vuscan@nexxbiz.io>
Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
2023-04-28 10:29:06 +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
Sipke Schoorstra b5f1d53e33 Fix named variable issue
Fixes an issue when referencing variables not previously set in higher scope.
2023-04-24 14:30:13 +02:00
Sipke Schoorstra 10c5d0c848 Fix serialization bug and update AllInOne reference app with support for webhooks 2023-04-24 13:44:34 +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 a98ce86c09 Add extension method to run workflows until end 2023-04-22 00:03:24 +02:00
Sipke Schoorstra bf41758323 Cleanup workflow runner 2023-04-22 00:03:04 +02:00
Sipke Schoorstra 80ee38a727 Add missed updates 2023-04-22 00:02:51 +02:00
Sipke Schoorstra 9bdd9e9fb8 Refactor RunWorkflowOptions to be a mutable class
More convenient to initialize since not all fields have to be set.
2023-04-22 00:01:06 +02:00
Sipke Schoorstra adb04b925c Add IActivityWithResult contract 2023-04-22 00:00:14 +02:00
Sipke Schoorstra 1fd6b55c01 Rename variables in If activity 2023-04-21 23:59:59 +02:00
Sipke Schoorstra 4b77751214 Update CodeActivity 2023-04-21 23:59:17 +02:00
Sipke Schoorstra e21a6206bb Add Sequence constructor to accept activities array 2023-04-21 23:59:02 +02:00
Sipke Schoorstra b53ef86128 Update serializer to support Newtonsoft JObject "islands" 2023-04-20 15:11:45 +02:00
Sipke Schoorstra 10c721786a
Workflow Context Updates (#3933)
* Incremental work on context activity

* Add extensions to get and set context params

* Update polymorphic converter to handle objects serialized to primitives

* Add convenience factory methods for SetWorkflowContextParameter activity

* Add API endpoint to list available provider types

* Implement workflow context provider selection property panel

* Update context provider picker to be based on selected providers

* Make SendEmail support different types of input for To, Cc and Bcc fields

* Fix EF Core WorkflowDefinitionStore to use polymorphic serialization for metadata

* Add JS support for getting workflow contexts

* Add Installed Features endpoint

* Update polymorphic object converter to skip start array

* Update activity execution middleware to handle background execution

* Fix sample program to include activity middleware for contexts

* Comments and cleanup
2023-04-19 21:28:58 +02:00
Sipke Schoorstra 3eb304e1ec
Fix flowchart completion bug (#3928)
* Ensure Flowchart completes when no more work

* Fix workflow instance JSON serializer

* Add tests that cover flowchart completion
2023-04-18 21:28:23 +02:00
Sipke Schoorstra 90e4b4680c Update PayloadSerializer to support Type serialization 2023-04-18 00:01:05 +02:00
Sipke Schoorstra 943df3d274 Cleanup and refactoring WorkflowContext APIs 2023-04-18 00:00:46 +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 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 ed1192d223 Remove unnecessary cleanup
This is already done in the activity execution context itself
2023-04-13 22:40:41 +02:00
Sipke Schoorstra 17406c1db3 Implement activity cancellation 2023-04-13 20:05:14 +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
Sipke Schoorstra 7a09944732
Refactor scheduling and background activity execution (#3884)
* Refactor background activity execution

* Refactor scheduler

* Remove Jobs module

* Add XML comments
2023-04-09 23:35:32 +02:00