Commit graph

183 commits

Author SHA1 Message Date
Sipke Schoorstra d9d567a489 Incremental work on blueprints 2020-10-11 22:02:14 +02:00
Sipke Schoorstra 7a7d032e9e Remove unused namespaces 2020-10-11 14:33:56 +02:00
Sipke Schoorstra 7e45845a47 Introduce Workflow Instance Manager and Workflow Definition Manager 2020-10-11 14:33:18 +02:00
Sipke Schoorstra 5b02ca2813 Incremental work on migrations 2020-10-10 22:14:10 +02:00
Sipke Schoorstra 1a85fc5f26 Implement in-memory provider 2020-10-10 21:10:09 +02:00
Sipke Schoorstra e1f5b6a8a5 Implement YesSql 2020-10-10 17:13:52 +02:00
Sipke Schoorstra 2673d07c63 WIP: YesSql 2020-10-09 22:26:19 +02:00
Sipke Schoorstra 899f12e35f Cleanup and apply new field naming convention 2020-10-09 19:52:54 +02:00
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 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 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 f3f5b2d931
Fix missing mapping issues (#279) 2020-04-02 22:11:13 +02: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
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 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 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 e46f59d30e
Update packages (#233) 2020-01-15 22:39:47 +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
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
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 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