Commit graph

112 commits

Author SHA1 Message Date
Sipke Schoorstra 3d0d372de3 Optimize workflow selector 2020-10-17 15:38:27 +02:00
Sipke Schoorstra 72caccb6a6 Update ReceiveHttpRequest using new trigger API 2020-10-17 13:51:27 +02:00
Sipke Schoorstra f4cad1c5c8 Revert "Update Hello World HTTP sample to use in-memory provider"
This reverts commit 6ffb504cd1.
2020-10-17 12:49:51 +02:00
Sipke Schoorstra 8423fde504 Incremental work on trigger API 2020-10-17 12:49:41 +02:00
Sipke Schoorstra 6ffb504cd1 Update Hello World HTTP sample to use in-memory provider 2020-10-17 09:16:18 +02:00
Sipke Schoorstra bbf0cfa8f8 Fix solution build 2020-10-16 20:52:32 +02:00
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 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 e8b59aeb84 Incremental work on serialization of workflow definitions and instances 2020-04-19 12:26:36 +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 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
Sipke Schoorstra 5fcdba0e5b Incremental work on TimesheetManager example 2020-03-08 13:48:31 +01:00
Sipke Schoorstra 299d465570 Added some samples 2020-02-18 22:29:44 +01:00
Sipke Schoorstra 60bfb4e7b2
Added Graphql (#246)
* Added GraphQL using Hot Chocolate
2020-02-15 20:32:16 +01:00
Sipke Schoorstra 7e040aca51 Update CronEvent 2020-01-18 21:25:30 +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 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
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 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 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 7b94637386
Code-first improvements (#223)
* Refactor workflow model and scheduler

* Improve workflow builder API
2020-01-12 20:15:57 +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 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
Sipke Schoorstra 1daf8e25a0 Remove compiler warnings 2019-12-17 21:44:40 +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
Sipke Schoorstra 61c9ac48c7 Update packages 2019-12-10 15:46:49 +01:00
Sipke Schoorstra 21744a5056 Update Sample04 with printing execution log to console 2019-12-04 13:10:47 +01:00
Sipke Schoorstra dce24b4f3b Refactor rename to updated workflow terminology 2019-11-29 13:32:05 +01:00