Commit graph

86 commits

Author SHA1 Message Date
Sipke Schoorstra ed9fedda84
Update package references (#436) 2020-10-28 10:16:54 +01:00
Sipke Schoorstra d5095f7a69
Remove multiple execution scopes (#427) 2020-10-26 15:32:02 +01:00
Sipke Schoorstra 901b7e5291 Merge tag '1.3.1' into develop 2020-10-16 13:39:49 +02:00
Sipke Schoorstra dd823398f5 Fix workflow resumption when activity ids are not explicitly specified 2020-10-16 13:20:26 +02:00
syntaxonline-rewhitley 2ac2aa4fdb
Force json lookup to use lowercase name when value is assigned to both values (#400) 2020-10-11 14:31:23 +02:00
lmartinjr bab3fa7f7b
Since the State property is serialized JSON the getter and setter needs to look for the key lowercased. This allows the property to be set with the name and have the Name property persisted in the datastore (i.e. EF). (#395) 2020-10-05 08:32:08 +02:00
Samuele Furnari 98e2ef1720
Fix for bug #341 and fix designer toolbar alignment (#392)
* fix #341 - Two Name properties

* fix style of designer toolbar (add activity, options, ...)

Co-authored-by: Samuele Alfredo Furnari <SamueleAlfredo.Furnari@nttdata.com>
2020-10-05 08:31:12 +02:00
aburada 3f153c0f13
Add Exception property to WorkflowFault (#283) 2020-05-15 20:04:09 +02:00
Sipke Schoorstra f44d7e12b9
Wrapping AutoMapper (#309)
* Wrapping AutoMapper
2020-05-15 12:08:02 +02:00
Sipke Schoorstra f3f5b2d931
Fix missing mapping issues (#279) 2020-04-02 22:11:13 +02:00
James Doran 0e9cd54c2e
Fixed stackoverflow when finding ancestors (#247) 2020-02-17 18:06:40 +10:30
Sipke Schoorstra e46f59d30e
Update packages (#233) 2020-01-15 22:39:47 +01:00
James Doran 7aa9f0510f
Fixed Serialization for Objects (#220)
Registered ObjectHandler in TypeNameHandlingConverter
Passed through object type in IValueHandler.Serialize to be written as TypeName
2020-01-06 19:32:25 +10:30
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
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
James Doran 205487425a
Variable fixes (#211)
* GetVariable<T> now uses Convert.ChangeType

Fixes issue where saving an Int32, serialising and deserialising, then accessing with GetVariable<int>(...) no longer causes type cast exception.
The saved value is a JValue which treats Int32 as Int64. Convert.ChangeType has a better chance of performing conversion without error.
Also returns default of T if the variable isn't found.

* Added SetVariable overload in Variables

To prevent double-wrapping objects in more than 1 Variable object
2019-12-13 17:51:01 +10:30
Sipke Schoorstra 61c9ac48c7 Update packages 2019-12-10 15:46:49 +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 b0a5962f4a Fix variable serialization issues 2019-11-17 22:48:17 +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
Andale-online 47e0795b66 Feature variables v2.01 with bugfix (#164)
* Changed Variables.cs to full IDictionary
with ConcurrentDictionary<string, object> backing

* Bugfix for long running flows
2019-11-16 15:30:04 +01:00
Sipke Schoorstra d1f7ce47b7
EF Core Provider rewrite (#165)
* Fixed EF provider

Fixes #144 , #145
2019-11-16 14:06:53 +01:00
Andale-online e3054b46c8 Changed Variables.cs to full IDictionary (#161) 2019-11-15 22:27:23 +01:00
Andale-online 58d7bc654a GetVariable(string name, Type type) (#155)
* GetVariable(string name, Type type)
2019-11-15 10:37:01 +01:00
Sipke Schoorstra ab514ede04 Fix a serialization/casting issue in WorkflowExecutionContext.SetLastResult 2019-11-03 17:05:16 +01:00
Sipke Schoorstra 3fd0cb5270
Refactor Variable serialization to convert to JValue (#120)
This removes the confusion where a specific object will retain its type when serialized, which is not the case.
2019-11-03 14:33:34 +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 943398bcb2 Fix merge issues 2019-10-27 16:08:18 +01:00
Sipke Schoorstra bc04b00196 Merge branch 'develop'
# Conflicts:
#	Samples.sln
#	src/activities/Elsa.Activities.Timers/Elsa.Activities.Timers.csproj
#	src/core/Elsa.Abstractions/Services/IActivityBuilder.cs
#	src/core/Elsa.Core/Elsa.Core.csproj
#	src/core/Elsa.Core/WorkflowBuilders/ActivityBuilder.cs
#	src/samples/Sample17/Activities/CreatePerson.cs
#	src/samples/Sample17/CreatePersonWorkflow.cs
#	src/samples/Sample17/Program.cs
#	src/samples/Sample17/Sample17.csproj
2019-10-27 16:05:55 +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 06412c0cc0
Add support for custom title and description (#109) 2019-10-25 18:39:54 +02:00
Sipke Schoorstra d7fc571cdd
RC3 (#108)
* Add activity output example

* Update Sample17

* Extend SMTP options (#107)

* Remove unused imports

* Update Elsa.Scrutor package reference
2019-10-24 23:36:07 +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 82ce170f8d Update Sample17 2019-10-24 21:45:19 +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
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 012e12c51c
Implement activity execution logging (#89)
* Implement activity logging
* Update Calculator example
2019-10-14 19:46:55 +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 e1da5f5f19
Define activities (#78)
* Annotate activities with design-time attributes
2019-09-22 00:02:04 +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 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