Commit graph

288 commits

Author SHA1 Message Date
Sipke Schoorstra c542a5a531 Merge branch 'develop' into feature/elsa-2.0
# Conflicts:
#	src/activities/Elsa.Activities.ControlFlow/Activities/ForEach.cs
#	src/core/Elsa.Abstractions/Extensions/WorkflowExtensions.cs
#	src/core/Elsa.Abstractions/Models/WorkflowInstance.cs
#	src/core/Elsa.Core/Expressions/LiteralEvaluator.cs
#	src/dashboard/Elsa.Dashboard/Extensions/DashboardServiceCollectionExtensions.cs
#	src/dashboard/Elsa.Dashboard/Theme/argon-dashboard/package-lock.json
#	src/dashboard/Elsa.Dashboard/Theme/argon-dashboard/package.json
#	src/persistence/Elsa.Persistence.DocumentDb/Extensions/ServiceConfigurationExtensions.cs
#	src/persistence/Elsa.Persistence.EntityFrameworkCore/Extensions/EFCoreServiceCollectionExtensions.cs
#	src/persistence/Elsa.Persistence.EntityFrameworkCore/Migrations/MySql/MySqlContextModelSnapshot.cs
#	src/providers/Elsa.Persistence.EntityFrameworkCore/Migrations/MySql/20200402200706_Update01.Designer.cs
#	src/providers/Elsa.Persistence.EntityFrameworkCore/Migrations/MySql/20200402200706_Update01.cs
#	src/providers/Elsa.Persistence.EntityFrameworkCore/Migrations/PostgreSql/20200402200555_Update01.Designer.cs
#	src/providers/Elsa.Persistence.EntityFrameworkCore/Migrations/PostgreSql/20200402200555_Update01.cs
#	src/providers/Elsa.Persistence.EntityFrameworkCore/Migrations/SqlServer/20200402200549_Update01.Designer.cs
#	src/providers/Elsa.Persistence.EntityFrameworkCore/Migrations/SqlServer/20200402200549_Update01.cs
#	src/providers/Elsa.Persistence.EntityFrameworkCore/Migrations/Sqlite/20200402200519_Update01.Designer.cs
#	src/providers/Elsa.Persistence.EntityFrameworkCore/Migrations/Sqlite/20200402200519_Update01.cs
#	src/providers/Elsa.Persistence.EntityFrameworkCore/Migrations/Sqlite/SqliteContextModelSnapshot.cs
#	src/samples/Sample24/Program.cs
#	src/scripting/Elsa.Scripting.JavaScript/Services/JavaScriptHandler.cs
2020-04-17 20:34:39 +02:00
Sipke Schoorstra c186a490af Fix AutoMapper issue
Due to a bug with registering AutoMapper profiles, only the first mapping profile would get registered.
Also merged AutoMapper utilities into Elsa.Core.
2020-04-13 12:01:50 +02:00
Sipke Schoorstra 277272f736 Update Sample24 to use Sqlite 2020-04-13 11:41:53 +02:00
Ibrahim Hammad 3618a773e3
Correct sample paths (#284) 2020-04-06 16:03:07 +02:00
Edward Morgan e7b838cbfb
Update ForEach.cs (#285)
on designer not apper Done and Iterate ways.
2020-04-06 16:02:08 +02:00
Sipke Schoorstra f3f5b2d931
Fix missing mapping issues (#279) 2020-04-02 22:11:13 +02:00
Sipke Schoorstra 5bf994c485
Fix duplicate automapper profiles (#270) 2020-03-27 21:11:05 +01:00
Sipke Schoorstra 707eed6f6f Update designer package reference to latest v1 2020-03-16 14:40:00 +01:00
Sipke Schoorstra 5fcdba0e5b Incremental work on TimesheetManager example 2020-03-08 13:48:31 +01:00
mmiscevic 9360dfeeb8
Added Tag property to BlockingActivity.cs and BlockingActivityEntity.cs; (#254)
Implements #241
2020-02-26 18:49:31 +01:00
Sipke Schoorstra 8ec43230a7 Improve JS value converter to support object target type 2020-02-20 21:24:34 +01:00
Yuhang Ji a9a4f78459
Resolve https://github.com/elsa-workflows/elsa-core/issues/250 (#251) 2020-02-20 10:30:30 +01:00
Sipke Schoorstra 299d465570 Added some samples 2020-02-18 22:29:44 +01:00
James Doran 0e9cd54c2e
Fixed stackoverflow when finding ancestors (#247) 2020-02-17 18:06:40 +10:30
Sipke Schoorstra 60bfb4e7b2
Added Graphql (#246)
* Added GraphQL using Hot Chocolate
2020-02-15 20:32:16 +01:00
Sipke Schoorstra a89980cad0 Fix service scope issue
WorkflowScheduler needs to be Scoped as it depends on scoped services such as Entity Framework provider implementations
2020-02-02 10:59:14 +01:00
Sipke Schoorstra 892dfabeff Extract activity filtering to WorkflowInstanceStoreExtensions 2020-01-19 21:47:38 +01:00
Sipke Schoorstra e7bf3f5ab6 Fix tests 2020-01-19 10:13:11 +01:00
Sipke Schoorstra fd1cfb4756
Add PersistWorkflow setting to Activity (#239) 2020-01-18 21:37:26 +01:00
Sipke Schoorstra 7e040aca51 Update CronEvent 2020-01-18 21:25:30 +01:00
Sipke Schoorstra 2f3e44ab82 Add comment 2020-01-18 20:56:01 +01:00
Sipke Schoorstra b9e3a0ca36 Implement immediate launch of pending workflow blocked due to existing instance 2020-01-18 20:54:17 +01:00
Sipke Schoorstra dce2c4f9db Incremental work on timer event 2020-01-18 17:08:02 +01:00
Sipke Schoorstra 26ee6b10a7 Update EF provider 2020-01-18 15:35:37 +01:00
Sipke Schoorstra 6a6edde7de Restored workflow persistence functionality 2020-01-18 13:11:11 +01:00
Sipke Schoorstra d1ce5ce897 Merge branch 'develop' into feature/elsa-2.0
# Conflicts:
#	src/core/Elsa/ElsaServiceCollectionExtensions.cs
#	src/dashboard/Elsa.Dashboard.Web/Elsa.Dashboard.Web.csproj
#	src/dashboard/Elsa.Dashboard/Extensions/DashboardServiceCollectionExtensions.cs
#	src/dashboard/Elsa.Dashboard/Theme/argon-dashboard/package-lock.json
#	src/providers/Elsa.AspNetCore.Startup/TaskExecutingServer.cs
#	src/samples/Sample01/Sample01.csproj
#	src/samples/Sample02/Sample02.csproj
#	src/samples/Sample03/Sample03.csproj
#	src/samples/Sample04/Sample04.csproj
#	src/samples/Sample06/Sample06.csproj
#	src/samples/Sample07/Sample07.csproj
#	src/samples/Sample07/Startup.cs
#	src/samples/Sample08/Sample08.csproj
#	src/samples/Sample08/Startup.cs
#	src/samples/Sample09/Sample09.csproj
#	src/samples/Sample10/Sample10.csproj
#	src/samples/Sample11/Sample11.csproj
#	src/samples/Sample12/Sample12.csproj
#	src/samples/Sample13/Sample13.csproj
#	src/samples/Sample14/Sample14.csproj
#	src/samples/Sample15/Sample15.csproj
#	src/samples/Sample17/Sample17.csproj
#	src/samples/Sample18/Sample18.csproj
#	src/samples/Sample20/Sample20.csproj
#	src/samples/Sample21/Sample21.csproj
#	src/samples/Sample21/Startup.cs
#	src/samples/Sample22/Sample22.csproj
#	src/samples/Sample23/Sample23.csproj
#	src/samples/Sample24/Sample24.csproj
#	src/server/Elsa.Server.Host/Properties/PublishProfiles/FolderProfile.pubxml
2020-01-18 12:03:00 +01:00
Sipke Schoorstra 48be0e8a87
Always add startup runner hosted service (#238) 2020-01-18 11:59:47 +01:00
Sipke Schoorstra 16e91e0de1
Replace TaskExecutingServer with StartupRunnerHostedService (#237)
This solves an issue where the Dashboard site would not be able to run in IIS, due to an IIS filter that expects a IISServer instance, while it was being decorated with a custom type.

Fortunately, as of .NET Core 3, background hosted services now execute before the server starts, which makes them perfect for async initialization.
2020-01-18 11:04:53 +01:00
Sipke Schoorstra aefe630f42 Merge branch 'develop' into feature/elsa-2.0
# Conflicts:
#	Samples.sln
#	src/core/Elsa.Abstractions/Elsa.Abstractions.csproj
#	src/core/Elsa.Core/Elsa.Core.csproj
#	src/persistence/Elsa.Persistence.EntityFrameworkCore/Extensions/EFCoreServiceCollectionExtensions.cs
#	src/providers/Elsa.Persistence.EntityFrameworkCore/Elsa.Persistence.EntityFrameworkCore.csproj
#	src/providers/Elsa.Persistence.YesSql/DbContexts/DesignTimeDbContextFactoryBase.cs
#	src/providers/Elsa.Persistence.YesSql/DbContexts/MySqlContext.cs
#	src/providers/Elsa.Persistence.YesSql/DbContexts/MySqlContextFactory.cs
#	src/providers/Elsa.Persistence.YesSql/Elsa.Persistence.YesSql.csproj
#	src/providers/Elsa.Persistence.YesSql/Migrations/MySql/20200113102615_InitialCreate.Designer.cs
#	src/providers/Elsa.Persistence.YesSql/Migrations/MySql/20200113102615_InitialCreate.cs
#	src/providers/Elsa.Persistence.YesSql/Migrations/MySql/MySqlContextModelSnapshot.cs
#	src/samples/Elsa.Samples.Timers/Elsa.Samples.Timers.csproj
#	src/samples/Sample05/Program.cs
#	src/samples/Sample08/Sample08.csproj
#	src/samples/Sample08/Startup.cs
#	src/samples/Sample14/Program.cs
#	src/samples/Sample14/Sample14.csproj
#	src/samples/Sample16/Sample16.csproj
#	src/samples/Sample18/Program.cs
#	src/samples/Sample18/Sample18.csproj
#	src/samples/Sample19/Sample19.csproj
#	src/samples/Sample19/Startup.cs
#	src/samples/Sample21/Sample21.csproj
#	src/samples/Sample21/Startup.cs
#	src/samples/Sample22/Program.cs
#	src/samples/Sample22/Sample22.csproj
#	src/samples/Sample23/Program.cs
#	src/samples/Sample23/Sample23.csproj
2020-01-16 21:23:45 +01:00
James Doran 434754e466 Fixed yaml serialisation and updated to YamlDotNet (#236)
* Fixed Yaml serialisation/deserialisation

Copied json serializer settings from JsonTokenFormatter, apart from CamelCasePropertyNamesContractResolver, as the yaml already had the correct case, and this would cause activity state (which has PascalCasing) to be camelCased too

* Updated YamlDotNet.Standard to YamlDotNet

Switched package as YamlDotNet.Standard has been unlisted on Nuget
2020-01-16 08:31:19 +01:00
Sipke Schoorstra 4bc499ce1d
Use Duration instead of Period (#235)
Duration is semantically more correct in the context of were it's used.
2020-01-15 23:56:57 +01:00
Sipke Schoorstra ce35cef214
Fix designer factories (#234) 2020-01-15 22:51:41 +01:00
Sipke Schoorstra e46f59d30e
Update packages (#233) 2020-01-15 22:39:47 +01:00
Sipke Schoorstra 5836e2f5f1
Fix an issue where some DB Context factories use the base ElsaContext type instead of the derived type, causing a "Unable to resolve service for type 'Microsoft.EntityFrameworkCore.DbContextOptions`1[]' while attempting to activate" error (#232) 2020-01-15 22:35:15 +01:00
Sipke Schoorstra 05a9d5453e
Refactor elsa service config (#230)
* Refactor Elsa service configuration API
2020-01-15 21:26:44 +01:00
Sipke Schoorstra 40eef28fc7
Add web farm hosting support (#229)
* Implement distributed lock provider and workflow queue worker

* Add SQL Server lock provider
2020-01-14 23:11:50 +01:00
terry-delph 1b333fec1a Feature/mysql support efcore (#226)
* Added MySqlContext
* Added MySqlContextFactory
* Added Pomelo.EntityFrameworkCore.MySql nuget package
* Added initial MySqlContext migrations

* Added support for creating derived ElsaContexts:
- Added new protected constructor based on following post
- https://github.com/dotnet/efcore/issues/7533

* Added Sample 24 - MySql provider with migration execution
* Updated other samples that needed to define the derived ElsaContext

* Added summary to ElsaContext constructor

* Updated persistence/Elsa.Persistence.EntityFrameworkCore MD file with MySql example
2020-01-14 23:01:10 +01:00
Sipke Schoorstra c889a7a5d0 Merge branch 'develop' into feature/elsa-2.0
# Conflicts:
#	src/core/Elsa.Abstractions/Converters/TypeNameHandlingConverter.cs
#	src/core/Elsa.Abstractions/Serialization/Handlers/DefaultValueHandler.cs
#	src/core/Elsa.Abstractions/Serialization/Handlers/IValueHandler.cs
#	src/core/Elsa.Abstractions/Serialization/Handlers/ObjectHandler.cs
#	src/core/Elsa.Abstractions/Serialization/Handlers/PrimitiveValueHandler.cs
2020-01-12 20:34:20 +01:00
Sipke Schoorstra 7b94637386
Code-first improvements (#223)
* Refactor workflow model and scheduler

* Improve workflow builder API
2020-01-12 20:15:57 +01:00
Sipke Schoorstra 6ea6498ca0 Fix issue due to parallel access to DbContext
Fixes #219
2020-01-06 21:11:05 +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 b2ad297a0d Fix README.md 2020-01-04 11:17:11 +01:00
Sipke Schoorstra f938c32a8f Rename destination activity to target activity 2019-12-28 20:23:33 +01:00
Sipke Schoorstra 1338dc0a95
Container Activities (#218)
* Add support for child activities.

* Add type map feature.

* Update While, For and ForEach activities
2019-12-28 10:56:12 +01:00
Sipke Schoorstra ebc2a4a89e
Added VariableExpression (#217)
* Add VariableExpression

* Workflow Runner bug fixes
2019-12-25 12:10:39 +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 0fbb47ff8f Fix broken Sample23 2019-12-21 10:45:16 +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