Commit graph

56 commits

Author SHA1 Message Date
Sipke Schoorstra f938c32a8f Rename destination activity to target activity 2019-12-28 20:23:33 +01:00
Sipke Schoorstra 8092d166a5
Add native .NET code support + activity input/output (#216)
* Add code activity

* Refactor Workflow State to use Variables

* Update InstantEvent and SetVariable

* Update samples

* Add activity input/output
2019-12-23 21:43:11 +01:00
Sipke Schoorstra bd422f5d14
Feature/persist on every activity (#215)
* Add support for resuming crashed workflow hosts
* Add workflow persistence behavior
2019-12-21 12:34:27 +01:00
Sipke Schoorstra 452516bdfa Merge branch 'develop' into feature/elsa-2.0
# Conflicts:
#	src/persistence/Elsa.Persistence.YesSql/StartupTasks/InitializeStoreTask.cs
2019-12-21 12:32:04 +01:00
Sipke Schoorstra 80ad40824e
Fix broken date/time/nodatime serialization (#214)
Added extensible support for specialized primitive handling such as
DateTime and NodaTime primitives.

This fixes the issue where a Variable is serialized using a primitive's
string representation and losing the target type, which is needed for
reconstructing the type upon deserialization.
2019-12-21 10:05:10 +01:00
James Doran 6addf0f974
YesSql now stores schema version (#213) 2019-12-21 08:54:32 +10:30
Sipke Schoorstra 56402c33ba Merge branch 'develop' into feature/elsa-2.0 2019-12-19 17:08:13 +01:00
Sipke Schoorstra 57a8693c21
Explicit EF identity specification + DateTime serialization issue (#212)
* Explicitly specify identity for Id columns

This fixes an issue where EF Core 2.2 does not set Identity = Yes when
defining the Id columns.

* Fix DateTime serialization issue

This change fixes an issue by taking over the serialization of a DateTime value.
The problem with serializing a DateTime value as-is is that upon deserialization, the JToken type would be set as String instead of Date.
This is because NodaTime disables automatic date time handling for Instant types.
However that causes an issue when trying to serialize and deserialize DateTime values.

This change explicitly tests for DateTime values and handles it appropriately.
A future improvement might be to make this TypeNameHandlingConverter class extensible by implementing a provider-based model,
enabling developers to take control over how certain types are serialized.
2019-12-19 17:07:23 +01:00
Sipke Schoorstra 853abf4e62 Merge branch 'develop' into feature/elsa-2.0
# Conflicts:
#	Samples.sln
#	Samples.sln.DotSettings
#	src/samples/Sample04/Program.cs
2019-12-17 21:50:53 +01:00
Nate Hughey e55c17ea92 Feature - Customize Elsa.Persistence.EntityFrameworkCore Migrations and Schema (#204)
* Added PostgreSql support to Elsa.Persistence.EntityFrameworkCore via Npgsql.
* Customize Elsa.Persistence.EntityFrameworkCore Migrations and Schema.
* Added Context factory in Sample23 to use the IDbContextCustomSchema.
* Refactor the Custom Schema support to use the EFCore IDbContextOptionsExtension.
2019-12-17 21:38:58 +01:00
James Doran c8d7ac076f YesSql instance storage fixes (#209)
* WorkflowInstanceIndex now stores records correctly
* Saving a workflow instance now updates existing instance rather than creating a new document
* Fixed serialisation exception when saving existing instance containing NodaTime types
2019-12-11 08:15:05 +01:00
Sipke Schoorstra 61c9ac48c7 Update packages 2019-12-10 15:46:49 +01:00
Sipke Schoorstra dce24b4f3b Refactor rename to updated workflow terminology 2019-11-29 13:32:05 +01:00
nhughey-evo a89897b8e1 Feature: Persistence Provider -> Added PostgreSql support to Elsa.Persistence.EntityFrameworkCore via Npgsql (#201) 2019-11-28 11:35:30 +01:00
Sipke Schoorstra 98fe6d21d7 Add SQL Server example 2019-11-26 22:54:06 +01:00
Sipke Schoorstra b7103188fd Incremental work on GraphQL 2019-11-24 22:02:14 +01:00
Sipke Schoorstra 34a3872693 Remove LastResult, refactor activity output 2019-11-24 15:25:16 +01:00
Sipke Schoorstra d9cf7c4f1c Incremental work on GraphQL 2019-11-23 15:08:40 +01:00
Sipke Schoorstra baef007e2b Incremental work on GraphQL 2019-11-22 23:07:31 +01:00
Sipke Schoorstra ac3ea9573f Add icons to packages 2019-11-22 17:34:55 +01:00
Sipke Schoorstra b545fd2aea
Add Dockerfile and docker-compose (#186)
Fixes #142
2019-11-19 19:25:56 +01:00
Sipke Schoorstra 21f770bc48
Refactorings and fixes (#168)
* Variables are now stored including their type name for automatic deserialization into their actual type. This is important for use in expressions.
* **SplitObject** and **ExecuteMethod** now use workflow expressions instead of variable names. This allows for more flexibility.
* Improved **Join** activity to allow proper function within looping constructs.
* Improved Variables performance. Variables are no longer serialized/deserialized upon writing/reading perspectively, only when the workflow instance is persisted.
2019-11-17 20:43:16 +01:00
Sipke Schoorstra d1f7ce47b7
EF Core Provider rewrite (#165)
* Fixed EF provider

Fixes #144 , #145
2019-11-16 14:06:53 +01:00
Sipke Schoorstra 7568863477
Add CreatedAt column (#126)
Fixes #125
2019-11-04 17:00:35 +01:00
Sipke Schoorstra a3c9af1d47
Fix version query issue (#121) 2019-11-03 17:19:00 +01:00
Sipke Schoorstra ab514ede04 Fix a serialization/casting issue in WorkflowExecutionContext.SetLastResult 2019-11-03 17:05:16 +01:00
Sipke Schoorstra 57f116c239
Fix object disposed bug (#116)
* Refactor buggy SignalRequestHandler

For some reason, the following code is problematic:

await DecryptToken()
                .BindAsync(GetWorkflowInstanceAsync)
                .BindAsync(CheckIfExecutingAsync)
                .MapAsync(ResumeWorkflowAsync);

Basically, any lambda in the BindAsync and MapAsync could execute even after the containing method returned

* Implement better message handler registration without adding multiple IMediator services

* Abstracted Mediator service registration methods.
* Add Liquid support for JObject.
2019-10-31 21:31:18 +01:00
Sipke Schoorstra e162391c30 Update package descriptions and renamed some activities 2019-10-27 17:31:50 +01:00
Sipke Schoorstra aef8741d84
Add Liquid expressions (#111)
* Reorganize projects

* Implement Liquid expression evaluator

* Refactor activity references to use `Name`
2019-10-27 15:38:37 +01:00
Sipke Schoorstra cb25239fd1
Add While activity (#110)
* Implement While activity

* Variable scope bug fixes

* Merge designer attributes with activity definition

* Update package references
2019-10-26 12:46:20 +02:00
Sipke Schoorstra b9878f94bb
Extend SMTP options (#107)
* Extend SMTP options

* Remove unused imports
2019-10-24 22:06:14 +02:00
Sipke Schoorstra c7c41d10a5
Workflow Registry refresh upon workflow definition updates (#101)
* Fix many things. Few more samples left to fix

* Fix all the samples

* Introduce service configurator

* Implement cache signaling and refreshing workflow registry

* Add Sample16 demonstrating dashboard + workflow host combined

* Bugfix where non-published versions of worklows are triggered
2019-10-23 21:23:25 +02:00
Stefano Candori b35e06bf3a Workflow status enum should be converted to int and not string when persisting with EntityFramework (#98)
Update SQL script
2019-10-21 17:44:44 +02:00
Sipke Schoorstra 5a4da522c7
Migrate to .NET Core 3 (#96) 2019-10-20 13:30:38 +02:00
Sipke Schoorstra 5d018389ed Change option configuration API for Dashboard 2019-10-20 08:39:43 +02:00
Sipke Schoorstra dfac2d0a4f
Implement workflow execution path visualization (#93)
* Add workflow designer models
* Fix versioning
* Implement workflow path execution trail
2019-10-19 17:03:52 +02:00
Sipke Schoorstra d9692bec8b Add icons 2019-10-08 22:19:03 +02:00
Sipke Schoorstra 45bf66b7f2 Fix draft/publish functionality
Fixes #84
2019-09-29 18:56:49 +02:00
Sipke Schoorstra fb6f054119 Add support for Singleton (Dashboard) and Disabled workflows
Closes #85
2019-09-29 17:39:08 +02:00
Sipke Schoorstra 3282ac26c5 Fix MongoDb NodaTime deserialization issue 2019-09-28 11:55:06 +02:00
Sipke Schoorstra 7c9aa93525 Formatting and some cleanup 2019-09-28 10:50:10 +02:00
Jonathan Ruckert ee9b1ae649 Added in DocumentDb Persistence layer (#79) 2019-09-25 13:43:42 +02:00
Sipke Schoorstra 8fdc93952b Add Dropbox activity 2019-09-22 21:33:32 +02:00
Sipke Schoorstra 072fd3ca20 Update packages 2019-09-22 00:16:27 +02:00
Sipke Schoorstra 02be088cdb
Implemented initial version of workflow instances (#77)
* Initial version of workflow instance list & details view

* Add logo
2019-09-21 12:49:10 +02:00
Sipke Schoorstra 69116727be
Fixed lifetime scope issues with Workflow Invoker and many other bugs (#70)
* Refactor workflow invoker to execute in finite scope

* Fix Timer Event and workflow instance concurrency issue
2019-09-18 22:14:52 +02:00
Sipke Schoorstra a5c7a66f6b Remove unused namespaces and add documentation site URL to README 2019-09-16 15:23:16 +02:00
Sipke Schoorstra 36c881fef5 Add EF migrations and add memory perstience providers by default 2019-09-16 00:13:52 +02:00
Sipke Schoorstra 7fb6153e0a
Refactored versioning (#67)
* Fix StringValues serialization and rename WorkflowDefinition to WorkflowDefinitionVersion

* Fix Singleton issue and add support for absolute URL using base URL for background tasks

* Fix persistence and lifetime scope issues

* Fix timer bugs

* Various bug fixes
2019-09-15 12:16:24 +02:00
Sipke Schoorstra b156a1f25e
Feature/mvc area dashboard (#65) 2019-09-11 20:26:21 +02:00