Commit graph

194 commits

Author SHA1 Message Date
Sipke Schoorstra a54fd3920b Add opt-in support for auto-running migrations when using non-pooled contexts 2021-05-06 20:07:59 +02:00
Sipke Schoorstra 78b140ddd8 Add more DB indexes for increased performance (and reduced CPU) 2021-05-06 18:15:01 +02:00
Craig Fowler 425792baed Resolve #930 - EF migrations now auto-run again
Migrations should auto-run by default if the user chose
pooled Db Contexts.  They must not auto-run if they chose
non-pooled contexts.
2021-05-05 00:24:28 +02:00
Sipke Schoorstra 805d234df4 Cleanup 2021-05-04 10:59:52 +02:00
Sipke Schoorstra 2ec915dabe Merge branch 'feature/elsa-2.0'
# Conflicts:
#	.gitignore
#	Dockerfile
#	Nuget.Config
#	README.md
#	Samples.sln
#	appveyor.yml
#	docker-compose.yaml
#	src/activities/Elsa.Activities.ControlFlow/Activities/ForEach.cs
#	src/activities/Elsa.Activities.ControlFlow/Activities/IfElse.cs
#	src/activities/Elsa.Activities.ControlFlow/Activities/Join.cs
#	src/activities/Elsa.Activities.ControlFlow/Activities/Switch.cs
#	src/activities/Elsa.Activities.ControlFlow/Activities/While.cs
#	src/activities/Elsa.Activities.ControlFlow/icon.png
#	src/activities/Elsa.Activities.Dropbox/Extensions/ServiceCollectionExtensions.cs
#	src/activities/Elsa.Activities.Dropbox/icon.png
#	src/activities/Elsa.Activities.Email/Activities/SendEmail.cs
#	src/activities/Elsa.Activities.Email/icon.png
#	src/activities/Elsa.Activities.Http/Activities/ReceiveHttpRequest.cs
#	src/activities/Elsa.Activities.Http/Activities/Redirect.cs
#	src/activities/Elsa.Activities.Http/Activities/SendHttpRequest.cs
#	src/activities/Elsa.Activities.Http/Activities/WriteHttpResponse.cs
#	src/activities/Elsa.Activities.Http/RequestHandlers/Handlers/TriggerRequestHandler.cs
#	src/activities/Elsa.Activities.Http/icon.png
#	src/activities/Elsa.Activities.MassTransit/Activities/CancelScheduledSendMassTransitMessage.cs
#	src/activities/Elsa.Activities.MassTransit/Activities/MassTransitBusActivity.cs
#	src/activities/Elsa.Activities.MassTransit/Activities/ReceiveMassTransitMessage.cs
#	src/activities/Elsa.Activities.MassTransit/Extensions/ServiceCollectionExtensions.cs
#	src/activities/Elsa.Activities.MassTransit/icon.png
#	src/activities/Elsa.Activities.Reflection/Activities/ExecuteFunction.cs
#	src/activities/Elsa.Activities.Reflection/icon.png
#	src/activities/Elsa.Activities.Timers/Activities/CronEvent.cs
#	src/activities/Elsa.Activities.Timers/Activities/TimerEvent.cs
#	src/activities/Elsa.Activities.Timers/Elsa.Activities.Timers.csproj
#	src/activities/Elsa.Activities.Timers/icon.png
#	src/activities/Elsa.Activities.UserTask/Activities/UserTask.cs
#	src/activities/Elsa.Activities.UserTask/icon.png
#	src/activities/Elsa.Activities.Workflows/Activities/Finish.cs
#	src/activities/Elsa.Activities.Workflows/Activities/TriggerWorkflow.cs
#	src/activities/Elsa.Activities.Workflows/icon.png
#	src/core/Elsa.Abstractions/Converters/TypeNameHandlingConverter.cs
#	src/core/Elsa.Abstractions/Exceptions/WorkflowException.cs
#	src/core/Elsa.Abstractions/Models/ActivityDefinition.cs
#	src/core/Elsa.Abstractions/Models/BlockingActivity.cs
#	src/core/Elsa.Abstractions/Models/Variables.cs
#	src/core/Elsa.Abstractions/Models/WorkflowFault.cs
#	src/core/Elsa.Abstractions/Models/WorkflowInstance.cs
#	src/core/Elsa.Abstractions/Services/ActivityBase.cs
#	src/core/Elsa.Abstractions/Services/IWorkflowEventHandler.cs
#	src/core/Elsa.Abstractions/Services/Models/Workflow.cs
#	src/core/Elsa.Abstractions/Services/Models/WorkflowExecutionContext.cs
#	src/core/Elsa.Abstractions/Services/Models/WorkflowFault.cs
#	src/core/Elsa.Abstractions/Services/WorkflowEventHandlerBase.cs
#	src/core/Elsa.Abstractions/icon.png
#	src/core/Elsa.Core/Expressions/WorkflowExpressionEvaluator.cs
#	src/core/Elsa.Core/Extensions/AutoMapperServiceCollectionExtensions.cs
#	src/core/Elsa.Core/Extensions/ElsaServiceCollectionExtensions.cs
#	src/core/Elsa.Core/Mapping/WorkflowDefinitionProfile.cs
#	src/core/Elsa.Core/Persistence/Memory/MemoryWorkflowInstanceStore.cs
#	src/core/Elsa.Core/Results/FaultWorkflowResult.cs
#	src/core/Elsa.Core/Runtime/StartupRunnerHostedService.cs
#	src/core/Elsa.Core/Services/WorkflowInvoker.cs
#	src/core/Elsa.Core/Services/WorkflowPublisher.cs
#	src/core/Elsa.Core/WorkflowBuilders/ActivityBuilder.cs
#	src/core/Elsa.Core/icon.png
#	src/core/Elsa/icon.png
#	src/dashboard/Elsa.Dashboard.Web/Elsa.Dashboard.Web.csproj
#	src/dashboard/Elsa.Dashboard.Web/Startup.cs
#	src/dashboard/Elsa.Dashboard.Web/icon.png
#	src/dashboard/Elsa.Dashboard/ActionFilters/NotifierFilter.cs
#	src/dashboard/Elsa.Dashboard/Areas/Elsa/Views/Shared/UserMenuItems.cshtml
#	src/dashboard/Elsa.Dashboard/Areas/Elsa/Views/Shared/WorkflowDefinitionEditor.cshtml
#	src/dashboard/Elsa.Dashboard/Areas/Elsa/Views/_ViewImports.cshtml
#	src/dashboard/Elsa.Dashboard/Conventions/ElsaConvention.cs
#	src/dashboard/Elsa.Dashboard/Elsa.Dashboard.csproj
#	src/dashboard/Elsa.Dashboard/Extensions/DashboardServiceCollectionExtensions.cs
#	src/dashboard/Elsa.Dashboard/icon.png
#	src/dashboard/Elsa.WorkflowDesigner/Elsa.WorkflowDesigner.csproj
#	src/dashboard/Elsa.WorkflowDesigner/ViewComponents/WorkflowDesignerViewComponent.cs
#	src/dashboard/Elsa.WorkflowDesigner/icon.png
#	src/persistence/Elsa.Persistence.DocumentDb/DocumentDbStorage.cs
#	src/persistence/Elsa.Persistence.DocumentDb/DocumentDbStorageOptions.cs
#	src/persistence/Elsa.Persistence.DocumentDb/Documents/WorkflowDefinitionVersionDocument.cs
#	src/persistence/Elsa.Persistence.DocumentDb/Documents/WorkflowInstanceDocument.cs
#	src/persistence/Elsa.Persistence.DocumentDb/Elsa.Persistence.DocumentDb.csproj
#	src/persistence/Elsa.Persistence.DocumentDb/Extensions/DateTimeExtensions.cs
#	src/persistence/Elsa.Persistence.DocumentDb/Extensions/DocumentClientExtensions.cs
#	src/persistence/Elsa.Persistence.DocumentDb/Extensions/QueryableExtensions.cs
#	src/persistence/Elsa.Persistence.DocumentDb/Extensions/ServiceConfigurationExtensions.cs
#	src/persistence/Elsa.Persistence.DocumentDb/Mapping/DocumentProfile.cs
#	src/persistence/Elsa.Persistence.DocumentDb/Services/CosmosDbWorkflowDefinitionStore.cs
#	src/persistence/Elsa.Persistence.DocumentDb/Services/CosmosDbWorkflowInstanceStore.cs
#	src/persistence/Elsa.Persistence.DocumentDb/icon.png
#	src/persistence/Elsa.Persistence.EntityFrameworkCore/CustomSchema/CustomSchemaOptionsExtensionInfo.cs
#	src/persistence/Elsa.Persistence.EntityFrameworkCore/DbContexts/ElsaContext.cs
#	src/persistence/Elsa.Persistence.EntityFrameworkCore/DbContexts/MySqlContext.cs
#	src/persistence/Elsa.Persistence.EntityFrameworkCore/DbContexts/MySqlContextFactory.cs
#	src/persistence/Elsa.Persistence.EntityFrameworkCore/DbContexts/PostgreSqlContext.cs
#	src/persistence/Elsa.Persistence.EntityFrameworkCore/DbContexts/SqlServerContext.cs
#	src/persistence/Elsa.Persistence.EntityFrameworkCore/DbContexts/SqliteContext.cs
#	src/persistence/Elsa.Persistence.EntityFrameworkCore/Elsa.Persistence.EntityFrameworkCore.csproj
#	src/persistence/Elsa.Persistence.EntityFrameworkCore/Entities/WorkflowInstanceEntity.cs
#	src/persistence/Elsa.Persistence.EntityFrameworkCore/Extensions/EFCoreServiceCollectionExtensions.cs
#	src/persistence/Elsa.Persistence.EntityFrameworkCore/Mapping/EntitiesProfile.cs
#	src/persistence/Elsa.Persistence.EntityFrameworkCore/Migrations/MySql/MySqlContextModelSnapshot.cs
#	src/persistence/Elsa.Persistence.EntityFrameworkCore/Migrations/PostgreSql/20201027192219_Update02.Designer.cs
#	src/persistence/Elsa.Persistence.EntityFrameworkCore/Migrations/PostgreSql/PostgreSqlContextModelSnapshot.cs
#	src/persistence/Elsa.Persistence.EntityFrameworkCore/Migrations/SqlServer/SqlServerContextModelSnapshot.cs
#	src/persistence/Elsa.Persistence.EntityFrameworkCore/Migrations/Sqlite/20201029094740_Create.Designer.cs
#	src/persistence/Elsa.Persistence.EntityFrameworkCore/Migrations/Sqlite/20201029094740_Create.cs
#	src/persistence/Elsa.Persistence.EntityFrameworkCore/Migrations/Sqlite/SqliteContextModelSnapshot.cs
#	src/persistence/Elsa.Persistence.EntityFrameworkCore/Services/EntityFrameworkCoreWorkflowDefinitionStore.cs
#	src/persistence/Elsa.Persistence.EntityFrameworkCore/Services/EntityFrameworkCoreWorkflowInstanceStore.cs
#	src/persistence/Elsa.Persistence.EntityFrameworkCore/icon.png
#	src/persistence/Elsa.Persistence.MongoDb/Extensions/ServiceCollectionExtensions.cs
#	src/persistence/Elsa.Persistence.MongoDb/icon.png
#	src/persistence/Elsa.Persistence.YesSql/Documents/WorkflowInstanceDocument.cs
#	src/persistence/Elsa.Persistence.YesSql/Extensions/YesSqlServiceCollectionExtensions.cs
#	src/persistence/Elsa.Persistence.YesSql/Mapping/DocumentProfile.cs
#	src/persistence/Elsa.Persistence.YesSql/Services/YesSqlWorkflowDefinitionStore.cs
#	src/persistence/Elsa.Persistence.YesSql/Services/YesSqlWorkflowInstanceStore.cs
#	src/persistence/Elsa.Persistence.YesSql/StartupTasks/InitializeStoreTask.cs
#	src/persistence/Elsa.Persistence.YesSql/icon.png
#	src/samples/README.md
#	src/samples/Sample04/Activities/ArithmeticOperation.cs
#	src/samples/Sample04/Activities/Divide.cs
#	src/samples/Sample04/Activities/Multiply.cs
#	src/samples/Sample04/Activities/Subtract.cs
#	src/samples/Sample04/Activities/Sum.cs
#	src/samples/Sample04/Program.cs
#	src/samples/Sample05/Sample05.csproj
#	src/samples/Sample07/Startup.cs
#	src/samples/Sample08/Sample08.csproj
#	src/samples/Sample08/Startup.cs
#	src/samples/Sample12/Program.cs
#	src/samples/Sample14/ElsaContextFactory.cs
#	src/samples/Sample14/Program.cs
#	src/samples/Sample14/Sample14.csproj
#	src/samples/Sample18/Program.cs
#	src/samples/Sample18/Sample18.csproj
#	src/samples/Sample19/Sample19.csproj
#	src/samples/Sample20/Workflows/SplitObjectWorkflow.cs
#	src/samples/Sample21/Sample21.csproj
#	src/samples/Sample21/Startup.cs
#	src/samples/Sample21/Workflows/CartTrackingWorkflow.cs
#	src/samples/Sample21/appsettings.json
#	src/samples/Sample22/Program.cs
#	src/samples/Sample22/Sample22.csproj
#	src/samples/Sample23/ElsaContextFactory.cs
#	src/samples/Sample23/HelloWorldWorkflow.cs
#	src/samples/Sample23/Migrations/Sqlite/20201027194619_Create.Designer.cs
#	src/samples/Sample23/Migrations/Sqlite/20201027194619_Create.cs
#	src/samples/Sample23/Migrations/Sqlite/ElsaContextModelSnapshot.cs
#	src/samples/Sample23/Program.cs
#	src/samples/Sample23/Sample23.csproj
#	src/samples/Sample24/Sample24.csproj
#	src/scripting/Elsa.Scripting.JavaScript/Converters/TruncatingNumberJsonConverter.cs
#	src/scripting/Elsa.Scripting.JavaScript/Handlers/CommonJavaScriptEngineHandler.cs
#	src/scripting/Elsa.Scripting.JavaScript/Services/JavaScriptExpressionEvaluator.cs
#	src/scripting/Elsa.Scripting.JavaScript/icon.png
#	src/scripting/Elsa.Scripting.Liquid/Handlers/CommonLiquidContextHandler.cs
#	src/scripting/Elsa.Scripting.Liquid/Services/LiquidExpressionEvaluator.cs
#	src/scripting/Elsa.Scripting.Liquid/icon.png
2021-05-04 10:53:55 +02:00
Sipke Schoorstra 9e273dc964 Add initial support for custom DbContexts derived from ElsaContext and default to "Elsa" schema 2021-05-03 22:22:03 +02:00
Sipke Schoorstra 27dc5c64c8 Update YesSQL migrations 2021-05-03 13:07:21 +02:00
Sipke Schoorstra 7ec6ada35f Fix that composite child activities are displayed on workflow viewer
Fixes #922
2021-05-02 20:05:36 +02:00
tomy2105 27e0e76884 Adding DbContextOptionsBuilderExtensions 2021-04-29 12:27:12 +02:00
Sipke Schoorstra 1712d60be1 Update MySql migrations 2021-04-26 14:42:27 +02:00
Sipke Schoorstra da7b751105 Some cleanup 2021-04-26 14:26:37 +02:00
Erol Keskin 8f429a5cc1 Add MySql EntityFramework Provider 2021-04-26 14:22:17 +02:00
Sipke Schoorstra 576a0e50e8 Add Tag property 2021-04-26 10:09:46 +02:00
Sipke Schoorstra cd75cefdd1 Fix YesSql workflow definition find document logic 2021-04-21 17:02:29 +02:00
Sipke Schoorstra 33250c9bbd Add EventName property to ActivityExecutionLogRecord (replacing Message property) 2021-04-20 10:31:35 +02:00
Sipke Schoorstra 5be9025f71 Add workflow execution log indexes for EF Core provider 2021-04-16 15:47:11 +02:00
Sipke Schoorstra a07231ff99 Fix YesSQL provider and update samples 2021-04-16 14:56:02 +02:00
Sipke Schoorstra c1a5981485 Implement Delete and Bulk Delete 2021-04-09 17:01:15 +02:00
Sipke Schoorstra 9774e35e12 Fix date conversion issue with Sqlite provider 2021-04-09 17:01:15 +02:00
Craig Fowler 22326f1bab Resolve #751 - Fixes the reported problem 2021-04-07 22:26:21 +01:00
Craig Fowler 8798d6bd42 WIP #751 - Fix an issue with migrations
Rather oddly, the migrations weren't committing, and so the index
tables never got created.
2021-04-07 22:25:49 +01:00
Craig Fowler 53b16dee4f WIP #751 - Fix a bug in YesSQL init
As of this commit, the integration test fails for the exact same reason
as the reported issue describes.
2021-04-07 21:11:40 +01:00
Craig Fowler fa7601ca1a WIP #751 - Add integration test for using Postgres
From this commit onwards, in order to run all of the tests, you
must now have postgresql installed and running on your dev
environment.  The credentials/config is:
* Database name: elsa-yessql
* Username: postgres (this is the default anyway)
* Password: Password12! (this matches AppVeyor's postgres password)
* Port: 5432 (this is the default anyway)
2021-04-07 20:38:13 +01:00
Sipke Schoorstra ae46e0e143 Update packages and accommodate for breaking changes 2021-04-07 14:48:30 +02:00
Sipke Schoorstra 74839211b8 Mark Z.EntityFramework.Plus.EFCore with private assets = all 2021-04-07 13:34:51 +02:00
Sipke Schoorstra df6ad74eec Replace custom distributed locking implementation with DistributedLock
https://github.com/madelson/DistributedLock
2021-04-07 13:13:13 +02:00
Sipke Schoorstra bcfc5ec966 Update packages 2021-04-06 12:10:27 +02:00
Sipke Schoorstra 4cf43882dc Update packages 2021-04-02 12:43:14 +02:00
Sipke Schoorstra 0434b4825a Update packages 2021-03-18 11:24:04 +01:00
Sipke Schoorstra 0c15c94ea7
Telnyx Activities (#768)
* Fix liquid syntax for accessing activity output

* Initial scaffolding of Telnyx module + API changes

* Make Telnyx Notification activity blocking

* Implement Telnyx correlation

* Post workflow suspension tasks improvements

* Add Telnyx activities

* Add HangupCall and TransferCall activities

* Call activity improvements
2021-03-17 13:07:14 +01:00
Craig Fowler 7804e35d68 WIP #748 - Extend EF Core to support multi-tenant
This adds new elective functionality to EF Core persistence:
* Use non-pooled DB Contexts
* Allow control of (non pooled) DB Contexts service lifetimes
2021-03-13 12:59:43 +00:00
Sipke Schoorstra 044caf533f MongoDB provider improvements 2021-03-11 22:50:50 +01:00
David Peters 69d2260333 Sqlite indicies 2021-03-08 22:10:17 +01:00
David Peters 3d12e8969a WIP: SQL Server cant't index nvarchar(max) fields 2021-03-08 22:10:17 +01:00
David Peters 006101499b postgres migration 2021-03-08 22:10:17 +01:00
David Peters 0aa2f7d8b0 added EFCore indicies 2021-03-08 22:10:17 +01:00
Sipke Schoorstra bbf04fb5c3 Update YesSql provider 2021-03-08 15:14:02 +01:00
Sipke Schoorstra d53aee02be Update migrations 2021-03-08 15:14:02 +01:00
David Peters 51f9ed11f8 Added PostgreSql EFcore provider 2021-03-04 16:54:06 +01:00
Sipke Schoorstra f048e6d3ef
Refactor Switch builder API (#649)
* Refactor Switch builder API

* Remove unused namespaces
2021-02-20 20:47:56 +01:00
Sipke Schoorstra ce7222af28 Small MongoDB provider improvements 2021-02-17 21:43:42 +01:00
Sipke Schoorstra 86980a752e
Designer web component (#636)
* Activity picker dialog

* Activity picker

* Activity editor

* Activity property fields

* Blazor bindings for Elsa designer

* Only index triggers from published & enabled workflow definitions

* Handle case of null workflow blueprint not found

* Add check for zero duration and general scheduler exceptions

* Don't rethrow expression evaluation failure

* Workflow definition settings editor modal

* Integration between stencil and blazor 🎉

* Fix expression type conversion

* Add publish button and restructure components

* Fix up workflow definition ID vs workflow definition version ID

* Update EF Core migrations

* Fix Workflow Publisher

* Fix version display

* Add Import menu item
2021-02-16 09:55:13 +01:00
steved 3c63108dd1
2 bug fixes: (#633)
376
Self-referential loop in CustomSchemaOptionsExtensionInfo
https://github.com/elsa-workflows/elsa-core/issues/376

331
"Input" is the property of workflowinstance,but it is empty in database
https://github.com/elsa-workflows/elsa-core/issues/331

Co-authored-by: DiGregorio, Stephen <SDiGregorio@allegromicro.com>
2021-02-15 18:06:43 +01:00
Sipke Schoorstra 173107de12
Add Blazor Dashboard Workflow Instance List View extensibility (#617)
* Add extensibility support for workflow instance Context Menu
* Add extensibility support for workflow instance Bulk Actions
2021-02-10 12:53:45 +01:00
Sipke Schoorstra d0523439ad Fix WorkflowInstanceDocument mapping issue and use SimpleStack 2021-02-01 16:14:32 +01:00
Sipke Schoorstra 2f29dc379c Upgrade to .NET Standard 2.1 2021-01-31 18:44:57 +01:00
Sipke Schoorstra 7a68bb920e Add convenient Sqlite extension with useful defaults 2021-01-31 12:51:40 +01:00
Sipke Schoorstra e6a68a0476 Fix EF core store
Entities were no longer updated due to the new short-lived DbContext approach
2021-01-31 12:51:05 +01:00
Sipke Schoorstra 2c7b20846a Fix Stack serialization 2021-01-31 12:49:06 +01:00
Sipke Schoorstra 420e2e65c5 Add caching layer to WorkflowRegistry 2021-01-30 20:11:08 +01:00