diff --git a/Directory.Packages.props b/Directory.Packages.props
index 68c68bcf0..9fa854ac7 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -72,6 +72,7 @@
+
@@ -105,7 +106,6 @@
-
@@ -170,7 +170,9 @@
-
-
+
+
+
+
\ No newline at end of file
diff --git a/Elsa.sln b/Elsa.sln
index 9cb076af1..de7cd82fb 100644
--- a/Elsa.sln
+++ b/Elsa.sln
@@ -60,18 +60,12 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.Labels", "src\modules\
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "bundles", "bundles", "{F06B9573-DF68-4606-866C-A7546A10A05A}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa", "src\bundles\Elsa\Elsa.csproj", "{FC5D2CE9-FFB0-478D-8D54-E4109D1FD202}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.Liquid", "src\modules\Elsa.Liquid\Elsa.Liquid.csproj", "{8E5BD3D9-3529-48BC-B741-CFB7A69DB233}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.ProtoActor", "src\modules\Elsa.ProtoActor\Elsa.ProtoActor.csproj", "{B2049499-D384-46DF-8837-F1180107DD54}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.Dsl", "src\modules\Elsa.Dsl\Elsa.Dsl.csproj", "{78DAB791-8595-4612-8E9E-2248AF5B1862}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.ServerAndStudio.Web", "src\bundles\Elsa.ServerAndStudio.Web\Elsa.ServerAndStudio.Web.csproj", "{E31F8955-B221-48AA-B301-6EE317D6F5B1}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.Server.Web", "src\bundles\Elsa.Server.Web\Elsa.Server.Web.csproj", "{3C2752A7-EEBC-4ED4-B1BF-0FCF6E071BC2}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.Workflows.Api", "src\modules\Elsa.Workflows.Api\Elsa.Workflows.Api.csproj", "{C9539BD8-D2AE-4A8D-8281-71A05B3FBF31}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.Workflows.Core", "src\modules\Elsa.Workflows.Core\Elsa.Workflows.Core.csproj", "{169E2C9B-6687-427F-A278-30BF849BFEDC}"
@@ -127,6 +121,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docker", "docker", "{986E54
docker\docker-compose.yml = docker\docker-compose.yml
docker\docker-compose-datadog.yml = docker\docker-compose-datadog.yml
docker\ElsaServer-Datadog.Dockerfile = docker\ElsaServer-Datadog.Dockerfile
+ docker\init-db.sh = docker\init-db.sh
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.Samples.AspNet.RunTaskIntegration", "samples\aspnet\Elsa.Samples.AspNet.RunTaskIntegration\Elsa.Samples.AspNet.RunTaskIntegration.csproj", "{51050209-EC2F-4DC7-8F46-07E22B7811CD}"
@@ -260,8 +255,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.EntityFrameworkCore.Po
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.Alterations.MassTransit", "src\modules\Elsa.Alterations.MassTransit\Elsa.Alterations.MassTransit.csproj", "{1F621382-08FB-45EA-B94C-96A7FECB9489}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ElsaStudioWebAssembly", "src\bundles\ElsaStudioWebAssembly\ElsaStudioWebAssembly.csproj", "{E12A1BDF-5D65-493B-835D-AFBC480A5650}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.EntityFrameworkCore.Common", "src\modules\Elsa.EntityFrameworkCore.Common\Elsa.EntityFrameworkCore.Common.csproj", "{FBA14F8A-9F14-4364-ABDB-B8AE81A0D755}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.Quartz.EntityFrameworkCore.Sqlite", "src\modules\Elsa.Quartz.EntityFrameworkCore.Sqlite\Elsa.Quartz.EntityFrameworkCore.Sqlite.csproj", "{A71557F2-D5FB-4772-9391-F7D18A3B6C44}"
@@ -301,8 +294,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "_build", "build\_build.cspr
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.Samples.AspNet.BatchProcessing", "samples\aspnet\Elsa.Samples.AspNet.BatchProcessing\Elsa.Samples.AspNet.BatchProcessing.csproj", "{0AAF5EF6-02E5-44F9-B2CB-B1401FC5EF66}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.Studio.Web", "src\bundles\Elsa.Studio.Web\Elsa.Studio.Web.csproj", "{F0385327-CEDE-4CD4-88A5-B66E73E75B28}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.Samples.AspNet.CustomUIHandler", "samples\aspnet\Elsa.Samples.AspNet.CustomUIHandler\Elsa.Samples.AspNet.CustomUIHandler.csproj", "{E4BF9791-4086-41EB-8EF0-02686A5F3F65}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.Samples.AspNet.Heartbeats", "samples\aspnet\Elsa.Samples.AspNet.Heartbeats\Elsa.Samples.AspNet.Heartbeats.csproj", "{73852FEC-9847-4C6C-B1F5-1BB014C50A79}"
@@ -328,8 +319,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.KeyValues", "src\modul
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Workflows.Runtime.UnitTests", "test\unit\Elsa.Workflows.Runtime.UnitTests\Elsa.Workflows.Runtime.UnitTests.csproj", "{B0946844-DE0E-4C59-9391-C0EB649DBF4E}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Server.LoadBalancer", "src\bundles\Elsa.Server.LoadBalancer\Elsa.Server.LoadBalancer.csproj", "{7C1E6DD9-C7DE-4686-AA73-D67A15D005A1}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Caching", "src\modules\Elsa.Caching\Elsa.Caching.csproj", "{A1FE2CA0-8EF3-4EDB-9055-DD282E374E16}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "caching", "caching", "{EB3A7401-0DE3-476F-9E6F-057F1F4590FB}"
@@ -367,6 +356,23 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.Samples.AspNet.Tenants
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.Samples.AspNet.Tenants.External", "samples\aspnet\Elsa.Samples.AspNet.Tenants.External\Elsa.Samples.AspNet.Tenants.External.csproj", "{1B9E55EB-4379-4B95-9F84-EEEB5AA20987}"
EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "apps", "apps", "{D92BEAB2-60D6-4BB4-885A-6BA681C6CCF1}"
+ ProjectSection(SolutionItems) = preProject
+ src\apps\Directory.Build.props = src\apps\Directory.Build.props
+ EndProjectSection
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Server.Web", "src\apps\Elsa.Server.Web\Elsa.Server.Web.csproj", "{5ADDDFB1-E59B-4097-97B7-8C24E2D60463}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa", "src\modules\Elsa\Elsa.csproj", "{97C7E531-9D5F-43FD-AA19-BF24DA13B612}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Server.LoadBalancer", "src\apps\Elsa.Server.LoadBalancer\Elsa.Server.LoadBalancer.csproj", "{65F2AD97-3ECF-4BA6-8AAA-1E5882FDCE68}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ElsaStudioWebAssembly", "src\apps\ElsaStudioWebAssembly\ElsaStudioWebAssembly.csproj", "{690B0274-291F-4D9E-BA76-54EFF7D3E4BC}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.ServerAndStudio.Web", "src\apps\Elsa.ServerAndStudio.Web\Elsa.ServerAndStudio.Web.csproj", "{060FD0BA-BD78-48E1-A8A7-4906A5AD5E39}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Studio.Web", "src\apps\Elsa.Studio.Web\Elsa.Studio.Web.csproj", "{169A82A5-2DB3-40EA-801E-14C08D743DF7}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -409,10 +415,6 @@ Global
{80FF5821-E831-450D-AA0C-C76D07D878F4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{80FF5821-E831-450D-AA0C-C76D07D878F4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{80FF5821-E831-450D-AA0C-C76D07D878F4}.Release|Any CPU.Build.0 = Release|Any CPU
- {FC5D2CE9-FFB0-478D-8D54-E4109D1FD202}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {FC5D2CE9-FFB0-478D-8D54-E4109D1FD202}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {FC5D2CE9-FFB0-478D-8D54-E4109D1FD202}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {FC5D2CE9-FFB0-478D-8D54-E4109D1FD202}.Release|Any CPU.Build.0 = Release|Any CPU
{8E5BD3D9-3529-48BC-B741-CFB7A69DB233}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8E5BD3D9-3529-48BC-B741-CFB7A69DB233}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8E5BD3D9-3529-48BC-B741-CFB7A69DB233}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -425,14 +427,6 @@ Global
{78DAB791-8595-4612-8E9E-2248AF5B1862}.Debug|Any CPU.Build.0 = Debug|Any CPU
{78DAB791-8595-4612-8E9E-2248AF5B1862}.Release|Any CPU.ActiveCfg = Release|Any CPU
{78DAB791-8595-4612-8E9E-2248AF5B1862}.Release|Any CPU.Build.0 = Release|Any CPU
- {E31F8955-B221-48AA-B301-6EE317D6F5B1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {E31F8955-B221-48AA-B301-6EE317D6F5B1}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {E31F8955-B221-48AA-B301-6EE317D6F5B1}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {E31F8955-B221-48AA-B301-6EE317D6F5B1}.Release|Any CPU.Build.0 = Release|Any CPU
- {3C2752A7-EEBC-4ED4-B1BF-0FCF6E071BC2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {3C2752A7-EEBC-4ED4-B1BF-0FCF6E071BC2}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {3C2752A7-EEBC-4ED4-B1BF-0FCF6E071BC2}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {3C2752A7-EEBC-4ED4-B1BF-0FCF6E071BC2}.Release|Any CPU.Build.0 = Release|Any CPU
{C9539BD8-D2AE-4A8D-8281-71A05B3FBF31}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C9539BD8-D2AE-4A8D-8281-71A05B3FBF31}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C9539BD8-D2AE-4A8D-8281-71A05B3FBF31}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -725,10 +719,6 @@ Global
{1F621382-08FB-45EA-B94C-96A7FECB9489}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1F621382-08FB-45EA-B94C-96A7FECB9489}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1F621382-08FB-45EA-B94C-96A7FECB9489}.Release|Any CPU.Build.0 = Release|Any CPU
- {E12A1BDF-5D65-493B-835D-AFBC480A5650}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {E12A1BDF-5D65-493B-835D-AFBC480A5650}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {E12A1BDF-5D65-493B-835D-AFBC480A5650}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {E12A1BDF-5D65-493B-835D-AFBC480A5650}.Release|Any CPU.Build.0 = Release|Any CPU
{FBA14F8A-9F14-4364-ABDB-B8AE81A0D755}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FBA14F8A-9F14-4364-ABDB-B8AE81A0D755}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FBA14F8A-9F14-4364-ABDB-B8AE81A0D755}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -779,10 +769,6 @@ Global
{0AAF5EF6-02E5-44F9-B2CB-B1401FC5EF66}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0AAF5EF6-02E5-44F9-B2CB-B1401FC5EF66}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0AAF5EF6-02E5-44F9-B2CB-B1401FC5EF66}.Release|Any CPU.Build.0 = Release|Any CPU
- {F0385327-CEDE-4CD4-88A5-B66E73E75B28}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {F0385327-CEDE-4CD4-88A5-B66E73E75B28}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {F0385327-CEDE-4CD4-88A5-B66E73E75B28}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {F0385327-CEDE-4CD4-88A5-B66E73E75B28}.Release|Any CPU.Build.0 = Release|Any CPU
{E4BF9791-4086-41EB-8EF0-02686A5F3F65}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{E4BF9791-4086-41EB-8EF0-02686A5F3F65}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E4BF9791-4086-41EB-8EF0-02686A5F3F65}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -815,10 +801,6 @@ Global
{B0946844-DE0E-4C59-9391-C0EB649DBF4E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B0946844-DE0E-4C59-9391-C0EB649DBF4E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B0946844-DE0E-4C59-9391-C0EB649DBF4E}.Release|Any CPU.Build.0 = Release|Any CPU
- {7C1E6DD9-C7DE-4686-AA73-D67A15D005A1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {7C1E6DD9-C7DE-4686-AA73-D67A15D005A1}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {7C1E6DD9-C7DE-4686-AA73-D67A15D005A1}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {7C1E6DD9-C7DE-4686-AA73-D67A15D005A1}.Release|Any CPU.Build.0 = Release|Any CPU
{A1FE2CA0-8EF3-4EDB-9055-DD282E374E16}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A1FE2CA0-8EF3-4EDB-9055-DD282E374E16}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A1FE2CA0-8EF3-4EDB-9055-DD282E374E16}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -879,6 +861,30 @@ Global
{1B9E55EB-4379-4B95-9F84-EEEB5AA20987}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1B9E55EB-4379-4B95-9F84-EEEB5AA20987}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1B9E55EB-4379-4B95-9F84-EEEB5AA20987}.Release|Any CPU.Build.0 = Release|Any CPU
+ {5ADDDFB1-E59B-4097-97B7-8C24E2D60463}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5ADDDFB1-E59B-4097-97B7-8C24E2D60463}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {5ADDDFB1-E59B-4097-97B7-8C24E2D60463}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {5ADDDFB1-E59B-4097-97B7-8C24E2D60463}.Release|Any CPU.Build.0 = Release|Any CPU
+ {97C7E531-9D5F-43FD-AA19-BF24DA13B612}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {97C7E531-9D5F-43FD-AA19-BF24DA13B612}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {97C7E531-9D5F-43FD-AA19-BF24DA13B612}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {97C7E531-9D5F-43FD-AA19-BF24DA13B612}.Release|Any CPU.Build.0 = Release|Any CPU
+ {65F2AD97-3ECF-4BA6-8AAA-1E5882FDCE68}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {65F2AD97-3ECF-4BA6-8AAA-1E5882FDCE68}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {65F2AD97-3ECF-4BA6-8AAA-1E5882FDCE68}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {65F2AD97-3ECF-4BA6-8AAA-1E5882FDCE68}.Release|Any CPU.Build.0 = Release|Any CPU
+ {690B0274-291F-4D9E-BA76-54EFF7D3E4BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {690B0274-291F-4D9E-BA76-54EFF7D3E4BC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {690B0274-291F-4D9E-BA76-54EFF7D3E4BC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {690B0274-291F-4D9E-BA76-54EFF7D3E4BC}.Release|Any CPU.Build.0 = Release|Any CPU
+ {060FD0BA-BD78-48E1-A8A7-4906A5AD5E39}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {060FD0BA-BD78-48E1-A8A7-4906A5AD5E39}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {060FD0BA-BD78-48E1-A8A7-4906A5AD5E39}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {060FD0BA-BD78-48E1-A8A7-4906A5AD5E39}.Release|Any CPU.Build.0 = Release|Any CPU
+ {169A82A5-2DB3-40EA-801E-14C08D743DF7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {169A82A5-2DB3-40EA-801E-14C08D743DF7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {169A82A5-2DB3-40EA-801E-14C08D743DF7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {169A82A5-2DB3-40EA-801E-14C08D743DF7}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -898,12 +904,9 @@ Global
{BB983D0B-A939-4008-B9E3-C7C172BCF83A} = {DD089B8B-DA73-492A-9010-F772D1C178DA}
{80FF5821-E831-450D-AA0C-C76D07D878F4} = {5BA4A8FA-F7F4-45B3-AEC8-8886D35AAC79}
{F06B9573-DF68-4606-866C-A7546A10A05A} = {61017E64-6D00-49CB-9E81-5002DC8F7D5F}
- {FC5D2CE9-FFB0-478D-8D54-E4109D1FD202} = {F06B9573-DF68-4606-866C-A7546A10A05A}
{8E5BD3D9-3529-48BC-B741-CFB7A69DB233} = {6EF07978-A6D2-40EB-891D-7D70C5F37E76}
{B2049499-D384-46DF-8837-F1180107DD54} = {58C59255-281C-4595-8732-808158F1DC6E}
{78DAB791-8595-4612-8E9E-2248AF5B1862} = {6EF07978-A6D2-40EB-891D-7D70C5F37E76}
- {E31F8955-B221-48AA-B301-6EE317D6F5B1} = {F06B9573-DF68-4606-866C-A7546A10A05A}
- {3C2752A7-EEBC-4ED4-B1BF-0FCF6E071BC2} = {F06B9573-DF68-4606-866C-A7546A10A05A}
{C9539BD8-D2AE-4A8D-8281-71A05B3FBF31} = {B08B4E00-C2AB-48F3-8389-449F42AEF179}
{169E2C9B-6687-427F-A278-30BF849BFEDC} = {B08B4E00-C2AB-48F3-8389-449F42AEF179}
{2DD5D66B-85E9-4AF9-911C-C9F963234159} = {B08B4E00-C2AB-48F3-8389-449F42AEF179}
@@ -990,7 +993,6 @@ Global
{E4300D97-1D53-4029-9435-483FB7EC9621} = {9B4F139F-7D26-435C-A561-89E65A67A8E5}
{84AB9951-3DBF-43A4-8F5D-AEED1102CE88} = {9B4F139F-7D26-435C-A561-89E65A67A8E5}
{1F621382-08FB-45EA-B94C-96A7FECB9489} = {CF3DA5F1-F98D-49C9-A980-27E570B38B8D}
- {E12A1BDF-5D65-493B-835D-AFBC480A5650} = {F06B9573-DF68-4606-866C-A7546A10A05A}
{FBA14F8A-9F14-4364-ABDB-B8AE81A0D755} = {9B4F139F-7D26-435C-A561-89E65A67A8E5}
{A71557F2-D5FB-4772-9391-F7D18A3B6C44} = {AB797AF0-C12C-46DE-A157-7E25625C6200}
{05F3B23E-CF28-467B-AD3C-595EA4ED6B96} = {AB797AF0-C12C-46DE-A157-7E25625C6200}
@@ -1004,7 +1006,6 @@ Global
{790E94F2-5393-47DF-AC52-D9247F5B243A} = {6EF07978-A6D2-40EB-891D-7D70C5F37E76}
{169BEA3D-2A81-47EE-A6C1-3F8719EEC1F6} = {DD089B8B-DA73-492A-9010-F772D1C178DA}
{0AAF5EF6-02E5-44F9-B2CB-B1401FC5EF66} = {56C2FFB8-EA54-45B5-A095-4A78142EB4B5}
- {F0385327-CEDE-4CD4-88A5-B66E73E75B28} = {F06B9573-DF68-4606-866C-A7546A10A05A}
{E4BF9791-4086-41EB-8EF0-02686A5F3F65} = {56C2FFB8-EA54-45B5-A095-4A78142EB4B5}
{73852FEC-9847-4C6C-B1F5-1BB014C50A79} = {56C2FFB8-EA54-45B5-A095-4A78142EB4B5}
{AFEB799E-82C3-4D02-9D5C-766BB8DEF004} = {DD089B8B-DA73-492A-9010-F772D1C178DA}
@@ -1014,7 +1015,6 @@ Global
{73BBB1E3-AEEC-44E8-83D7-6DD9CD687FE3} = {5BA4A8FA-F7F4-45B3-AEC8-8886D35AAC79}
{086A7E2A-6CE7-41DA-927B-C033638060B1} = {56C2FFB8-EA54-45B5-A095-4A78142EB4B5}
{B0946844-DE0E-4C59-9391-C0EB649DBF4E} = {18453B51-25EB-4317-A4B3-B10518252E92}
- {7C1E6DD9-C7DE-4686-AA73-D67A15D005A1} = {F06B9573-DF68-4606-866C-A7546A10A05A}
{EB3A7401-0DE3-476F-9E6F-057F1F4590FB} = {5BA4A8FA-F7F4-45B3-AEC8-8886D35AAC79}
{A1FE2CA0-8EF3-4EDB-9055-DD282E374E16} = {EB3A7401-0DE3-476F-9E6F-057F1F4590FB}
{BF4CDE28-F0CC-482D-8392-C1C9BB4C368F} = {EB3A7401-0DE3-476F-9E6F-057F1F4590FB}
@@ -1032,6 +1032,13 @@ Global
{7F5A304F-7DD9-4A64-8FCD-9B1FF06735B9} = {08B41FFA-CEE3-46A7-B5C0-3EB65D37A16C}
{9A6395A7-9F82-4F82-BFCB-1EBC38F0A86D} = {56C2FFB8-EA54-45B5-A095-4A78142EB4B5}
{1B9E55EB-4379-4B95-9F84-EEEB5AA20987} = {56C2FFB8-EA54-45B5-A095-4A78142EB4B5}
+ {D92BEAB2-60D6-4BB4-885A-6BA681C6CCF1} = {61017E64-6D00-49CB-9E81-5002DC8F7D5F}
+ {5ADDDFB1-E59B-4097-97B7-8C24E2D60463} = {D92BEAB2-60D6-4BB4-885A-6BA681C6CCF1}
+ {97C7E531-9D5F-43FD-AA19-BF24DA13B612} = {5BA4A8FA-F7F4-45B3-AEC8-8886D35AAC79}
+ {65F2AD97-3ECF-4BA6-8AAA-1E5882FDCE68} = {D92BEAB2-60D6-4BB4-885A-6BA681C6CCF1}
+ {690B0274-291F-4D9E-BA76-54EFF7D3E4BC} = {D92BEAB2-60D6-4BB4-885A-6BA681C6CCF1}
+ {060FD0BA-BD78-48E1-A8A7-4906A5AD5E39} = {D92BEAB2-60D6-4BB4-885A-6BA681C6CCF1}
+ {169A82A5-2DB3-40EA-801E-14C08D743DF7} = {D92BEAB2-60D6-4BB4-885A-6BA681C6CCF1}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {D4B5CEAA-7D70-4FCB-A68E-B03FBE5E0E5E}
diff --git a/Elsa.sln.DotSettings b/Elsa.sln.DotSettings
index fcce66d42..eb308f604 100644
--- a/Elsa.sln.DotSettings
+++ b/Elsa.sln.DotSettings
@@ -1,4 +1,4 @@
-
+
False
1000
1
@@ -14,6 +14,7 @@
True
True
True
+ True
True
True
True
diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml
index 057ba4b50..da41c142f 100644
--- a/docker/docker-compose.yml
+++ b/docker/docker-compose.yml
@@ -10,6 +10,7 @@ services:
POSTGRES_DB: elsa
volumes:
- postgres-data:/var/lib/postgresql/data
+ - ./init-db.sh:/docker-entrypoint-initdb.d/init-db.sh # This will initialize the 'tracelens' database
ports:
- "5432:5432"
@@ -41,6 +42,22 @@ services:
image: redis:latest
ports:
- "127.0.0.1:6379:6379"
+
+ plantuml-server:
+ image: plantuml/plantuml-server:tomcat
+ container_name: plantuml-server
+ ports:
+ - 7080:8080
+
+ trace-lens:
+ image: docker.io/rogeralsing/tracelens:latest
+ pull_policy: always
+ ports:
+ - 7001:5001
+ - 4317:4317
+ environment:
+ - PlantUml__RemoteUrl=
+ - ConnectionStrings__DefaultConnection=USER ID=tracelens;PASSWORD=tracelenspass;HOST=postgres;PORT=5432;DATABASE=tracelens;POOLING=true;
elsa-server:
build:
diff --git a/docker/init-db.sh b/docker/init-db.sh
new file mode 100755
index 000000000..5185802ba
--- /dev/null
+++ b/docker/init-db.sh
@@ -0,0 +1,9 @@
+echo "Starting database initialization"
+
+psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
+ CREATE USER tracelens WITH PASSWORD 'tracelenspass';
+ CREATE DATABASE tracelens;
+ GRANT ALL PRIVILEGES ON DATABASE tracelens TO tracelens;
+EOSQL
+
+echo "Database initialization completed"
\ No newline at end of file
diff --git a/samples/aspnet/Elsa.Samples.AspNet.AzureServiceBusActivities/Elsa.Samples.AspNet.AzureServiceBusActivities.csproj b/samples/aspnet/Elsa.Samples.AspNet.AzureServiceBusActivities/Elsa.Samples.AspNet.AzureServiceBusActivities.csproj
index 169107f35..11bf6c9fd 100644
--- a/samples/aspnet/Elsa.Samples.AspNet.AzureServiceBusActivities/Elsa.Samples.AspNet.AzureServiceBusActivities.csproj
+++ b/samples/aspnet/Elsa.Samples.AspNet.AzureServiceBusActivities/Elsa.Samples.AspNet.AzureServiceBusActivities.csproj
@@ -5,7 +5,7 @@
-
+
diff --git a/samples/aspnet/Elsa.Samples.AspNet.BatchProcessing/Elsa.Samples.AspNet.BatchProcessing.csproj b/samples/aspnet/Elsa.Samples.AspNet.BatchProcessing/Elsa.Samples.AspNet.BatchProcessing.csproj
index a07fd8c94..d71c5c367 100644
--- a/samples/aspnet/Elsa.Samples.AspNet.BatchProcessing/Elsa.Samples.AspNet.BatchProcessing.csproj
+++ b/samples/aspnet/Elsa.Samples.AspNet.BatchProcessing/Elsa.Samples.AspNet.BatchProcessing.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/samples/aspnet/Elsa.Samples.AspNet.ChildWorkflows/Elsa.Samples.AspNet.ChildWorkflows.csproj b/samples/aspnet/Elsa.Samples.AspNet.ChildWorkflows/Elsa.Samples.AspNet.ChildWorkflows.csproj
index b0c82c759..96af37ee9 100644
--- a/samples/aspnet/Elsa.Samples.AspNet.ChildWorkflows/Elsa.Samples.AspNet.ChildWorkflows.csproj
+++ b/samples/aspnet/Elsa.Samples.AspNet.ChildWorkflows/Elsa.Samples.AspNet.ChildWorkflows.csproj
@@ -5,7 +5,7 @@
-
+
diff --git a/samples/aspnet/Elsa.Samples.AspNet.CustomUIHandler/Elsa.Samples.AspNet.CustomUIHandler.csproj b/samples/aspnet/Elsa.Samples.AspNet.CustomUIHandler/Elsa.Samples.AspNet.CustomUIHandler.csproj
index bfb5c6320..5050ffce1 100644
--- a/samples/aspnet/Elsa.Samples.AspNet.CustomUIHandler/Elsa.Samples.AspNet.CustomUIHandler.csproj
+++ b/samples/aspnet/Elsa.Samples.AspNet.CustomUIHandler/Elsa.Samples.AspNet.CustomUIHandler.csproj
@@ -5,7 +5,7 @@
-
+
diff --git a/samples/aspnet/Elsa.Samples.AspNet.DapperPersistence/Elsa.Samples.AspNet.DapperPersistence.csproj b/samples/aspnet/Elsa.Samples.AspNet.DapperPersistence/Elsa.Samples.AspNet.DapperPersistence.csproj
index c752002b2..726a632d0 100644
--- a/samples/aspnet/Elsa.Samples.AspNet.DapperPersistence/Elsa.Samples.AspNet.DapperPersistence.csproj
+++ b/samples/aspnet/Elsa.Samples.AspNet.DapperPersistence/Elsa.Samples.AspNet.DapperPersistence.csproj
@@ -5,7 +5,7 @@
-
+
diff --git a/samples/aspnet/Elsa.Samples.AspNet.DocumentApproval/Elsa.Samples.AspNet.DocumentApproval.csproj b/samples/aspnet/Elsa.Samples.AspNet.DocumentApproval/Elsa.Samples.AspNet.DocumentApproval.csproj
index f58f2ff09..fd40331b1 100644
--- a/samples/aspnet/Elsa.Samples.AspNet.DocumentApproval/Elsa.Samples.AspNet.DocumentApproval.csproj
+++ b/samples/aspnet/Elsa.Samples.AspNet.DocumentApproval/Elsa.Samples.AspNet.DocumentApproval.csproj
@@ -5,7 +5,7 @@
-
+
diff --git a/samples/aspnet/Elsa.Samples.AspNet.DslWorkflowProvider/Elsa.Samples.AspNet.DslWorkflowProvider.csproj b/samples/aspnet/Elsa.Samples.AspNet.DslWorkflowProvider/Elsa.Samples.AspNet.DslWorkflowProvider.csproj
index 60c4b3021..688d60df7 100644
--- a/samples/aspnet/Elsa.Samples.AspNet.DslWorkflowProvider/Elsa.Samples.AspNet.DslWorkflowProvider.csproj
+++ b/samples/aspnet/Elsa.Samples.AspNet.DslWorkflowProvider/Elsa.Samples.AspNet.DslWorkflowProvider.csproj
@@ -5,7 +5,7 @@
-
+
diff --git a/samples/aspnet/Elsa.Samples.AspNet.DynamicActivityProvider/Elsa.Samples.AspNet.DynamicActivityProvider.csproj b/samples/aspnet/Elsa.Samples.AspNet.DynamicActivityProvider/Elsa.Samples.AspNet.DynamicActivityProvider.csproj
index 13497c81c..cc37db3bf 100644
--- a/samples/aspnet/Elsa.Samples.AspNet.DynamicActivityProvider/Elsa.Samples.AspNet.DynamicActivityProvider.csproj
+++ b/samples/aspnet/Elsa.Samples.AspNet.DynamicActivityProvider/Elsa.Samples.AspNet.DynamicActivityProvider.csproj
@@ -5,7 +5,7 @@
-
+
diff --git a/samples/aspnet/Elsa.Samples.AspNet.ElasticsearchStorage/Elsa.Samples.AspNet.ElasticsearchStorage.csproj b/samples/aspnet/Elsa.Samples.AspNet.ElasticsearchStorage/Elsa.Samples.AspNet.ElasticsearchStorage.csproj
index 174ad9bc8..50d21cbe0 100644
--- a/samples/aspnet/Elsa.Samples.AspNet.ElasticsearchStorage/Elsa.Samples.AspNet.ElasticsearchStorage.csproj
+++ b/samples/aspnet/Elsa.Samples.AspNet.ElasticsearchStorage/Elsa.Samples.AspNet.ElasticsearchStorage.csproj
@@ -5,7 +5,7 @@
-
+
diff --git a/samples/aspnet/Elsa.Samples.AspNet.EntityFrameworkCore.PostgresSql/Elsa.Samples.AspNet.EntityFrameworkCore.PostgresSql.csproj b/samples/aspnet/Elsa.Samples.AspNet.EntityFrameworkCore.PostgresSql/Elsa.Samples.AspNet.EntityFrameworkCore.PostgresSql.csproj
index b0593ffb9..d92cb6726 100644
--- a/samples/aspnet/Elsa.Samples.AspNet.EntityFrameworkCore.PostgresSql/Elsa.Samples.AspNet.EntityFrameworkCore.PostgresSql.csproj
+++ b/samples/aspnet/Elsa.Samples.AspNet.EntityFrameworkCore.PostgresSql/Elsa.Samples.AspNet.EntityFrameworkCore.PostgresSql.csproj
@@ -5,7 +5,7 @@
-
+
diff --git a/samples/aspnet/Elsa.Samples.AspNet.HangfireIntegration/Elsa.Samples.AspNet.HangfireIntegration.csproj b/samples/aspnet/Elsa.Samples.AspNet.HangfireIntegration/Elsa.Samples.AspNet.HangfireIntegration.csproj
index 45561ff63..00ecc0b8b 100644
--- a/samples/aspnet/Elsa.Samples.AspNet.HangfireIntegration/Elsa.Samples.AspNet.HangfireIntegration.csproj
+++ b/samples/aspnet/Elsa.Samples.AspNet.HangfireIntegration/Elsa.Samples.AspNet.HangfireIntegration.csproj
@@ -5,7 +5,7 @@
-
+
diff --git a/samples/aspnet/Elsa.Samples.AspNet.Heartbeats/Elsa.Samples.AspNet.Heartbeats.csproj b/samples/aspnet/Elsa.Samples.AspNet.Heartbeats/Elsa.Samples.AspNet.Heartbeats.csproj
index 5054debab..c9da5e31e 100644
--- a/samples/aspnet/Elsa.Samples.AspNet.Heartbeats/Elsa.Samples.AspNet.Heartbeats.csproj
+++ b/samples/aspnet/Elsa.Samples.AspNet.Heartbeats/Elsa.Samples.AspNet.Heartbeats.csproj
@@ -5,7 +5,7 @@
-
+
diff --git a/samples/aspnet/Elsa.Samples.AspNet.HelloWorld/Elsa.Samples.AspNet.HelloWorld.csproj b/samples/aspnet/Elsa.Samples.AspNet.HelloWorld/Elsa.Samples.AspNet.HelloWorld.csproj
index d3ed39be5..965626433 100644
--- a/samples/aspnet/Elsa.Samples.AspNet.HelloWorld/Elsa.Samples.AspNet.HelloWorld.csproj
+++ b/samples/aspnet/Elsa.Samples.AspNet.HelloWorld/Elsa.Samples.AspNet.HelloWorld.csproj
@@ -5,7 +5,7 @@
-
+
diff --git a/samples/aspnet/Elsa.Samples.AspNet.HttpEndpoints/Elsa.Samples.AspNet.HttpEndpoints.csproj b/samples/aspnet/Elsa.Samples.AspNet.HttpEndpoints/Elsa.Samples.AspNet.HttpEndpoints.csproj
index ff6e9d5f7..bdf966a67 100644
--- a/samples/aspnet/Elsa.Samples.AspNet.HttpEndpoints/Elsa.Samples.AspNet.HttpEndpoints.csproj
+++ b/samples/aspnet/Elsa.Samples.AspNet.HttpEndpoints/Elsa.Samples.AspNet.HttpEndpoints.csproj
@@ -5,7 +5,7 @@
-
+
diff --git a/samples/aspnet/Elsa.Samples.AspNet.JsonWorkflowProvider/Elsa.Samples.AspNet.JsonWorkflowProvider.csproj b/samples/aspnet/Elsa.Samples.AspNet.JsonWorkflowProvider/Elsa.Samples.AspNet.JsonWorkflowProvider.csproj
index 86e9940a6..19ebd959b 100644
--- a/samples/aspnet/Elsa.Samples.AspNet.JsonWorkflowProvider/Elsa.Samples.AspNet.JsonWorkflowProvider.csproj
+++ b/samples/aspnet/Elsa.Samples.AspNet.JsonWorkflowProvider/Elsa.Samples.AspNet.JsonWorkflowProvider.csproj
@@ -5,7 +5,7 @@
-
+
diff --git a/samples/aspnet/Elsa.Samples.AspNet.MassTransitActivities/Elsa.Samples.AspNet.MassTransitActivities.csproj b/samples/aspnet/Elsa.Samples.AspNet.MassTransitActivities/Elsa.Samples.AspNet.MassTransitActivities.csproj
index 9de912f82..578277034 100644
--- a/samples/aspnet/Elsa.Samples.AspNet.MassTransitActivities/Elsa.Samples.AspNet.MassTransitActivities.csproj
+++ b/samples/aspnet/Elsa.Samples.AspNet.MassTransitActivities/Elsa.Samples.AspNet.MassTransitActivities.csproj
@@ -5,7 +5,7 @@
-
+
diff --git a/samples/aspnet/Elsa.Samples.AspNet.MassTransitWorkflow/Elsa.Samples.AspNet.MassTransitWorkflow.csproj b/samples/aspnet/Elsa.Samples.AspNet.MassTransitWorkflow/Elsa.Samples.AspNet.MassTransitWorkflow.csproj
index 9de912f82..578277034 100644
--- a/samples/aspnet/Elsa.Samples.AspNet.MassTransitWorkflow/Elsa.Samples.AspNet.MassTransitWorkflow.csproj
+++ b/samples/aspnet/Elsa.Samples.AspNet.MassTransitWorkflow/Elsa.Samples.AspNet.MassTransitWorkflow.csproj
@@ -5,7 +5,7 @@
-
+
diff --git a/samples/aspnet/Elsa.Samples.AspNet.MongoDbPersistence/Elsa.Samples.AspNet.MongoDbPersistence.csproj b/samples/aspnet/Elsa.Samples.AspNet.MongoDbPersistence/Elsa.Samples.AspNet.MongoDbPersistence.csproj
index debf81bfe..4c9b9ddbb 100644
--- a/samples/aspnet/Elsa.Samples.AspNet.MongoDbPersistence/Elsa.Samples.AspNet.MongoDbPersistence.csproj
+++ b/samples/aspnet/Elsa.Samples.AspNet.MongoDbPersistence/Elsa.Samples.AspNet.MongoDbPersistence.csproj
@@ -5,7 +5,7 @@
-
+
diff --git a/samples/aspnet/Elsa.Samples.AspNet.MyBackendApi/Elsa.Samples.AspNet.MyBackendApi.csproj b/samples/aspnet/Elsa.Samples.AspNet.MyBackendApi/Elsa.Samples.AspNet.MyBackendApi.csproj
index 90288d4b0..018e9f96f 100644
--- a/samples/aspnet/Elsa.Samples.AspNet.MyBackendApi/Elsa.Samples.AspNet.MyBackendApi.csproj
+++ b/samples/aspnet/Elsa.Samples.AspNet.MyBackendApi/Elsa.Samples.AspNet.MyBackendApi.csproj
@@ -5,7 +5,7 @@
-
+
diff --git a/samples/aspnet/Elsa.Samples.AspNet.Onboarding.WorkflowServer/Elsa.Samples.AspNet.Onboarding.WorkflowServer.csproj b/samples/aspnet/Elsa.Samples.AspNet.Onboarding.WorkflowServer/Elsa.Samples.AspNet.Onboarding.WorkflowServer.csproj
index e36e42033..3d79a3360 100644
--- a/samples/aspnet/Elsa.Samples.AspNet.Onboarding.WorkflowServer/Elsa.Samples.AspNet.Onboarding.WorkflowServer.csproj
+++ b/samples/aspnet/Elsa.Samples.AspNet.Onboarding.WorkflowServer/Elsa.Samples.AspNet.Onboarding.WorkflowServer.csproj
@@ -5,7 +5,7 @@
-
+
diff --git a/samples/aspnet/Elsa.Samples.AspNet.ProtoActorRuntime.AzureContainerApps/Elsa.Samples.AspNet.ProtoActorRuntime.AzureContainerApps.csproj b/samples/aspnet/Elsa.Samples.AspNet.ProtoActorRuntime.AzureContainerApps/Elsa.Samples.AspNet.ProtoActorRuntime.AzureContainerApps.csproj
index 1d2b12563..3c143843c 100644
--- a/samples/aspnet/Elsa.Samples.AspNet.ProtoActorRuntime.AzureContainerApps/Elsa.Samples.AspNet.ProtoActorRuntime.AzureContainerApps.csproj
+++ b/samples/aspnet/Elsa.Samples.AspNet.ProtoActorRuntime.AzureContainerApps/Elsa.Samples.AspNet.ProtoActorRuntime.AzureContainerApps.csproj
@@ -12,7 +12,7 @@
-
+
diff --git a/samples/aspnet/Elsa.Samples.AspNet.ProtoActorRuntime.AzureContainerApps/Program.cs b/samples/aspnet/Elsa.Samples.AspNet.ProtoActorRuntime.AzureContainerApps/Program.cs
index 88545bbaa..1bf4a41f5 100644
--- a/samples/aspnet/Elsa.Samples.AspNet.ProtoActorRuntime.AzureContainerApps/Program.cs
+++ b/samples/aspnet/Elsa.Samples.AspNet.ProtoActorRuntime.AzureContainerApps/Program.cs
@@ -26,7 +26,7 @@ var protoActorClusterSection = protoActorSection.GetSection("Cluster");
// Configure Proto Actor cluster provider services.
services.AddAzureContainerAppsProvider(
- ArmClientProviders.DefaultAzureCredential,
+ ArmClientProviders.DefaultAzureCredential,
sc => sc.AddRedisClusterMemberStore(redisConnectionString),
options => protoActorClusterSection.GetSection("AzureContainerApps").Bind(options));
@@ -57,9 +57,9 @@ services
{
var advertisedHost = IPUtils.FindSmallestIpAddress().ToString();
- protoActor.ClusterProvider = sp => sp.GetRequiredService();
+ protoActor.CreateClusterProvider = sp => sp.GetRequiredService();
- protoActor.RemoteConfig = _ => GrpcNetRemoteConfig
+ protoActor.ConfigureRemoteConfig = _ => GrpcNetRemoteConfig
.BindTo(advertisedHost)
.WithProtoMessages(EmptyReflection.Descriptor)
.WithProtoMessages(SharedReflection.Descriptor)
diff --git a/samples/aspnet/Elsa.Samples.AspNet.ProtoActorRuntime/Elsa.Samples.AspNet.ProtoActorRuntime.csproj b/samples/aspnet/Elsa.Samples.AspNet.ProtoActorRuntime/Elsa.Samples.AspNet.ProtoActorRuntime.csproj
index fa11cdcb6..8b29c3296 100644
--- a/samples/aspnet/Elsa.Samples.AspNet.ProtoActorRuntime/Elsa.Samples.AspNet.ProtoActorRuntime.csproj
+++ b/samples/aspnet/Elsa.Samples.AspNet.ProtoActorRuntime/Elsa.Samples.AspNet.ProtoActorRuntime.csproj
@@ -12,7 +12,7 @@
-
+
diff --git a/samples/aspnet/Elsa.Samples.AspNet.QuartzIntegration/Elsa.Samples.AspNet.QuartzIntegration.csproj b/samples/aspnet/Elsa.Samples.AspNet.QuartzIntegration/Elsa.Samples.AspNet.QuartzIntegration.csproj
index 605e36ada..e353d44fb 100644
--- a/samples/aspnet/Elsa.Samples.AspNet.QuartzIntegration/Elsa.Samples.AspNet.QuartzIntegration.csproj
+++ b/samples/aspnet/Elsa.Samples.AspNet.QuartzIntegration/Elsa.Samples.AspNet.QuartzIntegration.csproj
@@ -5,7 +5,7 @@
-
+
diff --git a/samples/aspnet/Elsa.Samples.AspNet.RunTaskIntegration/Elsa.Samples.AspNet.RunTaskIntegration.csproj b/samples/aspnet/Elsa.Samples.AspNet.RunTaskIntegration/Elsa.Samples.AspNet.RunTaskIntegration.csproj
index 44649fe2f..b8b644ef9 100644
--- a/samples/aspnet/Elsa.Samples.AspNet.RunTaskIntegration/Elsa.Samples.AspNet.RunTaskIntegration.csproj
+++ b/samples/aspnet/Elsa.Samples.AspNet.RunTaskIntegration/Elsa.Samples.AspNet.RunTaskIntegration.csproj
@@ -5,7 +5,7 @@
-
+
diff --git a/samples/aspnet/Elsa.Samples.AspNet.TelnyxIntegration/Elsa.Samples.AspNet.TelnyxIntegration.csproj b/samples/aspnet/Elsa.Samples.AspNet.TelnyxIntegration/Elsa.Samples.AspNet.TelnyxIntegration.csproj
index 12c1a9223..810872248 100644
--- a/samples/aspnet/Elsa.Samples.AspNet.TelnyxIntegration/Elsa.Samples.AspNet.TelnyxIntegration.csproj
+++ b/samples/aspnet/Elsa.Samples.AspNet.TelnyxIntegration/Elsa.Samples.AspNet.TelnyxIntegration.csproj
@@ -5,7 +5,7 @@
-
+
diff --git a/samples/aspnet/Elsa.Samples.AspNet.Tenants.External/Elsa.Samples.AspNet.Tenants.External.csproj b/samples/aspnet/Elsa.Samples.AspNet.Tenants.External/Elsa.Samples.AspNet.Tenants.External.csproj
index 2005a848e..814650fb2 100644
--- a/samples/aspnet/Elsa.Samples.AspNet.Tenants.External/Elsa.Samples.AspNet.Tenants.External.csproj
+++ b/samples/aspnet/Elsa.Samples.AspNet.Tenants.External/Elsa.Samples.AspNet.Tenants.External.csproj
@@ -5,7 +5,7 @@
-
+
diff --git a/samples/aspnet/Elsa.Samples.AspNet.Tenants/Elsa.Samples.AspNet.Tenants.csproj b/samples/aspnet/Elsa.Samples.AspNet.Tenants/Elsa.Samples.AspNet.Tenants.csproj
index e3341cc47..582fabdaa 100644
--- a/samples/aspnet/Elsa.Samples.AspNet.Tenants/Elsa.Samples.AspNet.Tenants.csproj
+++ b/samples/aspnet/Elsa.Samples.AspNet.Tenants/Elsa.Samples.AspNet.Tenants.csproj
@@ -5,7 +5,7 @@
-
+
diff --git a/samples/aspnet/Elsa.Samples.AspNet.Webhooks.WorkflowServer/Elsa.Samples.AspNet.Webhooks.WorkflowServer.csproj b/samples/aspnet/Elsa.Samples.AspNet.Webhooks.WorkflowServer/Elsa.Samples.AspNet.Webhooks.WorkflowServer.csproj
index 25deea382..90bb78df3 100644
--- a/samples/aspnet/Elsa.Samples.AspNet.Webhooks.WorkflowServer/Elsa.Samples.AspNet.Webhooks.WorkflowServer.csproj
+++ b/samples/aspnet/Elsa.Samples.AspNet.Webhooks.WorkflowServer/Elsa.Samples.AspNet.Webhooks.WorkflowServer.csproj
@@ -5,7 +5,7 @@
-
+
diff --git a/samples/aspnet/Elsa.Samples.AspNet.WorkflowContexts/Elsa.Samples.AspNet.WorkflowContexts.csproj b/samples/aspnet/Elsa.Samples.AspNet.WorkflowContexts/Elsa.Samples.AspNet.WorkflowContexts.csproj
index 6c4c0f953..7ddd4a3df 100644
--- a/samples/aspnet/Elsa.Samples.AspNet.WorkflowContexts/Elsa.Samples.AspNet.WorkflowContexts.csproj
+++ b/samples/aspnet/Elsa.Samples.AspNet.WorkflowContexts/Elsa.Samples.AspNet.WorkflowContexts.csproj
@@ -12,7 +12,7 @@
-
+
diff --git a/samples/aspnet/Elsa.Samples.AspNet.WorkflowServer/Elsa.Samples.AspNet.WorkflowServer.csproj b/samples/aspnet/Elsa.Samples.AspNet.WorkflowServer/Elsa.Samples.AspNet.WorkflowServer.csproj
index 4a446863f..25c7cbcea 100644
--- a/samples/aspnet/Elsa.Samples.AspNet.WorkflowServer/Elsa.Samples.AspNet.WorkflowServer.csproj
+++ b/samples/aspnet/Elsa.Samples.AspNet.WorkflowServer/Elsa.Samples.AspNet.WorkflowServer.csproj
@@ -5,7 +5,7 @@
-
+
diff --git a/samples/console/Elsa.Samples.ConsoleApp.ActivityOutput/Elsa.Samples.ConsoleApp.ActivityOutput.csproj b/samples/console/Elsa.Samples.ConsoleApp.ActivityOutput/Elsa.Samples.ConsoleApp.ActivityOutput.csproj
index 0aac4da11..fda785228 100644
--- a/samples/console/Elsa.Samples.ConsoleApp.ActivityOutput/Elsa.Samples.ConsoleApp.ActivityOutput.csproj
+++ b/samples/console/Elsa.Samples.ConsoleApp.ActivityOutput/Elsa.Samples.ConsoleApp.ActivityOutput.csproj
@@ -6,7 +6,7 @@
-
+
diff --git a/samples/console/Elsa.Samples.ConsoleApp.Bookmarks/Elsa.Samples.ConsoleApp.Bookmarks.csproj b/samples/console/Elsa.Samples.ConsoleApp.Bookmarks/Elsa.Samples.ConsoleApp.Bookmarks.csproj
index 0aac4da11..fda785228 100644
--- a/samples/console/Elsa.Samples.ConsoleApp.Bookmarks/Elsa.Samples.ConsoleApp.Bookmarks.csproj
+++ b/samples/console/Elsa.Samples.ConsoleApp.Bookmarks/Elsa.Samples.ConsoleApp.Bookmarks.csproj
@@ -6,7 +6,7 @@
-
+
diff --git a/samples/console/Elsa.Samples.ConsoleApp.Composition/Elsa.Samples.ConsoleApp.Composition.csproj b/samples/console/Elsa.Samples.ConsoleApp.Composition/Elsa.Samples.ConsoleApp.Composition.csproj
index 0aac4da11..fda785228 100644
--- a/samples/console/Elsa.Samples.ConsoleApp.Composition/Elsa.Samples.ConsoleApp.Composition.csproj
+++ b/samples/console/Elsa.Samples.ConsoleApp.Composition/Elsa.Samples.ConsoleApp.Composition.csproj
@@ -6,7 +6,7 @@
-
+
diff --git a/samples/console/Elsa.Samples.ConsoleApp.ConditionalWorkflows/Elsa.Samples.ConsoleApp.ConditionalWorkflows.csproj b/samples/console/Elsa.Samples.ConsoleApp.ConditionalWorkflows/Elsa.Samples.ConsoleApp.ConditionalWorkflows.csproj
index 0aac4da11..fda785228 100644
--- a/samples/console/Elsa.Samples.ConsoleApp.ConditionalWorkflows/Elsa.Samples.ConsoleApp.ConditionalWorkflows.csproj
+++ b/samples/console/Elsa.Samples.ConsoleApp.ConditionalWorkflows/Elsa.Samples.ConsoleApp.ConditionalWorkflows.csproj
@@ -6,7 +6,7 @@
-
+
diff --git a/samples/console/Elsa.Samples.ConsoleApp.CustomActivities/Elsa.Samples.ConsoleApp.CustomActivities.csproj b/samples/console/Elsa.Samples.ConsoleApp.CustomActivities/Elsa.Samples.ConsoleApp.CustomActivities.csproj
index 0aac4da11..fda785228 100644
--- a/samples/console/Elsa.Samples.ConsoleApp.CustomActivities/Elsa.Samples.ConsoleApp.CustomActivities.csproj
+++ b/samples/console/Elsa.Samples.ConsoleApp.CustomActivities/Elsa.Samples.ConsoleApp.CustomActivities.csproj
@@ -6,7 +6,7 @@
-
+
diff --git a/samples/console/Elsa.Samples.ConsoleApp.FlowchartWorkflows/Elsa.Samples.ConsoleApp.FlowchartWorkflows.csproj b/samples/console/Elsa.Samples.ConsoleApp.FlowchartWorkflows/Elsa.Samples.ConsoleApp.FlowchartWorkflows.csproj
index 0aac4da11..fda785228 100644
--- a/samples/console/Elsa.Samples.ConsoleApp.FlowchartWorkflows/Elsa.Samples.ConsoleApp.FlowchartWorkflows.csproj
+++ b/samples/console/Elsa.Samples.ConsoleApp.FlowchartWorkflows/Elsa.Samples.ConsoleApp.FlowchartWorkflows.csproj
@@ -6,7 +6,7 @@
-
+
diff --git a/samples/console/Elsa.Samples.ConsoleApp.HelloWorld/Elsa.Samples.ConsoleApp.HelloWorld.csproj b/samples/console/Elsa.Samples.ConsoleApp.HelloWorld/Elsa.Samples.ConsoleApp.HelloWorld.csproj
index 5512d2695..08d14ecf2 100644
--- a/samples/console/Elsa.Samples.ConsoleApp.HelloWorld/Elsa.Samples.ConsoleApp.HelloWorld.csproj
+++ b/samples/console/Elsa.Samples.ConsoleApp.HelloWorld/Elsa.Samples.ConsoleApp.HelloWorld.csproj
@@ -6,7 +6,7 @@
-
+
diff --git a/samples/console/Elsa.Samples.ConsoleApp.JsonWorkflows/Elsa.Samples.ConsoleApp.JsonWorkflows.csproj b/samples/console/Elsa.Samples.ConsoleApp.JsonWorkflows/Elsa.Samples.ConsoleApp.JsonWorkflows.csproj
index b9d21ed15..0df6205cd 100644
--- a/samples/console/Elsa.Samples.ConsoleApp.JsonWorkflows/Elsa.Samples.ConsoleApp.JsonWorkflows.csproj
+++ b/samples/console/Elsa.Samples.ConsoleApp.JsonWorkflows/Elsa.Samples.ConsoleApp.JsonWorkflows.csproj
@@ -6,7 +6,7 @@
-
+
diff --git a/samples/console/Elsa.Samples.ConsoleApp.LoopingWorkflows/Elsa.Samples.ConsoleApp.LoopingWorkflows.csproj b/samples/console/Elsa.Samples.ConsoleApp.LoopingWorkflows/Elsa.Samples.ConsoleApp.LoopingWorkflows.csproj
index 3badef87f..ddbe7eb9b 100644
--- a/samples/console/Elsa.Samples.ConsoleApp.LoopingWorkflows/Elsa.Samples.ConsoleApp.LoopingWorkflows.csproj
+++ b/samples/console/Elsa.Samples.ConsoleApp.LoopingWorkflows/Elsa.Samples.ConsoleApp.LoopingWorkflows.csproj
@@ -6,7 +6,7 @@
-
+
diff --git a/samples/console/Elsa.Samples.ConsoleApp.OutboundHttpRequests/Elsa.Samples.ConsoleApp.OutboundHttpRequests.csproj b/samples/console/Elsa.Samples.ConsoleApp.OutboundHttpRequests/Elsa.Samples.ConsoleApp.OutboundHttpRequests.csproj
index f4807011c..904363b8a 100644
--- a/samples/console/Elsa.Samples.ConsoleApp.OutboundHttpRequests/Elsa.Samples.ConsoleApp.OutboundHttpRequests.csproj
+++ b/samples/console/Elsa.Samples.ConsoleApp.OutboundHttpRequests/Elsa.Samples.ConsoleApp.OutboundHttpRequests.csproj
@@ -6,7 +6,7 @@
-
+
diff --git a/samples/console/Elsa.Samples.ConsoleApp.SequentialWorkflows/Elsa.Samples.ConsoleApp.SequentialWorkflows.csproj b/samples/console/Elsa.Samples.ConsoleApp.SequentialWorkflows/Elsa.Samples.ConsoleApp.SequentialWorkflows.csproj
index 0aac4da11..fda785228 100644
--- a/samples/console/Elsa.Samples.ConsoleApp.SequentialWorkflows/Elsa.Samples.ConsoleApp.SequentialWorkflows.csproj
+++ b/samples/console/Elsa.Samples.ConsoleApp.SequentialWorkflows/Elsa.Samples.ConsoleApp.SequentialWorkflows.csproj
@@ -6,7 +6,7 @@
-
+
diff --git a/samples/console/Elsa.Samples.ConsoleApp.WorkflowFunctions/Elsa.Samples.ConsoleApp.WorkflowFunctions.csproj b/samples/console/Elsa.Samples.ConsoleApp.WorkflowFunctions/Elsa.Samples.ConsoleApp.WorkflowFunctions.csproj
index 0aac4da11..fda785228 100644
--- a/samples/console/Elsa.Samples.ConsoleApp.WorkflowFunctions/Elsa.Samples.ConsoleApp.WorkflowFunctions.csproj
+++ b/samples/console/Elsa.Samples.ConsoleApp.WorkflowFunctions/Elsa.Samples.ConsoleApp.WorkflowFunctions.csproj
@@ -6,7 +6,7 @@
-
+
diff --git a/samples/console/Elsa.Samples.ConsoleApp.WorkflowInputOutput/Elsa.Samples.ConsoleApp.WorkflowInputOutput.csproj b/samples/console/Elsa.Samples.ConsoleApp.WorkflowInputOutput/Elsa.Samples.ConsoleApp.WorkflowInputOutput.csproj
index 0aac4da11..fda785228 100644
--- a/samples/console/Elsa.Samples.ConsoleApp.WorkflowInputOutput/Elsa.Samples.ConsoleApp.WorkflowInputOutput.csproj
+++ b/samples/console/Elsa.Samples.ConsoleApp.WorkflowInputOutput/Elsa.Samples.ConsoleApp.WorkflowInputOutput.csproj
@@ -6,7 +6,7 @@
-
+
diff --git a/src/apps/Directory.Build.props b/src/apps/Directory.Build.props
new file mode 100644
index 000000000..1ead41344
--- /dev/null
+++ b/src/apps/Directory.Build.props
@@ -0,0 +1,16 @@
+
+
+ net8.0
+ latest
+ enable
+ enable
+ $(NoWarn);CS0162;CS1591
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/bundles/Elsa.Server.LoadBalancer/Elsa.Server.LoadBalancer.csproj b/src/apps/Elsa.Server.LoadBalancer/Elsa.Server.LoadBalancer.csproj
similarity index 100%
rename from src/bundles/Elsa.Server.LoadBalancer/Elsa.Server.LoadBalancer.csproj
rename to src/apps/Elsa.Server.LoadBalancer/Elsa.Server.LoadBalancer.csproj
diff --git a/src/bundles/Elsa.Server.LoadBalancer/FodyWeavers.xml b/src/apps/Elsa.Server.LoadBalancer/FodyWeavers.xml
similarity index 100%
rename from src/bundles/Elsa.Server.LoadBalancer/FodyWeavers.xml
rename to src/apps/Elsa.Server.LoadBalancer/FodyWeavers.xml
diff --git a/src/bundles/Elsa.Server.LoadBalancer/Program.cs b/src/apps/Elsa.Server.LoadBalancer/Program.cs
similarity index 100%
rename from src/bundles/Elsa.Server.LoadBalancer/Program.cs
rename to src/apps/Elsa.Server.LoadBalancer/Program.cs
diff --git a/src/bundles/Elsa.Server.LoadBalancer/Properties/launchSettings.json b/src/apps/Elsa.Server.LoadBalancer/Properties/launchSettings.json
similarity index 100%
rename from src/bundles/Elsa.Server.LoadBalancer/Properties/launchSettings.json
rename to src/apps/Elsa.Server.LoadBalancer/Properties/launchSettings.json
diff --git a/src/bundles/Elsa.Server.LoadBalancer/appsettings.Development.json b/src/apps/Elsa.Server.LoadBalancer/appsettings.Development.json
similarity index 100%
rename from src/bundles/Elsa.Server.LoadBalancer/appsettings.Development.json
rename to src/apps/Elsa.Server.LoadBalancer/appsettings.Development.json
diff --git a/src/bundles/Elsa.Server.LoadBalancer/appsettings.json b/src/apps/Elsa.Server.LoadBalancer/appsettings.json
similarity index 100%
rename from src/bundles/Elsa.Server.LoadBalancer/appsettings.json
rename to src/apps/Elsa.Server.LoadBalancer/appsettings.json
diff --git a/src/bundles/Elsa.Server.Web/Activities/SlowActivity.cs b/src/apps/Elsa.Server.Web/Activities/SlowActivity.cs
similarity index 100%
rename from src/bundles/Elsa.Server.Web/Activities/SlowActivity.cs
rename to src/apps/Elsa.Server.Web/Activities/SlowActivity.cs
diff --git a/src/bundles/Elsa.Server.Web/Elsa.Server.Web.csproj b/src/apps/Elsa.Server.Web/Elsa.Server.Web.csproj
similarity index 91%
rename from src/bundles/Elsa.Server.Web/Elsa.Server.Web.csproj
rename to src/apps/Elsa.Server.Web/Elsa.Server.Web.csproj
index eb5be7ffe..7622f41c1 100644
--- a/src/bundles/Elsa.Server.Web/Elsa.Server.Web.csproj
+++ b/src/apps/Elsa.Server.Web/Elsa.Server.Web.csproj
@@ -1,18 +1,11 @@
-
- net7.0;net8.0
- Linux
- false
- latest
-
-
-
+
@@ -51,6 +44,10 @@
+
+
+
+
diff --git a/src/bundles/Elsa.Server.Web/Elsa.Server.Web.csproj.DotSettings b/src/apps/Elsa.Server.Web/Elsa.Server.Web.csproj.DotSettings
similarity index 100%
rename from src/bundles/Elsa.Server.Web/Elsa.Server.Web.csproj.DotSettings
rename to src/apps/Elsa.Server.Web/Elsa.Server.Web.csproj.DotSettings
diff --git a/src/bundles/Elsa.Server.Web/Enums/ApplicationRole.cs b/src/apps/Elsa.Server.Web/Enums/ApplicationRole.cs
similarity index 100%
rename from src/bundles/Elsa.Server.Web/Enums/ApplicationRole.cs
rename to src/apps/Elsa.Server.Web/Enums/ApplicationRole.cs
diff --git a/src/bundles/Elsa.Server.Web/Enums/DistributedCachingTransport.cs b/src/apps/Elsa.Server.Web/Enums/DistributedCachingTransport.cs
similarity index 100%
rename from src/bundles/Elsa.Server.Web/Enums/DistributedCachingTransport.cs
rename to src/apps/Elsa.Server.Web/Enums/DistributedCachingTransport.cs
diff --git a/src/bundles/Elsa.Server.Web/Enums/MassTransitBroker.cs b/src/apps/Elsa.Server.Web/Enums/MassTransitBroker.cs
similarity index 100%
rename from src/bundles/Elsa.Server.Web/Enums/MassTransitBroker.cs
rename to src/apps/Elsa.Server.Web/Enums/MassTransitBroker.cs
diff --git a/src/bundles/Elsa.Server.Web/Enums/PersistenceProvider.cs b/src/apps/Elsa.Server.Web/Enums/PersistenceProvider.cs
similarity index 100%
rename from src/bundles/Elsa.Server.Web/Enums/PersistenceProvider.cs
rename to src/apps/Elsa.Server.Web/Enums/PersistenceProvider.cs
diff --git a/src/bundles/Elsa.Server.Web/Enums/SqlDatabaseProvider.cs b/src/apps/Elsa.Server.Web/Enums/SqlDatabaseProvider.cs
similarity index 100%
rename from src/bundles/Elsa.Server.Web/Enums/SqlDatabaseProvider.cs
rename to src/apps/Elsa.Server.Web/Enums/SqlDatabaseProvider.cs
diff --git a/src/bundles/Elsa.Server.Web/Enums/WorkflowRuntime.cs b/src/apps/Elsa.Server.Web/Enums/WorkflowRuntime.cs
similarity index 100%
rename from src/bundles/Elsa.Server.Web/Enums/WorkflowRuntime.cs
rename to src/apps/Elsa.Server.Web/Enums/WorkflowRuntime.cs
diff --git a/src/bundles/Elsa.Server.Web/FodyWeavers.xml b/src/apps/Elsa.Server.Web/FodyWeavers.xml
similarity index 100%
rename from src/bundles/Elsa.Server.Web/FodyWeavers.xml
rename to src/apps/Elsa.Server.Web/FodyWeavers.xml
diff --git a/src/bundles/Elsa.Server.Web/Middleware/SimulatedLatencyMiddleware.cs b/src/apps/Elsa.Server.Web/Middleware/SimulatedLatencyMiddleware.cs
similarity index 100%
rename from src/bundles/Elsa.Server.Web/Middleware/SimulatedLatencyMiddleware.cs
rename to src/apps/Elsa.Server.Web/Middleware/SimulatedLatencyMiddleware.cs
diff --git a/src/bundles/Elsa.Server.Web/Program.cs b/src/apps/Elsa.Server.Web/Program.cs
similarity index 96%
rename from src/bundles/Elsa.Server.Web/Program.cs
rename to src/apps/Elsa.Server.Web/Program.cs
index 450d71301..3ea373136 100644
--- a/src/bundles/Elsa.Server.Web/Program.cs
+++ b/src/apps/Elsa.Server.Web/Program.cs
@@ -14,16 +14,16 @@ using Elsa.EntityFrameworkCore.Modules.Runtime;
using Elsa.Extensions;
using Elsa.Features.Services;
using Elsa.Http.MultiTenancy;
-using Elsa.MassTransit.Extensions;
using Elsa.Identity.MultiTenancy;
+using Elsa.MassTransit.Extensions;
using Elsa.MongoDb.Extensions;
using Elsa.MongoDb.Modules.Alterations;
using Elsa.MongoDb.Modules.Identity;
using Elsa.MongoDb.Modules.Management;
using Elsa.MongoDb.Modules.Runtime;
using Elsa.Server.Web;
-using Elsa.Workflows;
using Elsa.Tenants.Extensions;
+using Elsa.Workflows;
using Elsa.Workflows.Api;
using Elsa.Workflows.Management.Compression;
using Elsa.Workflows.Management.Stores;
@@ -37,6 +37,7 @@ using Microsoft.Data.Sqlite;
using Microsoft.Extensions.Options;
using Proto.Persistence.Sqlite;
using Proto.Persistence.SqlServer;
+using StackExchange.Redis;
const PersistenceProvider persistenceProvider = PersistenceProvider.EntityFrameworkCore;
const SqlDatabaseProvider sqlDatabaseProvider = SqlDatabaseProvider.Sqlite;
@@ -125,7 +126,7 @@ services
ef.RunMigrations = runEFCoreMigrations;
});
-
+
identity.TokenOptions = options => identityTokenSection.Bind(options);
identity.UseConfigurationBasedUserProvider(options => identitySection.Bind(options));
identity.UseConfigurationBasedApplicationProvider(options => identitySection.Bind(options));
@@ -196,12 +197,18 @@ services
if (workflowRuntime == WorkflowRuntime.ProtoActor)
{
- runtime.UseProtoActor(proto => proto.PersistenceProvider = _ =>
+ runtime.UseProtoActor(proto =>
{
- if (sqlDatabaseProvider == SqlDatabaseProvider.SqlServer)
- return new SqlServerProvider(sqlServerConnectionString!, true, "", "proto_actor");
- else
+ proto
+ .EnableMetrics()
+ .EnableTracing();
+
+ proto.PersistenceProvider = _ =>
+ {
+ if (sqlDatabaseProvider == SqlDatabaseProvider.SqlServer)
+ return new SqlServerProvider(sqlServerConnectionString!, true, "", "proto_actor");
return new SqliteProvider(new SqliteConnectionStringBuilder(sqliteConnectionString));
+ };
});
}
@@ -221,7 +228,7 @@ services
runtime.UseCache();
runtime.DistributedLockingOptions = options => configuration.GetSection("Runtime:DistributedLocking").Bind(options);
-
+
runtime.DistributedLockProvider = _ =>
{
switch (distributedLockProviderName)
@@ -234,7 +241,7 @@ services
});
case "Redis":
{
- var connectionMultiplexer = StackExchange.Redis.ConnectionMultiplexer.Connect(redisConnectionString);
+ var connectionMultiplexer = ConnectionMultiplexer.Connect(redisConnectionString);
var database = connectionMultiplexer.GetDatabase();
return new RedisDistributedSynchronizationProvider(database);
}
@@ -404,7 +411,6 @@ services
});
services.Configure(options => options.CacheDuration = TimeSpan.FromDays(1));
-
services.AddHealthChecks();
services.AddControllers();
services.AddCors(cors => cors.AddDefaultPolicy(policy => policy.AllowAnyHeader().AllowAnyMethod().AllowAnyOrigin().WithExposedHeaders("*")));
diff --git a/src/bundles/Elsa.Server.Web/Properties/launchSettings.json b/src/apps/Elsa.Server.Web/Properties/launchSettings.json
similarity index 100%
rename from src/bundles/Elsa.Server.Web/Properties/launchSettings.json
rename to src/apps/Elsa.Server.Web/Properties/launchSettings.json
diff --git a/src/apps/Elsa.Server.Web/README.md b/src/apps/Elsa.Server.Web/README.md
new file mode 100644
index 000000000..cade2408c
--- /dev/null
+++ b/src/apps/Elsa.Server.Web/README.md
@@ -0,0 +1,29 @@
+# Server
+
+This project represents an Elsa application that hosts workflows and exposes API endpoints to manage & execute workflows.
+
+## Secrets
+The following are the secrets stored in hashed form in appsettings.json:
+
+**API key**: `48587230567A646D394B435A6277734A-4802fa49-e91e-45e8-b00f-b5492377e20b`
+**Admin user**: `admin`
+**Admin password**: `password`
+
+## OpenTelemetry (MacOS)
+
+COR_ENABLE_PROFILING=1
+COR_PROFILER={918728DD-259F-4A6A-AC2B-B85E1B658318}
+CORECLR_PROFILER_PATH=$INSTALL_DIR/osx-x64/OpenTelemetry.AutoInstrumentation.Native.dylib
+DOTNET_ADDITIONAL_DEPS=$INSTALL_DIR/AdditionalDeps
+DOTNET_EnableDiagnostics=1
+DOTNET_SHARED_STORE=$INSTALL_DIR/store
+DOTNET_STARTUP_HOOKS=OpenTelemetry.AutoInstrumentation.StartupHook
+OTEL_DOTNET_AUTO_HOME=$INSTALL_DIR
+OTEL_DOTNET_AUTO_LOGS_CONSOLE_EXPORTER_ENABLED=true
+OTEL_DOTNET_AUTO_METRICS_CONSOLE_EXPORTER_ENABLED=true
+OTEL_DOTNET_AUTO_TRACES_ADDITIONAL_SOURCES=Proto.Actor
+OTEL_DOTNET_AUTO_TRACES_CONSOLE_EXPORTER_ENABLED=true
+OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317
+OTEL_EXPORTER_OTLP_PROTOCOL=grpc
+OTEL_RESOURCE_ATTRIBUTES=service.name=Elsa
+Server,service.version=3.3.0,service.instance.id=instance-123,deployment.environment=development
\ No newline at end of file
diff --git a/src/bundles/Elsa.Server.Web/appsettings.json b/src/apps/Elsa.Server.Web/appsettings.json
similarity index 100%
rename from src/bundles/Elsa.Server.Web/appsettings.json
rename to src/apps/Elsa.Server.Web/appsettings.json
diff --git a/src/bundles/Elsa.ServerAndStudio.Web/Elsa.ServerAndStudio.Web.csproj b/src/apps/Elsa.ServerAndStudio.Web/Elsa.ServerAndStudio.Web.csproj
similarity index 97%
rename from src/bundles/Elsa.ServerAndStudio.Web/Elsa.ServerAndStudio.Web.csproj
rename to src/apps/Elsa.ServerAndStudio.Web/Elsa.ServerAndStudio.Web.csproj
index 23d188639..82ae19ecf 100644
--- a/src/bundles/Elsa.ServerAndStudio.Web/Elsa.ServerAndStudio.Web.csproj
+++ b/src/apps/Elsa.ServerAndStudio.Web/Elsa.ServerAndStudio.Web.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/src/bundles/Elsa.ServerAndStudio.Web/Enums/DistributedCachingTransport.cs b/src/apps/Elsa.ServerAndStudio.Web/Enums/DistributedCachingTransport.cs
similarity index 100%
rename from src/bundles/Elsa.ServerAndStudio.Web/Enums/DistributedCachingTransport.cs
rename to src/apps/Elsa.ServerAndStudio.Web/Enums/DistributedCachingTransport.cs
diff --git a/src/bundles/Elsa.ServerAndStudio.Web/Enums/MassTransitBroker.cs b/src/apps/Elsa.ServerAndStudio.Web/Enums/MassTransitBroker.cs
similarity index 100%
rename from src/bundles/Elsa.ServerAndStudio.Web/Enums/MassTransitBroker.cs
rename to src/apps/Elsa.ServerAndStudio.Web/Enums/MassTransitBroker.cs
diff --git a/src/bundles/Elsa.ServerAndStudio.Web/Extensions/CorsOptionsExtensions.cs b/src/apps/Elsa.ServerAndStudio.Web/Extensions/CorsOptionsExtensions.cs
similarity index 100%
rename from src/bundles/Elsa.ServerAndStudio.Web/Extensions/CorsOptionsExtensions.cs
rename to src/apps/Elsa.ServerAndStudio.Web/Extensions/CorsOptionsExtensions.cs
diff --git a/src/bundles/Elsa.ServerAndStudio.Web/FodyWeavers.xml b/src/apps/Elsa.ServerAndStudio.Web/FodyWeavers.xml
similarity index 100%
rename from src/bundles/Elsa.ServerAndStudio.Web/FodyWeavers.xml
rename to src/apps/Elsa.ServerAndStudio.Web/FodyWeavers.xml
diff --git a/src/bundles/Elsa.ServerAndStudio.Web/Pages/_Host.cshtml b/src/apps/Elsa.ServerAndStudio.Web/Pages/_Host.cshtml
similarity index 100%
rename from src/bundles/Elsa.ServerAndStudio.Web/Pages/_Host.cshtml
rename to src/apps/Elsa.ServerAndStudio.Web/Pages/_Host.cshtml
diff --git a/src/bundles/Elsa.ServerAndStudio.Web/Program.cs b/src/apps/Elsa.ServerAndStudio.Web/Program.cs
similarity index 100%
rename from src/bundles/Elsa.ServerAndStudio.Web/Program.cs
rename to src/apps/Elsa.ServerAndStudio.Web/Program.cs
diff --git a/src/bundles/Elsa.ServerAndStudio.Web/Properties/launchSettings.json b/src/apps/Elsa.ServerAndStudio.Web/Properties/launchSettings.json
similarity index 100%
rename from src/bundles/Elsa.ServerAndStudio.Web/Properties/launchSettings.json
rename to src/apps/Elsa.ServerAndStudio.Web/Properties/launchSettings.json
diff --git a/src/bundles/Elsa.ServerAndStudio.Web/README.md b/src/apps/Elsa.ServerAndStudio.Web/README.md
similarity index 100%
rename from src/bundles/Elsa.ServerAndStudio.Web/README.md
rename to src/apps/Elsa.ServerAndStudio.Web/README.md
diff --git a/src/bundles/Elsa.ServerAndStudio.Web/appsettings.json b/src/apps/Elsa.ServerAndStudio.Web/appsettings.json
similarity index 100%
rename from src/bundles/Elsa.ServerAndStudio.Web/appsettings.json
rename to src/apps/Elsa.ServerAndStudio.Web/appsettings.json
diff --git a/src/bundles/Elsa.Studio.Web/Elsa.Studio.Web.csproj b/src/apps/Elsa.Studio.Web/Elsa.Studio.Web.csproj
similarity index 100%
rename from src/bundles/Elsa.Studio.Web/Elsa.Studio.Web.csproj
rename to src/apps/Elsa.Studio.Web/Elsa.Studio.Web.csproj
diff --git a/src/bundles/Elsa.Studio.Web/FodyWeavers.xml b/src/apps/Elsa.Studio.Web/FodyWeavers.xml
similarity index 100%
rename from src/bundles/Elsa.Studio.Web/FodyWeavers.xml
rename to src/apps/Elsa.Studio.Web/FodyWeavers.xml
diff --git a/src/bundles/Elsa.Studio.Web/Pages/_Host.cshtml b/src/apps/Elsa.Studio.Web/Pages/_Host.cshtml
similarity index 100%
rename from src/bundles/Elsa.Studio.Web/Pages/_Host.cshtml
rename to src/apps/Elsa.Studio.Web/Pages/_Host.cshtml
diff --git a/src/bundles/Elsa.Studio.Web/Program.cs b/src/apps/Elsa.Studio.Web/Program.cs
similarity index 100%
rename from src/bundles/Elsa.Studio.Web/Program.cs
rename to src/apps/Elsa.Studio.Web/Program.cs
diff --git a/src/bundles/Elsa.Studio.Web/Properties/launchSettings.json b/src/apps/Elsa.Studio.Web/Properties/launchSettings.json
similarity index 100%
rename from src/bundles/Elsa.Studio.Web/Properties/launchSettings.json
rename to src/apps/Elsa.Studio.Web/Properties/launchSettings.json
diff --git a/src/bundles/ElsaStudioWebAssembly/ElsaStudioWebAssembly.csproj b/src/apps/ElsaStudioWebAssembly/ElsaStudioWebAssembly.csproj
similarity index 100%
rename from src/bundles/ElsaStudioWebAssembly/ElsaStudioWebAssembly.csproj
rename to src/apps/ElsaStudioWebAssembly/ElsaStudioWebAssembly.csproj
diff --git a/src/bundles/Elsa/FodyWeavers.xml b/src/apps/ElsaStudioWebAssembly/FodyWeavers.xml
similarity index 100%
rename from src/bundles/Elsa/FodyWeavers.xml
rename to src/apps/ElsaStudioWebAssembly/FodyWeavers.xml
diff --git a/src/bundles/ElsaStudioWebAssembly/MainLayout.razor b/src/apps/ElsaStudioWebAssembly/MainLayout.razor
similarity index 100%
rename from src/bundles/ElsaStudioWebAssembly/MainLayout.razor
rename to src/apps/ElsaStudioWebAssembly/MainLayout.razor
diff --git a/src/bundles/ElsaStudioWebAssembly/Program.cs b/src/apps/ElsaStudioWebAssembly/Program.cs
similarity index 100%
rename from src/bundles/ElsaStudioWebAssembly/Program.cs
rename to src/apps/ElsaStudioWebAssembly/Program.cs
diff --git a/src/bundles/ElsaStudioWebAssembly/Properties/launchSettings.json b/src/apps/ElsaStudioWebAssembly/Properties/launchSettings.json
similarity index 100%
rename from src/bundles/ElsaStudioWebAssembly/Properties/launchSettings.json
rename to src/apps/ElsaStudioWebAssembly/Properties/launchSettings.json
diff --git a/src/bundles/ElsaStudioWebAssembly/README.md b/src/apps/ElsaStudioWebAssembly/README.md
similarity index 100%
rename from src/bundles/ElsaStudioWebAssembly/README.md
rename to src/apps/ElsaStudioWebAssembly/README.md
diff --git a/src/bundles/ElsaStudioWebAssembly/_Imports.razor b/src/apps/ElsaStudioWebAssembly/_Imports.razor
similarity index 100%
rename from src/bundles/ElsaStudioWebAssembly/_Imports.razor
rename to src/apps/ElsaStudioWebAssembly/_Imports.razor
diff --git a/src/bundles/Elsa.Server.Web/README.md b/src/bundles/Elsa.Server.Web/README.md
deleted file mode 100644
index eea64e806..000000000
--- a/src/bundles/Elsa.Server.Web/README.md
+++ /dev/null
@@ -1,10 +0,0 @@
-# Server
-
-This project represents an Elsa application that hosts workflows and exposes API endpoints to manage & execute workflows.
-
-## Secrets
-The following are the secrets stored in hashed form in appsettings.json:
-
-**API key**: `48587230567A646D394B435A6277734A-4802fa49-e91e-45e8-b00f-b5492377e20b`
-**Admin user**: `admin`
-**Admin password**: `password`
\ No newline at end of file
diff --git a/src/common/Elsa.Testing.Shared.Integration/Elsa.Testing.Shared.Integration.csproj b/src/common/Elsa.Testing.Shared.Integration/Elsa.Testing.Shared.Integration.csproj
index cdfbb29c6..06b02b196 100644
--- a/src/common/Elsa.Testing.Shared.Integration/Elsa.Testing.Shared.Integration.csproj
+++ b/src/common/Elsa.Testing.Shared.Integration/Elsa.Testing.Shared.Integration.csproj
@@ -14,7 +14,7 @@
-
+
diff --git a/src/modules/Elsa.ProtoActor/Elsa.ProtoActor.csproj b/src/modules/Elsa.ProtoActor/Elsa.ProtoActor.csproj
index 647bf8842..b90469f88 100644
--- a/src/modules/Elsa.ProtoActor/Elsa.ProtoActor.csproj
+++ b/src/modules/Elsa.ProtoActor/Elsa.ProtoActor.csproj
@@ -18,6 +18,7 @@
+
@@ -32,8 +33,4 @@
-
-
-
-
diff --git a/src/modules/Elsa.ProtoActor/Features/ProtoActorFeature.cs b/src/modules/Elsa.ProtoActor/Features/ProtoActorFeature.cs
index fb70f49dd..4f08fee4b 100644
--- a/src/modules/Elsa.ProtoActor/Features/ProtoActorFeature.cs
+++ b/src/modules/Elsa.ProtoActor/Features/ProtoActorFeature.cs
@@ -16,24 +16,64 @@ using Proto.Cluster;
using Proto.Cluster.Partition;
using Proto.Cluster.Testing;
using Proto.DependencyInjection;
+using Proto.OpenTelemetry;
using Proto.Persistence;
using Proto.Remote;
using Proto.Remote.GrpcNet;
namespace Elsa.ProtoActor.Features;
-///
/// Installs the Proto Actor feature to host & execute workflow instances.
-///
[DependsOn(typeof(WorkflowsFeature))]
[DependsOn(typeof(WorkflowRuntimeFeature))]
public class ProtoActorFeature : FeatureBase
{
+ private string _clusterName = "elsa-cluster";
+ private LogLevel _diagnosticsLogLevel = LogLevel.Information;
+ private bool _enableMetrics;
+ private bool _enableTracing;
+
///
public ProtoActorFeature(IModule module) : base(module)
{
}
+ /// A delegate that returns an instance of a concrete implementation of .
+ public Func CreateClusterProvider { get; set; } = _ => new TestProvider(new TestProviderOptions(), new InMemAgent());
+
+ /// A delegate that configures an instance of .
+ public Action ConfigureActorSystemConfig { get; set; } = SetupDefaultConfig;
+
+ /// A delegate that configures an instance of an .
+ public Action ConfigureActorSystem { get; set; } = (_, _) => { };
+
+ /// A delegate that returns an instance of to be used by the actor system.
+ public Func ConfigureRemoteConfig { get; set; } = CreateDefaultRemoteConfig;
+
+ /// A delegate that returns an instance of a concrete implementation of to use for persisting events and snapshots.
+ public Func PersistenceProvider { get; set; } = _ => new InMemoryProvider();
+
+ /// A delegate that configures an instance of .
+ public Action? ConfigureClusterConfig { get; set; }
+
+ public ProtoActorFeature EnableMetrics(bool value = true)
+ {
+ _enableMetrics = value;
+ return this;
+ }
+
+ public ProtoActorFeature EnableTracing(bool value = true)
+ {
+ _enableTracing = value;
+ return this;
+ }
+
+ public ProtoActorFeature WithDiagnosticsLevel(LogLevel value)
+ {
+ _diagnosticsLogLevel = value;
+ return this;
+ }
+
///
public override void Configure()
{
@@ -41,36 +81,6 @@ public class ProtoActorFeature : FeatureBase
Module.Configure().WorkflowRuntime = sp => ActivatorUtilities.CreateInstance(sp);
}
- ///
- /// The name of the cluster to configure.
- ///
- public string ClusterName { get; set; } = "elsa-cluster";
-
- ///
- /// A delegate that returns an instance of a concrete implementation of .
- ///
- public Func ClusterProvider { get; set; } = _ => new TestProvider(new TestProviderOptions(), new InMemAgent());
-
- ///
- /// A delegate that configures an instance of .
- ///
- public Action ActorSystemConfig { get; set; } = SetupDefaultConfig;
-
- ///
- /// A delegate that configures an instance of an .
- ///
- public Action ActorSystem { get; set; } = (_, _) => { };
-
- ///
- /// A delegate that returns an instance of to be used by the actor system.
- ///
- public Func RemoteConfig { get; set; } = CreateDefaultRemoteConfig;
-
- ///
- /// A delegate that returns an instance of a concrete implementation of to use for persisting events and snapshots.
- ///
- public Func PersistenceProvider { get; set; } = _ => new InMemoryProvider();
-
///
public override void ConfigureHostedServices()
{
@@ -85,36 +95,42 @@ public class ProtoActorFeature : FeatureBase
// Register ActorSystem.
services.AddSingleton(sp =>
{
- var systemConfig = Proto.ActorSystemConfig
+ var actorSystemConfig = ActorSystemConfig
.Setup()
- .WithDiagnosticsLogLevel(LogLevel.Debug)
- .WithMetrics();
+ .WithDiagnosticsLogLevel(_diagnosticsLogLevel);
- var clusterProvider = ClusterProvider(sp);
- var system = new ActorSystem(systemConfig).WithServiceProvider(sp);
+ if (_enableMetrics)
+ actorSystemConfig = actorSystemConfig.WithMetrics();
+
+ ConfigureActorSystemConfig(sp, actorSystemConfig);
+
+ var clusterProvider = CreateClusterProvider(sp);
+ var system = new ActorSystem(actorSystemConfig).WithServiceProvider(sp);
var workflowGrainProps = system.DI().PropsFor();
+ if (_enableTracing)
+ workflowGrainProps = workflowGrainProps.WithTracing();
+
var clusterConfig = ClusterConfig
- .Setup(ClusterName, clusterProvider, new PartitionIdentityLookup())
+ .Setup(_clusterName, clusterProvider, new PartitionIdentityLookup())
.WithHeartbeatExpiration(TimeSpan.FromDays(1))
.WithActorRequestTimeout(TimeSpan.FromSeconds(1000))
.WithActorSpawnVerificationTimeout(TimeSpan.FromHours(1))
.WithActorActivationTimeout(TimeSpan.FromHours(1))
.WithActorSpawnVerificationTimeout(TimeSpan.FromHours(1))
.WithGossipRequestTimeout(TimeSpan.FromHours(1))
- //.WithLegacyRequestTimeoutBehavior()
.WithClusterKind(WorkflowInstanceActor.Kind, workflowGrainProps)
;
- ActorSystemConfig(sp, systemConfig);
-
- var remoteConfig = RemoteConfig(sp);
+ ConfigureClusterConfig?.Invoke(sp, clusterConfig);
+ var remoteConfig = ConfigureRemoteConfig(sp);
system
.WithRemote(remoteConfig)
.WithCluster(clusterConfig);
- ActorSystem(sp, system);
+ ConfigureActorSystem(sp, system);
+
return system;
});
@@ -151,7 +167,7 @@ public class ProtoActorFeature : FeatureBase
// Actors.
services
.AddTransient(sp => new WorkflowInstanceActor((context, _) => ActivatorUtilities.CreateInstance(sp, context)));
-
+
// Distributed runtime.
services.AddSingleton();
}
diff --git a/src/modules/Elsa.Workflows.Core/Services/VariablePersistenceManager.cs b/src/modules/Elsa.Workflows.Core/Services/VariablePersistenceManager.cs
index 6f2af924a..aeeccb5c1 100644
--- a/src/modules/Elsa.Workflows.Core/Services/VariablePersistenceManager.cs
+++ b/src/modules/Elsa.Workflows.Core/Services/VariablePersistenceManager.cs
@@ -6,18 +6,8 @@ using Elsa.Workflows.Memory;
namespace Elsa.Workflows;
///
-public class VariablePersistenceManager : IVariablePersistenceManager
+public class VariablePersistenceManager(IStorageDriverManager storageDriverManager) : IVariablePersistenceManager
{
- private readonly IStorageDriverManager _storageDriverManager;
-
- ///
- /// Constructor.
- ///
- public VariablePersistenceManager(IStorageDriverManager storageDriverManager)
- {
- _storageDriverManager = storageDriverManager;
- }
-
///
public async Task LoadVariablesAsync(WorkflowExecutionContext workflowExecutionContext)
{
@@ -35,9 +25,12 @@ public class VariablePersistenceManager : IVariablePersistenceManager
var register = context.ExpressionExecutionContext.Memory;
var block = EnsureBlock(register, variable);
var metadata = (VariableBlockMetadata)block.Metadata!;
- var driver = _storageDriverManager.Get(metadata.StorageDriverType!);
+ var driver = storageDriverManager.Get(metadata.StorageDriverType!);
- block.Metadata = metadata with { IsInitialized = true };
+ block.Metadata = metadata with
+ {
+ IsInitialized = true
+ };
if (driver == null)
continue;
@@ -68,11 +61,11 @@ public class VariablePersistenceManager : IVariablePersistenceManager
{
var block = variable.GetBlock(context.ExpressionExecutionContext);
var metadata = (VariableBlockMetadata)block.Metadata!;
- var driver = _storageDriverManager.Get(metadata.StorageDriverType!);
+ var driver = storageDriverManager.Get(metadata.StorageDriverType!);
if (driver == null)
continue;
-
+
var id = GetStateId(variable);
var value = block.Value;
@@ -84,7 +77,6 @@ public class VariablePersistenceManager : IVariablePersistenceManager
}
}
-
///
public async Task DeleteVariablesAsync(ActivityExecutionContext context)
{
@@ -99,7 +91,7 @@ public class VariablePersistenceManager : IVariablePersistenceManager
continue;
var metadata = (VariableBlockMetadata)block.Metadata!;
- var driver = _storageDriverManager.Get(metadata.StorageDriverType!);
+ var driver = storageDriverManager.Get(metadata.StorageDriverType!);
if (driver == null)
continue;
diff --git a/src/bundles/Elsa/Elsa.csproj b/src/modules/Elsa/Elsa.csproj
similarity index 100%
rename from src/bundles/Elsa/Elsa.csproj
rename to src/modules/Elsa/Elsa.csproj
diff --git a/src/bundles/Elsa/Extensions/DependencyInjectionExtensions.cs b/src/modules/Elsa/Extensions/DependencyInjectionExtensions.cs
similarity index 100%
rename from src/bundles/Elsa/Extensions/DependencyInjectionExtensions.cs
rename to src/modules/Elsa/Extensions/DependencyInjectionExtensions.cs
diff --git a/src/bundles/Elsa/Extensions/ServiceProviderExtensions.cs b/src/modules/Elsa/Extensions/ServiceProviderExtensions.cs
similarity index 100%
rename from src/bundles/Elsa/Extensions/ServiceProviderExtensions.cs
rename to src/modules/Elsa/Extensions/ServiceProviderExtensions.cs
diff --git a/src/bundles/Elsa/Features/AppFeature.cs b/src/modules/Elsa/Features/AppFeature.cs
similarity index 100%
rename from src/bundles/Elsa/Features/AppFeature.cs
rename to src/modules/Elsa/Features/AppFeature.cs
diff --git a/src/bundles/Elsa/Features/ElsaFeature.cs b/src/modules/Elsa/Features/ElsaFeature.cs
similarity index 100%
rename from src/bundles/Elsa/Features/ElsaFeature.cs
rename to src/modules/Elsa/Features/ElsaFeature.cs
diff --git a/src/bundles/ElsaStudioWebAssembly/FodyWeavers.xml b/src/modules/Elsa/FodyWeavers.xml
similarity index 100%
rename from src/bundles/ElsaStudioWebAssembly/FodyWeavers.xml
rename to src/modules/Elsa/FodyWeavers.xml
diff --git a/test/component/Elsa.AzureServiceBus.ComponentTests/Elsa.AzureServiceBus.ComponentTests.csproj b/test/component/Elsa.AzureServiceBus.ComponentTests/Elsa.AzureServiceBus.ComponentTests.csproj
index e7de61e7c..96f81d332 100644
--- a/test/component/Elsa.AzureServiceBus.ComponentTests/Elsa.AzureServiceBus.ComponentTests.csproj
+++ b/test/component/Elsa.AzureServiceBus.ComponentTests/Elsa.AzureServiceBus.ComponentTests.csproj
@@ -19,7 +19,7 @@
-
+
diff --git a/test/component/Elsa.Workflows.ComponentTests/Elsa.Workflows.ComponentTests.csproj b/test/component/Elsa.Workflows.ComponentTests/Elsa.Workflows.ComponentTests.csproj
index 28c11218b..00abd030f 100644
--- a/test/component/Elsa.Workflows.ComponentTests/Elsa.Workflows.ComponentTests.csproj
+++ b/test/component/Elsa.Workflows.ComponentTests/Elsa.Workflows.ComponentTests.csproj
@@ -14,7 +14,7 @@
-
+