Sipke Schoorstra
f14278f2dc
Fix YesSQL provider for bookmarks
...
Fixes #1604
2021-10-06 21:47:23 +02:00
Sipke Schoorstra
0232e47f4d
Backwards compatibility for older workflow instances
2021-10-05 17:36:15 +02:00
axeleron007
f9923b5ca1
Intermediate commit to the PR requests
2021-09-29 12:36:32 +03:00
axeleron007
8e1144435e
SignalRConnectionId and IsTest flag are removed from blueprint classes
2021-09-27 15:40:19 +03:00
axeleron007
08235ce8d4
Merge branch 'master' into manual_workflow_trigger
2021-09-14 15:19:10 +03:00
axeleron007
14c7582a32
Workflow Execution development
2021-09-13 18:29:40 +03:00
Andrey Mishurinsky
ef37f87514
Disable workflow ( #1336 )
...
* Publish/Subscribe events added to WorkflowSettings and WorkflowRegistry
* Workflow Registry re-indexed and cache refreshed on workflow disable/enable
* IsDisabled property added to WorkflowBlueprintSummary to display disabled status in the UI
* MySql, PostgreSql and SqlServer persistence added to Workflow Settings
* Validation for disabled workflow in Workflow Resumer
* WorkflowSettings configuration added to the appsettings.json
* Workflow Settings added to Elsa.Server.Host startup collection
* IWorkflowSettingsProvider implemented
* Update README.md
* Elsa-Workflow-Settings and Elsa-Webhooks separate modules added and decoupled from Elsa Web
* Delete unused Client projects
* LoadWorkflowSettingsDisabledHandler changes
* FeatureProvider removed, Webhooks plugin merged to Webhooks Feature Plugin
* Update Webhooks and Settings plugin
Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
2021-09-02 16:20:10 +02:00
Sipke Schoorstra
fc954d9968
Improve error messages
...
Closes #1425
2021-08-31 16:09:04 +02:00
Sipke Schoorstra
f7a63b80c5
Reduce number of DB commits during workflow execution
2021-08-23 11:57:50 +02:00
Sipke Schoorstra
42e95033cf
BREAKING: Persistable input ( #1302 )
...
* Implement resuming Idle workflows + persistable input
* Refactor workflow input model
* Re-enable tests
2021-07-22 22:13:33 +02:00
Sipke Schoorstra
e890c685e1
Improve Finish activity for sending output back to parent
...
This update automatically resolves the output reference (if any) and passes that to the parent instead of the output reference
2021-07-11 12:10:16 +02:00
Sipke Schoorstra
c00585241e
Fix workflow resumption when using ActivityExecuted and WorkflowPassCompleted strategies
...
Fixes #1182
2021-07-03 22:01:33 +02:00
Sipke Schoorstra
a3fd1a31af
Implement workflow priority channels
2021-06-28 22:38:05 +02:00
Sipke Schoorstra
6050c99c23
Resolve warnings
2021-06-19 11:41:02 +02:00
Sipke Schoorstra
f67140f7e2
Cleanup
2021-06-14 14:10:03 +02:00
Sipke Schoorstra
9ec82d9293
Refactor Output handling
2021-06-14 14:10:03 +02:00
Sipke Schoorstra
1db05d3b0b
Update models and UI to support configurable activity output storage
2021-06-14 14:10:03 +02:00
Sipke Schoorstra
332741d54f
Implement pluggable storage for activity input and output properties
2021-06-14 14:10:03 +02:00
Sipke Schoorstra
6a49f7a991
Stash input output storage
2021-06-14 14:10:03 +02:00
Sipke Schoorstra
757a2f566f
Refactor activity state serialization to support property types typed as object
2021-06-07 22:04:36 +02:00
Sipke Schoorstra
ea40ad1121
More correlation fixes
2021-06-07 15:21:36 +02:00
Sipke Schoorstra
58af0c7ca0
Rename ActivityPropertyAttribute to ActivityInputAttribute
2021-05-30 12:51:58 +02:00
Sipke Schoorstra
68e5be0159
Fix issue with SwitchHandler and Switch display on workflow blueprint viewer when using expressions that cannot be evaluated
2021-05-28 20:21:45 +02:00
Sipke Schoorstra
3f4bbed7b6
Update XML comments on VersionOptions
2021-05-25 13:34:53 +02:00
Sipke Schoorstra
e724d6030a
Incremental work on workflow journal UI
2021-05-20 11:05:52 +02:00
Sipke Schoorstra
e95e43bf36
Improve workflow signaling
2021-05-15 21:21:47 +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
576a0e50e8
Add Tag property
2021-04-26 10:09:46 +02:00
Sipke Schoorstra
33250c9bbd
Add EventName property to ActivityExecutionLogRecord (replacing Message property)
2021-04-20 10:31:35 +02:00
Sipke Schoorstra
4fcfaf61f9
Update Workflow ctor to read variables from definition
2021-04-12 10:19:26 +02:00
Sipke Schoorstra
35248ef43f
Require explicit syntax for getting expression
2021-04-04 15:37:28 +02:00
Sipke Schoorstra
6996d41376
Incremental work on property editor modes
2021-04-04 15:37:28 +02: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
5c927501d0
PR rework #728 - Default persistence behavior
...
This reworks the way that the default behavior is selected, in line
with comments. The changes to the enum are reverted, and the
three places which create a workflow definition are now altered to
explicitly choose WorkflowBurst
This includes a change to the TS enum definition - update to match
its C# counterpart.
2021-03-10 20:08:53 +00:00
Craig Fowler
8751bead5a
WIP #728 - Make WorkflowBurst default behaviour
...
In the comments to #728 it was suggested that
WorkflowBurst persistence behaviour was a more
sane default.
2021-03-09 19:57:45 +00:00
Sipke Schoorstra
62352e27ac
Remove IsEnabled flag
2021-03-08 15:14:02 +01:00
Sipke Schoorstra
dc95276abb
Update SendEmail activity property UI hints
2021-03-06 09:40:49 +01:00
Sipke Schoorstra
6eadac5736
Improve javascript engine
2021-03-04 17:45:59 +01:00
Sipke Schoorstra
a14f7cc267
Expressions editor ( #695 )
...
* A functioning monaco editor
* Incremental work on intellisense
* Add Workflow Context Options settings to designer
* Rudimentary work on variables
2021-03-02 09:00:51 +01:00
Sipke Schoorstra
046cf53b06
Add WorkflowExecutionBurstStarting event to allow for persisting status changes before executing activities that potentially take a long time to finish ( #666 )
...
* Add WorkflowExecutionBurstStarting event to allow for persisting status changes before executing activities that potentially take a long time to finish
* Also persist workflow instance when burst is starting and behavior set to WorkflowPassCompleted
2021-02-25 15:43:12 +01:00
Craig Fowler
b583c7f1a9
Resolves #485 - Add PurgeVariables functionality ( #654 )
...
* Trivial - Add VS Code workspace
* Trivial - Add VSCode build task & extra ignore
On GNU/Linux, auto-generated .directory
files should be ignored.
* WIP #485 - Boilerplate for unit test project
* WIP #485 - Add test coverage (Remove/RemoveAll)
* WIP #485 - Implement RemoveAll
* Remove redundant logic, covered by IDictionary
Per the following, the contract for a generic IDictionary,
the Remove method already deals with non-existent keys.
https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.idictionary-2.remove?view=net-5.0#System_Collections_Generic_IDictionary_2_Remove__0_
* Resolve #485 - Add PurgeVariables methods
These are convenience methods upon ActivityExecutionContext
and WorkflowExecutionContext, consistent with their current APIs.
Also in this commit are tests for those simple methods.
There's a bit of test-scaffold as well included, such as:
* Autofixture Xunit2 integration
* New project for unit tests
* Customize attribute for avoiding crashes on Autofixture recursion
* Reusable specimen builder for creating IServiceProvider which
resolves services from Autofixture
* Custonize attribute for a parameter to use that ^^ specimen builder
2021-02-24 14:29:03 +01:00
Sipke Schoorstra
15f1411838
Add support for scoped variables ( #647 )
2021-02-20 12:45:16 +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
Sipke Schoorstra
663dc47c89
Stash ( #629 )
2021-02-13 10:31:34 +01:00
Sipke Schoorstra
d0113605f3
Retry faulted workflow from dashboard ( #607 )
...
* Cleanup ClientApp assets
* Update favicons
* Implement Retry from dashboard option
2021-02-02 12:15:09 +01:00
Sipke Schoorstra
59cdcdad6c
Log inner exceptions
2021-02-01 16:14:45 +01:00
Sipke Schoorstra
2c7b20846a
Fix Stack serialization
2021-01-31 12:49:06 +01:00
Sipke Schoorstra
7cfe24ba94
Implement revival of faulted workflow ( #595 )
...
* Initial version of workflow reviver
* Fix DI things
* Rename workflow builder parameter to `builder`
* Update EF Core stores to use short-lived db contexts
* Update serializer to use new settings to reset ID seed
* Write fault details
* Add faulty workflows sample project
* Switch to free & open source Z.EntityFramework.Plus.EFCore
* Add content type header
* Fix call to virtual OnSaving/OnLoading
* Fix retry
2021-01-30 12:47:50 +01:00
Sipke Schoorstra
59189bd330
Revise trigger API ( #593 )
...
* Update triggers
* Fix service registrations
* Add support for startup task ordering
* Add missing Rebus Activities project
* Handle indexing of many workflow instances
* Update sample
* Separate bookmarks from start triggers
* Add trigger API
* Fix queue worker
* Delete sqlite temp files
2021-01-29 16:16:45 +01:00
Sipke Schoorstra
2a64cc1473
Add continue running workflow startup task
2021-01-19 20:17:14 +01:00