Commit graph

181 commits

Author SHA1 Message Date
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 9f9c20f553
Add support for workflows as a function (#3569)
* Add support for converting lists of things

* Add support for workflows returning a result

* Formatting

* Fix that While would complete twice

* Add convenience methods to access workflow input

* Schedule the workflow itself instead of just its root

* Add Output dictionary to workflow execution context

* Ad samples to demonstrate workflows returning results
2022-12-28 13:59:46 +01:00
Sipke Schoorstra bbe8ee34c0 Update packages 2022-12-22 15:55:20 +01:00
Sipke Schoorstra 2dcd9bcd73 Add .NET 7 as a target 2022-12-22 15:40:31 +01:00
Sipke Schoorstra 81ddacab0f Update Telnyx activities with correlation client state 2022-12-22 15:13:52 +01:00
Sipke Schoorstra 088158ec54 Finish Hello World ASP.NET sample project 2022-12-21 22:22:21 +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 3d4718ff76 Rename From to Inline 2022-12-11 22:34:24 +01:00
Sipke Schoorstra 2567eb6535 Implement variable picker 2022-11-23 22:36:43 +01:00
Sipke Schoorstra 8a4e219e07 Minor renaming 2022-11-23 11:20:35 +01:00
Sipke Schoorstra 9981dc1f10 Add Complete activity for completing composite activities 2022-11-22 13:09:14 +01:00
Sipke Schoorstra be3e7ac707 Update Composite and remove completion callback 2022-11-22 12:36:32 +01:00
Sipke Schoorstra 03eba3f6ad Incremental work on composite activity completion 2022-11-21 22:49:11 +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 e9d4c9b6d5 Prepare projects for packaging 2022-11-03 21:40:23 +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 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
Sipke Schoorstra b3bae39bfe
Default Runtime & Persistence (#3287)
* Delete DefaultWorkflowInvoker.cs

* Incremental work

* Refactor runtime

* Implement workflow state store + bookmark store

* Cleanup

* Update migrations

* Move store abstractions to management and runtime projects

* Consolidate persistence providers into single package

* Generate migrations

* Regenerate migrations

* Fix DI of memory stores

* Update migrations

* Refactor definition reference due to unserializable record

* Update web server bundle to use EF core by default

* Update Bookmark.cs

Fixes System Text Json deserialization
2022-09-04 17:04:14 +02:00
Sipke Schoorstra e2ffafc736
Refactor proto actor runtime with snapshot support (#3283)
* Initial working grain

* Incremental work on actor bookmark management & resuming wokflows

* Upgrade Proto Actor package references

* Fix lifetime of actors

* Implement bookmark and resumption

* Update Program.cs

* Update bookmark event publishing

* Refactor proto actor features API

* Implement snapshotting

* Update snapshotting

* Add in-memory provider and use it by default

* Update server bundle to use proto actor sqlite persistence by default
2022-09-02 13:18:53 +02:00
Sipke Schoorstra 6f5a02966e Squashed commit of the following:
commit f5266d120035646b13b580987fc17192d3b0d86f
Author: Sipke Schoorstra <sipkeschoorstra@outlook.com>
Date:   Wed Aug 31 15:46:50 2022 +0200

    Add memory user and role store

commit 96b2e97b460ee6708b6c1792ae85c51f96b139f8
Author: Sipke Schoorstra <sipkeschoorstra@outlook.com>
Date:   Wed Aug 31 14:46:27 2022 +0200

    Add session storage support for auth session

commit a4a52d402d371d4b8a5b6f6281059b81522316b2
Author: Sipke Schoorstra <sipkeschoorstra@outlook.com>
Date:   Wed Aug 31 14:22:08 2022 +0200

    Implement login screen

commit 5b1e509d3f9306b9f4803de04f2d9c1c7a3fc41b
Author: Sipke Schoorstra <sipkeschoorstra@outlook.com>
Date:   Tue Aug 30 15:04:40 2022 +0200

    Incremental work on auth

commit eccca88c07653b440f85069785416e1ce247d0d4
Author: Sipke Schoorstra <sipkeschoorstra@outlook.com>
Date:   Mon Aug 29 14:50:08 2022 +0200

    Add couple of read wildcards for testing

commit 1b38596a34c1d56d11edc82f5b974e06ac2fde0e
Author: Sipke Schoorstra <sipkeschoorstra@outlook.com>
Date:   Mon Aug 29 14:40:49 2022 +0200

    Incremental work on identity module
2022-08-31 15:47:10 +02:00
Sipke Schoorstra 45e38a728f Remove unused namespaces 2022-08-29 11:37:00 +02:00
Sipke Schoorstra d8d0834c53 Incremental work on FastEndpoints implementation 2022-08-27 20:42:06 +02:00
Sipke Schoorstra 8e9bb60d63 Merge branch 'v3' of https://github.com/elsa-workflows/elsa-core into v3
# Conflicts:
#	Elsa.sln
2022-08-25 19:59:53 +02:00
Sipke Schoorstra 8ad878d0ca Rename InvokeWorkflowResult 2022-08-25 19:55:34 +02:00
Sipke Schoorstra a983457076 Rename builder service 2022-08-25 13:45:35 +02:00
cristinamudura e5d5aec1a7
Added proto actor implementation for kubernetes and refactored relevant projects to contain the only needed classes. (#3256) 2022-08-17 21:39:08 +02:00
Sipke Schoorstra e942f799ec Add default implementations for job queue and scheduler 2022-08-11 12:45:07 +02:00
Sipke Schoorstra dfa1068012 Remove unused namespaces 2022-07-07 22:30:44 +02:00
Sipke Schoorstra 4ac74864cd Incremental work on transposition 2022-06-14 15:56:41 +02:00
Sipke Schoorstra 8d3aaea1e4 Incremental work on transposition 2022-06-11 20:04:16 +02:00
Sipke Schoorstra b7177f944f Streamline output API 2022-06-06 20:14:51 +02:00
Sipke Schoorstra 1ba45037fd Incremental work on variable capturing + management 2022-06-05 22:49:47 +02:00
Sipke Schoorstra a28d2eb63a
Features API (#3081)
* Rename module and features

* Move Mediator, AspNetCore and Expressions to modules folder

* Update labels-widget.tsx
2022-05-27 12:36:39 +02:00
Sipke Schoorstra 76b9ae96fb Cleanup 2022-05-26 17:05:36 +02:00
Sipke Schoorstra 41b1a3b275 Update Program.cs 2022-05-26 16:24:34 +02:00
Sipke Schoorstra ddc4c67d2f Update Program.cs 2022-05-26 16:23:33 +02:00
Sipke Schoorstra 158bffaca3 Update samples and rename extensions method 2022-05-26 16:07:01 +02:00
Sipke Schoorstra fccf4737e2
V3 modular configuration (#3070)
* Restructuring (WIP)

* Fix warnings

* Move DSL to modules

* Update namespaces

* Make design factory base reusable

* Update service registrations

* Remove unused namespaces and rename ElsaDbContext

* Incremental work on migrations

* Generate WorkflowsDbContext SQLite migrations

* Rename ServiceCollectionExtensions

* Update DbContextOptionsBuilderExtensions.cs

* Restructure

* Configuration refactorings (WIP)

* Incremental work on configurator API

* Incremental work on configuration API

* Incremental work on configuration API

* Fix workflow runtime options

* Move standard stream providers

* Implement configurator dependencies

* Cleanup configurator API

* Update configurator dependencies

* Cleanup

* Update Label API endpoints

* Fix eager configuration issue
2022-05-26 12:47:31 +02:00
Sipke Schoorstra 0779687467
V3 import export (#3030)
* Fix correct materializer name

* Add Sequence plugin to override transposition

* Update elsa-api-client.ts

* Update workflow-definition-browser.tsx

* Update Activity to ignore serialization of Behaviors property

* Add Export API endpoint

* Implement Import API

* Update ClrWorkflowDefinitionProvider.cs

* Implement filter by materializer

* Filter workflow definitions by Json materializer for now

* Implement export from designer

* Implement import from designer

* Update Export.cs
2022-05-16 11:25:53 +02:00
Sipke Schoorstra cb90e5819b Update Program.cs 2022-05-08 23:11:08 +02:00
Sipke Schoorstra 0729d35ab6 Refactor API endpoints 2022-05-08 23:07:26 +02:00
Sipke Schoorstra 8ad21d3645 Move FlowChart and SetName activities to Core 2022-05-03 16:22:26 +02:00
Sipke Schoorstra bc4b19b430 Incremental work on configuration API 2022-05-03 16:17:20 +02:00
Sipke Schoorstra 78169bdd86 Add support for ordered hosted service registration 2022-05-03 13:04:39 +02:00
Sipke Schoorstra 5f83198677 Refactor persistence configuration (memory + EF core) 2022-05-03 12:32:31 +02:00
Sipke Schoorstra 1afe3a62a0 Incremental work on modular configuration 2022-05-03 11:44:44 +02:00
Sipke Schoorstra a44ceaeb55
Implement V3 stores (#2980)
* Implement IWorkflowInstanceStore

* Implement IWorkflowDefinitionStore

* Implement IWorkflowTriggerStore

* Implement IWorkflowBookmarkStore

* Implement IWorkflowExecutonLogStore

* Restructure folders

* Persist workflow instance status timestamps
2022-04-30 15:10:11 +02:00