Commit graph

45 commits

Author SHA1 Message Date
Sipke Schoorstra 3deac4fb0c Update DSL and sample 2022-03-28 13:25:45 +02:00
Sipke Schoorstra a6e288fdd7 Update namespaces and decorate activities with attributes 2022-03-24 12:18:14 +01:00
Sipke Schoorstra b23ebdaddd Restructuring 2022-03-22 14:33:15 +01:00
Sipke Schoorstra f5aeaf9120 Various refactorings 2022-03-07 22:56:16 +01:00
Sipke Schoorstra 6b7caddca8 Refactor triggers 2022-03-07 12:01:27 +01:00
Sipke Schoorstra 161a70e429 Remove Trigger separation 2022-03-04 21:42:27 +01:00
Sipke Schoorstra c600399f0d Refactorings 2022-03-04 19:59:44 +01:00
Sipke Schoorstra 0d06ae1823 Incremental work on Azure Service Bus 2022-02-22 12:51:59 +01:00
Sipke Schoorstra ba05ce7ee7 Incremental work on Switch 2022-01-25 15:01:11 +01:00
Sipke Schoorstra 6e969bfa5f Split scheduling activities into scheduling library and activity library 2022-01-18 12:39:05 +01:00
Sipke Schoorstra 783f05ffdc Incremental work on timers and trigger & bookmark indexing 2022-01-17 22:44:41 +01:00
Sipke Schoorstra 689147b9ca Add sources from experimental repo 2022-01-04 09:42:12 +01:00
Sipke Schoorstra 42ce946d64 Reset 2022-01-04 09:38:11 +01:00
Yopi Cahya 4933a2e81e
Upgrade all projects to .NET6.0 (#2616)
* Upgrade all projects to .NET6.0

* Add compatibility NET5.0

* Add compatibility NET Core 3.1

* Update appveyor.yml

* Update packages

* Update src/activities/Elsa.Activities.Http/Elsa.Activities.Http.csproj

Remove common Authorization package

* Update src/activities/Elsa.Activities.Http/Elsa.Activities.Http.csproj

reimplement fix for #1568

* reimplement fix for #1611

* add missing .netcoreapp3.1 references to persistence packages

* fix Jint reference

* change samples and tests to target .NET 6

* cleanup multi-targeting conditions in samples/tests

* revert Elsa and Elsa.Temporal.Common to .netstandard2.1 only

* Update docker files to use net6.0 SDK

* Fix docker poor performance on arm64

* Update Elsa.sln

* Update Elsa.Activities.RabbitMq.csproj

Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
Co-authored-by: Mohamed Ali <antivirus.cs@gmail.com>
2021-12-26 22:31:35 +01:00
Sipke Schoorstra 3c4a10d650 Implement infinite loop detection and handling 2021-09-01 19:06:07 +02:00
Sipke Schoorstra 489750432a Remove Email and UserTask projects from Elsa project 2021-04-21 14:46:17 +02:00
Sipke Schoorstra 347c188ab1 Ensure that StartupRunner hosted service is registered before Elsa Options get evaluated
This prevents an issue when the user invokes StartWorkflow<T>, which would register the StartWorkflow<T> hosted service before the StartupRunner hosted service is registered.
The problem with that is that the migrations runner for EF Core executes *after* the StartWorkflow hosted service, which would then fail because the DB isn't prepared at that point.
2021-04-19 13:55:33 +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 38be994e31 Break up WorkflowRunner into smaller types and extracted reusable trigger logic 2021-04-02 12:43:14 +02:00
Craig Fowler a0f0db4d54 WIP #564 - Removed reference/dependency from Elsa
Because the consumer must choose either Hangfire or Quartz impl
package, the main Elsa metapackage can no longer directly provide
Temporal activities.
2021-02-28 20:49:34 +01:00
Craig Fowler 77a8f5be52 WIP #564 - Rename Elsa.Activities.Timers
The project/NuGet package for common logic relating to
temporal actions has been renamed:
  Elsa.Activities.Timers → Elsa.Activities.Temporal.Common

Whilst large numbers of files are "changed" by this commit,
it's just a straight move to a new path.
2021-02-28 20:49:34 +01:00
Sipke Schoorstra 2f29dc379c Upgrade to .NET Standard 2.1 2021-01-31 18:44:57 +01:00
Sipke Schoorstra fa13aadd37 Serialization improvements and cleanup 2020-12-26 14:37:05 +01:00
Sipke Schoorstra 310cab9032
Elsa Activity + Workflow registration refactorings (#543)
* Elsa options and activity/workflow registration improvements

* Add convenience extensions for Quartz and Hangfire timer activity registration

* Fix solution and warnings
2020-12-26 12:21:08 +01:00
Rafael Carnucci 92e1a1c3bf
Redesign activities and workflows management (#536)
* Adding Activities, Workflows, TriggerProviders and WorkflowContextProviders by Reflection

* Activities stored in ElsaOptions, instead of IServiceCollection

* Remove the empty XML comments

* Renamed ElsaConfigurationsOptions to ElsaConfiguration

* Small enhancements

* Workflows stored in ElsaOptions, instead of IServiceCollection

* Instantiated workflows can now be added

* Workflow instance was not registered to DI

* Add Elsa.Activities.Rebus project to solution

Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
2020-12-25 21:17:17 +01:00
Sipke Schoorstra 03c9f94671
Improve specifications and YesSQL implementation (#529)
* Update Fluid.Core package

* Make specifications flexible

* Update build environment

* Disable global.json
2020-12-20 12:12:32 +01:00
Rafael Carnucci 0ba56f51b4
Enhance project structure (#524)
* Fix sample Elsa.Samples.FileBasedWorkflow

* Centralize project properties

* Fix PackageLicenseExpression

* Added configureawait.props & FodyWeavers.xml & FodyWeavers.xsd.

* Remove icon.png and added PackageIconUrl

* Removed <Nullable>disable</Nullable>

* Fix Icon in Elsa.Activities.MassTransit and Rebuild

Co-authored-by: Rafael Carnucci <rafael.carnucci@icn.de>
2020-12-16 10:31:02 +01:00
Sipke Schoorstra d31ef98bb1 Update to .NET 5 and update icon 2020-11-11 21:32:12 +01:00
Sipke Schoorstra 3700bb2323 Update package projects 2020-10-29 09:30:43 +01:00
Sipke Schoorstra 0c47a781d5 Update package descriptions and names 2020-10-18 17:42:34 +02:00
Sipke Schoorstra 1a85fc5f26 Implement in-memory provider 2020-10-10 21:10:09 +02:00
Sipke Schoorstra 1dd8db0c37 Various ForEach + WorkflowHost fixes 2020-04-19 10:32:10 +02:00
Sipke Schoorstra d1ce5ce897 Merge branch 'develop' into feature/elsa-2.0
# Conflicts:
#	src/core/Elsa/ElsaServiceCollectionExtensions.cs
#	src/dashboard/Elsa.Dashboard.Web/Elsa.Dashboard.Web.csproj
#	src/dashboard/Elsa.Dashboard/Extensions/DashboardServiceCollectionExtensions.cs
#	src/dashboard/Elsa.Dashboard/Theme/argon-dashboard/package-lock.json
#	src/providers/Elsa.AspNetCore.Startup/TaskExecutingServer.cs
#	src/samples/Sample01/Sample01.csproj
#	src/samples/Sample02/Sample02.csproj
#	src/samples/Sample03/Sample03.csproj
#	src/samples/Sample04/Sample04.csproj
#	src/samples/Sample06/Sample06.csproj
#	src/samples/Sample07/Sample07.csproj
#	src/samples/Sample07/Startup.cs
#	src/samples/Sample08/Sample08.csproj
#	src/samples/Sample08/Startup.cs
#	src/samples/Sample09/Sample09.csproj
#	src/samples/Sample10/Sample10.csproj
#	src/samples/Sample11/Sample11.csproj
#	src/samples/Sample12/Sample12.csproj
#	src/samples/Sample13/Sample13.csproj
#	src/samples/Sample14/Sample14.csproj
#	src/samples/Sample15/Sample15.csproj
#	src/samples/Sample17/Sample17.csproj
#	src/samples/Sample18/Sample18.csproj
#	src/samples/Sample20/Sample20.csproj
#	src/samples/Sample21/Sample21.csproj
#	src/samples/Sample21/Startup.cs
#	src/samples/Sample22/Sample22.csproj
#	src/samples/Sample23/Sample23.csproj
#	src/samples/Sample24/Sample24.csproj
#	src/server/Elsa.Server.Host/Properties/PublishProfiles/FolderProfile.pubxml
2020-01-18 12:03:00 +01:00
Sipke Schoorstra 48be0e8a87
Always add startup runner hosted service (#238) 2020-01-18 11:59:47 +01:00
Sipke Schoorstra aefe630f42 Merge branch 'develop' into feature/elsa-2.0
# Conflicts:
#	Samples.sln
#	src/core/Elsa.Abstractions/Elsa.Abstractions.csproj
#	src/core/Elsa.Core/Elsa.Core.csproj
#	src/persistence/Elsa.Persistence.EntityFrameworkCore/Extensions/EFCoreServiceCollectionExtensions.cs
#	src/providers/Elsa.Persistence.EntityFrameworkCore/Elsa.Persistence.EntityFrameworkCore.csproj
#	src/providers/Elsa.Persistence.YesSql/DbContexts/DesignTimeDbContextFactoryBase.cs
#	src/providers/Elsa.Persistence.YesSql/DbContexts/MySqlContext.cs
#	src/providers/Elsa.Persistence.YesSql/DbContexts/MySqlContextFactory.cs
#	src/providers/Elsa.Persistence.YesSql/Elsa.Persistence.YesSql.csproj
#	src/providers/Elsa.Persistence.YesSql/Migrations/MySql/20200113102615_InitialCreate.Designer.cs
#	src/providers/Elsa.Persistence.YesSql/Migrations/MySql/20200113102615_InitialCreate.cs
#	src/providers/Elsa.Persistence.YesSql/Migrations/MySql/MySqlContextModelSnapshot.cs
#	src/samples/Elsa.Samples.Timers/Elsa.Samples.Timers.csproj
#	src/samples/Sample05/Program.cs
#	src/samples/Sample08/Sample08.csproj
#	src/samples/Sample08/Startup.cs
#	src/samples/Sample14/Program.cs
#	src/samples/Sample14/Sample14.csproj
#	src/samples/Sample16/Sample16.csproj
#	src/samples/Sample18/Program.cs
#	src/samples/Sample18/Sample18.csproj
#	src/samples/Sample19/Sample19.csproj
#	src/samples/Sample19/Startup.cs
#	src/samples/Sample21/Sample21.csproj
#	src/samples/Sample21/Startup.cs
#	src/samples/Sample22/Program.cs
#	src/samples/Sample22/Sample22.csproj
#	src/samples/Sample23/Program.cs
#	src/samples/Sample23/Sample23.csproj
2020-01-16 21:23:45 +01:00
Sipke Schoorstra 05a9d5453e
Refactor elsa service config (#230)
* Refactor Elsa service configuration API
2020-01-15 21:26:44 +01:00
Sipke Schoorstra 7b94637386
Code-first improvements (#223)
* Refactor workflow model and scheduler

* Improve workflow builder API
2020-01-12 20:15:57 +01:00
Sipke Schoorstra 8092d166a5
Add native .NET code support + activity input/output (#216)
* Add code activity

* Refactor Workflow State to use Variables

* Update InstantEvent and SetVariable

* Update samples

* Add activity input/output
2019-12-23 21:43:11 +01:00
Sipke Schoorstra ac3ea9573f Add icons to packages 2019-11-22 17:34:55 +01:00
James Doran e805a74ad7 Moved WithJavaScriptOptions extension method into Elsa.Scripting.JavaScript project (#179) 2019-11-22 08:37:06 +10:30
James Doran 9556b80016 Add script options configuration (#179) 2019-11-21 21:09:58 +10:30
Sipke Schoorstra 57f116c239
Fix object disposed bug (#116)
* Refactor buggy SignalRequestHandler

For some reason, the following code is problematic:

await DecryptToken()
                .BindAsync(GetWorkflowInstanceAsync)
                .BindAsync(CheckIfExecutingAsync)
                .MapAsync(ResumeWorkflowAsync);

Basically, any lambda in the BindAsync and MapAsync could execute even after the containing method returned

* Implement better message handler registration without adding multiple IMediator services

* Abstracted Mediator service registration methods.
* Add Liquid support for JObject.
2019-10-31 21:31:18 +01:00
Sipke Schoorstra e162391c30 Update package descriptions and renamed some activities 2019-10-27 17:31:50 +01:00
Sipke Schoorstra 38a4901896 Update project details 2019-10-27 16:21:48 +01:00
Sipke Schoorstra aef8741d84
Add Liquid expressions (#111)
* Reorganize projects

* Implement Liquid expression evaluator

* Refactor activity references to use `Name`
2019-10-27 15:38:37 +01:00