elsa-workflows / elsa-workflows/elsa-core
Auto-generate Workflow Type Assemblies to handle changed workflows
- Dominant language
- C#
- Stars
- 7.9k
- Forks
- 1.5k
- Avg merge
- 15h 22m
- Merged PRs (30d)
- 114
Description
### Problem
When creating programmatic workflows (deriving types from `IWorkflow` to define workflows), it is important that whenever changes are about to be made like adding or removing activities, the developer **creates a copy of the workflow class** and **increase its version number**. This ensures that any existing workflow instances will continue to function (they are pointing to specific workflow definition versions).
However, manually maintaining copies of workflow types can be laborious, especially when having large workflows and custom composite activities.
### Solution
There should be a setting that allows you to let Elsa generate an assembly at runtime based on the current workflow types. Anytime the developer makes changes to the workflow type, its hash will change, leading Elsa to generate a new assembly.
Workflow instances will be associated with the workflow type hash, so that Elsa knows which version of the workflow type to use when executing the workflow.
Contributor guide
Assessment
This issue has not been assessed yet.