Commit graph

53 commits

Author SHA1 Message Date
Sipke Schoorstra bd3b41440a Incremental work on tests and QA 2020-10-19 22:12:11 +02:00
Sipke Schoorstra 6dad26ac3c Update Samples.sln and remove stale samples Readme.md 2020-10-18 17:57:59 +02:00
Sipke Schoorstra ad429dbee1 Rename sample project to reflect For activity demo 2020-10-18 17:10:48 +02:00
Sipke Schoorstra 7c8b4a1018 Add For activity builder extensions and add sample 2020-10-18 17:05:48 +02:00
Sipke Schoorstra bbf0cfa8f8 Fix solution build 2020-10-16 20:52:32 +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 9394f419b9 Fix solution file 2020-10-06 15:12:43 +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 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 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 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 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 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 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 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 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
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 98fe6d21d7 Add SQL Server example 2019-11-26 22:54:06 +01:00
Sipke Schoorstra baef007e2b Incremental work on GraphQL 2019-11-22 23:07:31 +01:00
Peter Davis e05192086e Scheduled MassTransit message delivery (#175)
Creating a sample workflow with scheduled message delivery

* Add MassTransit quartz job factory

* Add cancel schedule message activity

* Correlate MassTransit messages to workflow based on message properties

* Add cart expired and submitted workflow steps

* Add message schedule options configuration

* Code cleanup

* Update launch settings

* Cleanup send and publish activities

* Add scheduled time expression property
2019-11-21 08:14:01 +01:00
Sipke Schoorstra b545fd2aea
Add Dockerfile and docker-compose (#186)
Fixes #142
2019-11-19 19:25:56 +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
Sipke Schoorstra d1f7ce47b7
EF Core Provider rewrite (#165)
* Fixed EF provider

Fixes #144 , #145
2019-11-16 14:06:53 +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 dc0a68c37d Add activity output example 2019-10-24 17:56:36 +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 7c9aa93525 Formatting and some cleanup 2019-09-28 10:50:10 +02:00
Sipke Schoorstra 8fdc93952b Add Dropbox activity 2019-09-22 21:33:32 +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 d530853eaa
Add MongoDB persistence provider and fix other providers (#64) 2019-09-08 11:45:35 +02:00
Sipke Schoorstra 9ecd9309d5
Add dashboard middleware (#62)
* Incremental work on dashboard

* Updated models

* Various improvements:

- Delete
- Draft / Publish
- Fix JSON Patch for JObject

* Update workflow-definitions view

* Update packages

* Update workflow editor
2019-08-07 21:12:47 +02:00
Sipke Schoorstra 19e45d1c16
Implemented EF Core provider (#58) 2019-07-26 19:10:43 +02:00
Sipke Schoorstra 9070aa9070
Implemented activity outputs (#57) 2019-07-25 22:00:44 +02:00
Sipke Schoorstra 12448cde5b
Added UserTask activity (#55) 2019-07-25 18:10:17 +02:00