Astrolabe.Workflow
1.1.0
See the version list below for details.
dotnet add package Astrolabe.Workflow --version 1.1.0
NuGet\Install-Package Astrolabe.Workflow -Version 1.1.0
<PackageReference Include="Astrolabe.Workflow" Version="1.1.0" />
paket add Astrolabe.Workflow --version 1.1.0
#r "nuget: Astrolabe.Workflow, 1.1.0"
// Install Astrolabe.Workflow as a Cake Addin #addin nuget:?package=Astrolabe.Workflow&version=1.1.0 // Install Astrolabe.Workflow as a Cake Tool #tool nuget:?package=Astrolabe.Workflow&version=1.1.0
Astrolabe.Workflow
This library provides abstractions for implementing various tasks which fall under the umbrella of "workflow":
- Declarative rule based triggering of actions - e.g. automated sending emails
- Declarative security for user triggered actions - e.g. provide lists of allowed user triggerable actions and secure them if triggered by the user.
- Encourages efficient bulk operations
The workflow executor
A workflow executor instance is responsible for:
- Loading data (possibly in bulk)
- Check rule based triggers and queue up actions
- Apply the actions which have been user triggered or automatically queued.
The class AbstractWorkflowExecutor<TContext, TLoadContext, TAction>
provides a good base for implementing a
workflow executor given the 3 type parameters with the following meanings.
TContext
This type needs to carry all the data required for editing a single entity along with any associated entities, e.g. Audit Logs.
TAction
A class which describes all the actions which can be performed, including their parameters if required.
TLoadContext
This class should contain the data required to do a bulk load of data into TContext
instances.
Usually this is at least a list of id's for the entities to load.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.