Commit graph

76 commits

Author SHA1 Message Date
Sipke Schoorstra 77b1a97682 Cleanup unused code and blanks 2023-07-09 12:33:26 +02:00
Sipke Schoorstra b9defca7bd Remove MongoDB commented lines 2023-07-06 19:27:09 +02:00
Sipke Schoorstra ba6ffb32d5 Update Program 2023-06-28 22:46:58 +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
gurkanguran f0814f4f64
Fixes the issue with httpendoint not being suspended #4143 (#4171)
* Fixes the issue with httpendoint not being suspended #4143

* Simplify HttpEndpoint and bookmark processor

* Fix issue with null workflow state ID

* Remove implicit instalment of EF Core provider for Trigger and Bookmark store

---------

Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
2023-06-28 20:55:57 +02:00
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 3a2b7f40bc Restructure API client 2023-05-16 20:03:12 +02:00
Sipke Schoorstra e1ec2c87d0 Incremental work on Environments module 2023-05-16 10:03:55 +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 31d24034d1 Update Email module
Fixes #3711
2023-04-18 22:14:18 +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 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
Sipke Schoorstra 63c104d428 Update Program 2023-03-27 00:02:45 +02:00
Sipke Schoorstra 30c4e5b1e7
Implement API key authentication (#3834)
* Implement API key storage

* Implement API key validation

* Implement EF Core providers
2023-03-26 23:53:17 +02:00
Sipke Schoorstra e74133c52b
Add dictionary support (#3704) 2023-02-15 12:09:45 +01:00
gurkanguran 407bfa6913
Use workflow definition as activity (#3654)
* Implemented usage of workflow definitions as activities

* Updated designer

* Removed activity definitions module

* Allow user to mark workflow to be used as activity

* Refactor

* Refactor

* Cleanup csproj

* Cleanup WorkflowDefinitionActivity

* Pascalize typename

* Fix JS intellisense initial load issue

* Add XML comments

* Add Jobs dependency

* Hide Composite root port from designer

* Move finding workflow activities logic to lower level

* Generate unique identities across hierarchy

* Refactor

* Revert "Generate unique identities across hierarchy"

This reverts commit 74f5e7830309ee76af6ab3a000a5e1ec41f1e90c.

* Implement unique node IDs

* Introduce new VersionOptions option

* Remove unused namespaces

---------

Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
2023-01-28 00:36:03 +01:00
Sipke Schoorstra 096206d392
Elastic updates (#3623)
* Incremental work

* Incremental work

* Incremental work

* Merge remote-tracking branch 'origin/v3' into v3-elasticsearch-updates

* Incremental work

* Incremental work

* Fix listing with no query

* Restore missing class

* Remove rollover hosted service and expose index configurations

* Rename hosted service
2023-01-13 19:10:20 +01:00
Gürkan Güran dad33e665a Refactor 2023-01-12 19:26:30 +01:00
gurkanguran 41556507cd
Merge pull request #3600 from elsa-workflows/elasticsearch
Implemented Elasticsearch for workflow instance and execution logs
2023-01-11 23:45:04 +01:00
Sipke Schoorstra 5154650913 Remove test code 2023-01-11 19:26:19 +01:00
Gürkan Güran bc97749057 Merge branch 'v3' into elasticsearch
# Conflicts:
#	src/bundles/Elsa.WorkflowServer.Web/Program.cs
#	src/bundles/Elsa.WorkflowServer.Web/appsettings.json
2023-01-11 11:56:35 +01:00
Sipke Schoorstra 091161dd9a Add temporary custom version of Azure Container Apps cluster provider for Proto Actor 2023-01-10 20:31:55 +01:00
Sipke Schoorstra 2c65081110
MassTransit activities (#3613)
* Implement MessageReceived for MT

* Implement Publish activity provider

* Only create Publish activity for class types

* Add MassTransit sample project

* Fix comment
2023-01-10 14:32:14 +01:00
Gürkan Güran df3b989a3a Refactor 2023-01-05 15:20:17 +01:00
Gürkan Güran 26d0586793 Merge branch 'v3' into elasticsearch
# Conflicts:
#	Elsa.sln
2023-01-05 15:19:21 +01:00
Gürkan Güran fcfd092003 Implemented Elasticsearch for workflow instance and log record persistence 2023-01-05 15:10:55 +01:00
Sipke Schoorstra 6994f2e24d
Webhooks (#3598)
* Incremental work

* Implement samples

* Update samples

* Small refactorings

Closes #3592
2023-01-05 13:55:08 +01:00
Sipke Schoorstra 750c2094cc
RunTask activity (#3594)
* Implement RunTask activity
2023-01-04 20:36:38 +01:00
Sipke Schoorstra b4dba6ffe5
Add PublishEvent activity and implement MassTransit dispatcher (#3593) 2023-01-04 15:28:28 +01:00
Sipke Schoorstra cbbac57e6f
Implement variables panel on workflow instance viewer (#3589)
* Small visual improvement for embedded ports

* Implement variables view for workflow instance viewer
2023-01-03 19:15:05 +01:00
Sipke Schoorstra 32b7f85142
Implement proto.actor snapshot + event cleanup (#3588) 2023-01-03 14:29:35 +01:00
Sipke Schoorstra 06e62b3bcc
Restore workflow journal (#3582)
* Refactor identity options

* Delete templates

Will be created as part of a separate repo.

* Little cleanup

* Increase token lifetime for reference server app

* Cleanup workflow definition editor plugin

* Fix workflow instance viewer component

* Update identity generator to use hyphen format

* Improve workflow and activity execution pipeline registration API

* Fix workflow journal

* Update backend

* Prevent unnecessary re-render

* Restore autolayout function
2023-01-02 22:24:05 +01:00
gurkanguran 4272d5a49c
Implemented workflow sink module (#3571)
* Implemented workflow sink module

* Sequentual process of saving sinks in single consumer

* Refactor

* Log errors during sink export

* Removed redundant classes

* Use in process messaging in bundle

* Fixed the issue with duplicated ResultVariable key on serializing

* Moved workflowsink modules out of persistence projects

* Moved migrations out of old projects

Co-authored-by: Gürkan Güran <grkngrn@gmail.com>
Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
2023-01-01 18:02:38 +01:00
Sipke Schoorstra 7a98cdf60d
Normalize extensions namespaces (#3577) 2022-12-31 16:16:43 +01:00
Sipke Schoorstra e6536636d7
Additional samples + fixes and improvements (#3574)
* Incremental work on samples

* Rename HTTP middleware and update samples

* Rename HTTP Activities to Workflows

* Automatically register core activities when adding Elsa

* Fix feature registration bug

* Add default auth feature

* Make activity serializer more flexible

* Bump designer version

* Add workflow server + designer samples

* Simplify EntityFrameworkCore projects

* Update solution

* Add Sqlite package references to ensure the correct version is used

* Update sample project with EF Core

* Update EF extensions

* Add server + designer sample project

* Cleanup AllInOne project and add some XML comments

* Rename ci.yml and add CI for Docker file
2022-12-30 13:11:29 +01:00
Sipke Schoorstra 4f7e82a9dc Implement exception handling middleware 2022-12-26 18:38:30 +01:00
Sipke Schoorstra 97b4966233
Workflow activation strategies (#3559)
* Implement workflow activation strategies

* Rename activation strategy API

* Rename workflow activation strategy API and implement dynamic description display

* Fix trigger workflow correlation

* Expose correlation ID from liquid

* Update workflow runtimes to invoke activation strategies

* Update workflow definition builder API with support for activation strategies
2022-12-21 19:36:40 +01:00
Sipke Schoorstra 3dfede96d3 Move shared test utility to common folder + various incremental changes 2022-12-20 12:13:53 +01:00
Sipke Schoorstra dc0de21309 Enable bookmarks 2022-12-09 12:49:57 +01:00
Sipke Schoorstra a4011278cc Implement implicit FastEndpoint assembly collection for discovery 2022-12-09 12:25:39 +01:00
Sipke Schoorstra 2876bb65bc Add FlowNode activity 2022-11-24 16:03:35 +01:00
Sipke Schoorstra 2567eb6535 Implement variable picker 2022-11-23 22:36:43 +01:00
Sipke Schoorstra 8cc8d1bcbf
Telnyx integration (#3453)
* Incremental work on Telnyx integration

* Incremental port of Telnyx activities

* Fix polymorphic JSON serialization for webhook data

* Fix IsFirstPass logic

* Fix trigger base to prevent activity auto completion

* Temporarily disable persistent snapshotting provider for testing

* Fix namespaces

* Add method to register activities in bulk using marker type

* Fix Telnyx refit client setup

* Register all Telnyx activities by default

* Incremental work on webhook driven resumption and correlation

* Incremental work on post-bookmark signaling

* Fix bookmark resolution

* Include correlation ID with bookmark

* Fix Telnyx resumption input

* Replace bookmark persisted signal with handler

* Fix SpeakText completion

* Add flow outcomes to SpeakText activity

* Update GatherUsingSpeak and GatherUsingaudio

* Refactor "is first pass" concept

* Fix WebhookEvent activity

* Add HTTP absolute URL provider

* Formatting and small changes

* Various API enhancements
2022-11-19 22:30:43 +01:00
Sipke Schoorstra c6bfd1f574
Asynchronous Activities (#3386)
* Update job activities handler

Looks like somehow implicit global usings have been removed or disabled 🤔

* Implement background activity execution

* Checkbox UI improvements

* Implement Task configuration for asynchronous execution

* Make job queue hosted service process jobs in parallel

* Make job worker count configurable
2022-10-27 12:05:30 +02:00
cristinamudura 0cd01c687b
Feature/send http request (#3355)
* Implemented send http request activity

* Implemented checkbox input and updated send http request activity

* Updated value of mime types constants
2022-10-25 15:52:55 +02:00
Sipke Schoorstra 9a772af3c8
Implicit fork & join (#3331)
* Initial experiment with implicit fork and join construct

* Implement flow execution counters

* Incremental work on FlowJoin

* Implement bookmark removal behavior

* Set icon for FlowJoin
2022-10-10 15:08:30 +02:00
Sipke Schoorstra 4b0af64cee
Exportable & importable workflow state + execution (#3317)
* Incremental work on externalizing workflow state execution

* Finish resumable WriteHttpResponse
2022-10-04 11:57:01 +02:00
Sipke Schoorstra 31942ae96f
Implement async workflow state exporter for DB workflow instance (#3291)
* Incremental work on in-process message consumers

* Implement asynchronous workflow state DB exporter

* Fixes
2022-09-07 17:28:36 +02:00