Commit graph

298 commits

Author SHA1 Message Date
Sipke Schoorstra a0a68679bc Implement activity property setters 2020-10-03 12:48:25 +02:00
Sipke Schoorstra a6977a6a43 Update packages 2020-08-21 09:25:45 +02:00
Ankit Sarkar b408b33c33
Fix#228: Add Redis distributed lock provider (#330)
* Fix#325:Elsa 2#RunWorkflowDefinitionAsync getting object reference null

* Fix#328: Rephrased error message

* activityId should not be mandatory while using RunWorkflowDefinitionAsync

* Fix#228:Add Redis distributed lock provider

* Removed unnecessary namespaces

* Fix#228: Add Redis distributed lock provider, Re-architeched the soultion which includes
 - Remove of StartAsync
 - Auto Recover of Transient error

* Fix#228: Add Redis distributed lock provider, This includes below enhqncement
 - Better Log Management,
 -  Return false instead of throwing error in while unable to acquire lock

* Fix#228: Merge Conflict

* Fix#228: Solving Merge Conflict

* Fix#Merge Conflict

* Fix#228: Add Redis distributed lock provider #330 - Merge Conflict

* Fix#228: Add Redis distributed lock provider, Updated Log message as suggested in PR#332

Co-authored-by: Ankit Sarkar <ankt.srkr@live.in>
2020-07-15 11:52:53 +02:00
Ankit Sarkar 02cad73af0
fix#227: Add Azure Blob Storage distributed lock provider (#332)
* Fix#325:Elsa 2#RunWorkflowDefinitionAsync getting object reference null

* Fix#328: Rephrased error message

* activityId should not be mandatory while using RunWorkflowDefinitionAsync

* Fix#228:Add Redis distributed lock provider

* Removed unnecessary namespaces

* fix#227: Add Azure Blob Storage distributed lock provider

* Fix#228: Add Redis distributed lock provider, Re-architeched the soultion which includes
 - Remove of StartAsync
 - Auto Recover of Transient error

* fix#227: Add Azure Blob Storage distributed lock provider, Contains below enhancement -
 - Removed dependency of DistributedLockProvider
 - Better Log management

* Fix#228: Add Redis distributed lock provider, This includes below enhqncement
 - Better Log Management,
 -  Return false instead of throwing error in while unable to acquire lock

* fix#227: Add Azure Blob Storage distributed lock provider , This includes
 - Validate name before creating lease

* fix#227: Add Azure Blob Storage distributed lock provider updated message for ILogger

* fix#227: Moved literal values into a constant field, added Azure Lease Blob link for reference

Co-authored-by: Ankit Sarkar <ankt.srkr@live.in>
2020-07-14 15:24:07 +02:00
Ankit Sarkar abf24557f3
Fix#325:Elsa 2#RunWorkflowDefinitionAsync getting object reference null (#328)
* Fix#325:Elsa 2#RunWorkflowDefinitionAsync getting object reference null

* Fix#328: Rephrased error message

* activityId should not be mandatory while using RunWorkflowDefinitionAsync

Co-authored-by: Ankit Sarkar <ankt.srkr@live.in>
2020-06-14 12:33:43 +02:00
Sipke Schoorstra dd0e123828 Update packages 2020-04-19 15:39:28 +02:00
Sipke Schoorstra 767f0391a0 Fix icon and add publish to GitHub Nuget feed 2020-04-19 13:10:30 +02:00
Sipke Schoorstra e8b59aeb84 Incremental work on serialization of workflow definitions and instances 2020-04-19 12:26:36 +02:00
Sipke Schoorstra 1dd8db0c37 Various ForEach + WorkflowHost fixes 2020-04-19 10:32:10 +02:00
Sipke Schoorstra 56c404fe86 Apply Literal expression handler fix 2020-04-17 20:42:37 +02:00
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