Context
In order to get a handle on how to architect tasks, I need to find out how well these modules fit:
- Workflows
- Content Moderation
- Workflow Buttons
- Workflows Field
- Field States Transitions
- Workbench Moderation
- State Machine
- State Machine Automated Transition
- State Machine UI
- Moderation Dashboard
- Content Moderation Notifications
- ECA State Machine
- Action Link
- Webform Workflows Element
I think picking between workflow and state machine is a big aspect of this.
Questions
What's the difference between core Workflows and contrib Workflow modules?
https://www.webwash.net/build-content-workflows-in-drupal/
TODO
Create a prototype of the task system with the various modules and report what the options and limitations are.
Results
Field States Transitions
Define states/transitions with yaml, visualize with mermaid.js.
Has transition guards, actions, workflows. (What do workflows do?)
Field widget and transition buttons.
Some wonkyness in setup, mostly understanding the yaml format.
Could work, but not much module use yet.
Formatter includes transition buttons.
Issues
Error when JS is aggregated v2.0.0/10.x
Fix is in dev branch, verify this fixes it.
Content Moderation
Default content workflow has non-task states/transitions.
Can config be used to customize workflows?
Yes, but "draft" is still required.
Very wrapped up in published status/revision.
Workflows Field
Seems similar to Field States Transitions, except based on core Workflows (but not Content Moderation type).
More users than Field State Transitions, but less recent development.
Issues
Crash if the workflow have no state when field added
This fixed the ability to add the field, but I still got an error when trying to save one of the items.
Add State switcher formatter
Old issue to add transition button formatter, similar to Field States Transitions.
State Machine
Used within Commerce ecosystem.
Define workflows in YAML files.
Guards protect against disallowed transitions.
Good for rigid workflows defined in code.
Issues
Buttons field formatter doesn't show the current state
Default formatter shows current state, but transition buttons are in another formatter which does not. MR fixes it.
State Machine UI
Configure state machine via UI.
Can be used to customize state machine config from module yaml files.
New module, needs some work.
Issues
Errors when installing module
Workflow
Older contrib module.
Customized via UI.
Seems like development effort has moved on.
Workflows Field could be a better replacement.
