Commit graph

49 commits

Author SHA1 Message Date
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
Craig Fowler ec12edd129 Resolve #564 - Further renames Timer → Temporal
This is all trivial renaming of namespaces (and some cases directories)
to match the main work done in the ticket.
2021-02-28 20:49:34 +01:00
Craig Fowler ed81b5679a WIP #564 - Rename & alter temporal activity setup
Temporal activities no longer have a generalised extension method
for registering them with a service collecton.  It is still static and has
the same rough shape as an extension method.  This way it is less
visible and less likely to be called by accident.

Also in-line with changes in this branch, things have been renamed
  Timers → Temporal
2021-02-28 20:49:34 +01:00
Craig Fowler b8f18996c6 WIP #564 - Rename Elsa.Activities.Timers impl projects
The project/NuGet package for implementation logic relating to
temporal actions has been renamed:
  Elsa.Activities.Timers.Hangfire → Elsa.Activities.Temporal.Hangfire
  Elsa.Activities.Timers.Quartz → Elsa.Activities.Temporal.Quartz

Whilst large numbers of C# files are "changed" by this commit,
it's just a straight move to a new path.
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
Craig Fowler ac44bf4535 WIP #564 - Bulk namepace change: Timers → Temporal
The name "Timers" is being replaced with "Temporal".  This commit
changes just the code (not project names/directories).
2021-02-28 20:49:34 +01:00
Sipke Schoorstra 0bf3fecf18 Rename IfElse to If 2021-02-20 15:56:32 +01:00
Sipke Schoorstra f6268acfd1
Add Break activity (#628)
* Add Break activity

* Add activity type registration helpers

* Add sample project for Break activity
2021-02-13 10:29:03 +01:00
Sipke Schoorstra 5a7584b9ec Cleanup 2021-02-01 16:16:14 +01:00
Sipke Schoorstra 59cdcdad6c Log inner exceptions 2021-02-01 16:14:45 +01:00
Sipke Schoorstra 913c2a68bc Update sample 2021-01-31 12:51:51 +01:00
Sipke Schoorstra 420e2e65c5 Add caching layer to WorkflowRegistry 2021-01-30 20:11:08 +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 e6f42aca8f Update packages 2021-01-21 12:45:10 +01:00
Sipke Schoorstra 254ec93263
Fix issues with workflow builder API and Join cleanup of scopes (#577)
* Fixed unique key violation

* Fix builder, descoping from join (loops + ifelse)

* Cleanup Join
2021-01-17 11:55:00 +01:00
Sipke Schoorstra d468b132b7 Update CompositeActivityBuilderExtensions 2021-01-14 22:19:43 +01:00
Sipke Schoorstra 89dfba8269
Add source file + line number to execution log. (#571)
* Add source and activity type to WorkflowExecutionLogRecord

* Update builder extensions
2021-01-14 21:45:28 +01:00
Sipke Schoorstra 974b3c2df2
Elsa 2.0/faults (#570)
* Update fault API and add stack trace.
2021-01-14 17:15:02 +01:00
Sipke Schoorstra 3cfc2ad665 Remove unused namespaces 2021-01-08 17:40:32 +01:00
Sipke Schoorstra 83242ddecd
EF Core Persistence Provider (#557)
* Add EF Core persistence provider

* Add EF Core migration runner

* Fix potential duplicate queue registrations

* Update EF Core projects
2021-01-07 13:01:19 +01:00
Sipke Schoorstra 34983144c3 Optimize synchronized workflow instance execution in parallel 2021-01-02 12:57:27 +01:00
Sipke Schoorstra 717ced918f Update Finish activity to only clear blocking activities of current container unless it's the root workflow, in which case ALL blocking activities are removed 2021-01-02 11:22:42 +01:00
Sipke Schoorstra c645e77e14 Extract re-scheduling logic to event handler 2021-01-02 11:05:01 +01:00
Sipke Schoorstra c8297e61a8 Remove ParentActivities properties 2021-01-01 18:01:03 +01:00
Sipke Schoorstra dcbf14c144 Fix and simplify composite activity + while/for/foreach handling 2021-01-01 17:58:08 +01:00
Sipke Schoorstra 10fe049c10 Experimental bug fixes regarding timer & container scheduling 2020-12-31 17:24:55 +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
Sipke Schoorstra 1bf53fb59a
Elsa 2.0/workflow editor (#541)
* Fix connection model porperty names

* Add workflow instance name to index

* Enable sample workflows

* Incremental work on activity displays

* Add custom activity display support

* Optimize workflow registry list endpoint model
2020-12-25 22:00:25 +01:00
Sipke Schoorstra 28ac92b6ff
Introduce Workflow Instance Name (#538)
* Add Name property to Workflow Instance models and update Dashboard UI

* Add SetName activity

* Add naming workflow sample

* Add modal html

* Implement search by workflow instance name
2020-12-24 14:30:55 +01:00
Sipke Schoorstra e154f5381a Fix build after merge (attempt 2) 2020-12-23 12:52:06 +01:00
Sipke Schoorstra b24ff99354 Fix build after merge 2020-12-23 12:50:34 +01:00
Rafael Carnucci 4274996dd9
Separate quartz (#516)
* Fix sample Elsa.Samples.FileBasedWorkflow

* Separate Quartz from Elsa.Activities.Timers

* Incremental work on Hangfire integration

* Incremental work on Hangfire integration

* Incremental work on Hangfire integration

* Incremental work on Hangfire integration

* Add CancelTimer

* ToCronExpression for Duration

* Removed SweepInterval

* Synchronize access to scheduler

* Refactoring RunHangfireWorkflowJob

* Optimize timer activities to always execute when target time stamp lies in past

* Refactoring TimersOptionsExtensions

* Added common.props and configureawait.props

* Rename CancelTimer to ClearTimer

* Wrong parameter name in comment

* Refactoring TimerConsts and RunQuartzWorkflowJob

Co-authored-by: Rafael Carnucci <rafael.carnucci@icn.de>
Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
2020-12-23 12:38:09 +01:00
Sipke Schoorstra 8dbc3fe100
Workflow Execution Log (#530)
* Rename provider folder to locking

* Update project reference paths

* Incremental work on workflow execution log storage

* Fix deadlock

* Add workflow execution log stores
2020-12-21 17:08:32 +01:00
Sipke Schoorstra cc91da842c Remove test line 2020-12-21 13:55:53 +01:00
Sipke Schoorstra dd2004dd89 Fix CompositeActivity behavior and update sample 2020-12-21 12:10:41 +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
Sipke Schoorstra c047d66942 Update packages 2020-12-19 15:35:11 +01:00
Sipke Schoorstra d6cc7d7f56
Implement Specification pattern (#517)
* Add specifications

* Update persistence providers with specification pattern
2020-12-14 17:15:39 +01:00
Sipke Schoorstra f2aae986f4 Use in-memory persistence by default 2020-12-12 14:07:17 +01:00
Sipke Schoorstra e601747fae Renames and small tweaks 2020-12-11 21:35:22 +01:00
Rafael Carnucci 3b35d9ff0a
Seperate YesSql (#504)
* Seperate YesSql and added InMemory, MongoDb

* Error fixed, if DatabaseInitializer is run through several times

* icon.png was not packed

* Added AddWorkflowProvider to AddElsaPersistenceMongoDb

* Wrong primary keys were used for MongoDb

* Refactorig MongoDb

* Register IMongoCollection<WorkflowDefinition> and IMongoCollection<WorkflowInstance> with DI

* Wrong Parameter Type in Constructor (MongoDbWorkflowInstanceRepository)

* Add workflowDefinition.WorkflowDefinitionId = _idGenerator.Generate(); to Initialize

* Removed duplicated code

* Correct wrong Commit

Co-authored-by: Rafael Carnucci <rafael.carnucci@icn.de>
Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>
2020-12-11 21:03:49 +01:00
Sipke Schoorstra 65a266dfdb Update Elsa.sln 2020-12-11 20:59:28 +01:00
Sipke Schoorstra 659236b4ca Rename CronEvent to Cron 2020-12-04 10:43:25 +01:00
Sipke Schoorstra 6c8cc5efd0 Rename TimerEvent to Timer 2020-12-04 10:41:49 +01:00
Sipke Schoorstra 5bab43b8d2
Add support for attribute-based workflow selection & execution (#478) 2020-11-28 05:11:14 +01:00
Sipke Schoorstra 2ff8d006f3 Add StartIn convenience method to start / resume workflow in x amount of time 2020-11-27 21:59:28 +01:00
Sipke Schoorstra 41ca351d29
Refactor Timers activities using Quartz & initial Multitenancy support (#477)
* Refactor time based events using Quartz.net

* Simplify Quartz job & trigger registration & Cleanup

* Expose Quartz configuration

* Restructure samples
2020-11-27 21:47:51 +01:00