Kanban workflow board inside CrafterCMS Studio, backed by MariaDB.
Kanban board — authors open a workflow from the Tools panel and drag packages between steps:
Flow editor — admins configure steps, transitions, and publish actions in Project Tools:
Content comments — discuss the page or component open in preview; supports @mentions:
Notifications — in-app inbox for mentions, tasks, and bypass alerts; optional immediate email:
Tasks — assignable work items with priority, dates, and optional package/content links:
Site calendar — month/week/day view of tasks and package due dates across the site:
This plugin is modernized for CrafterCMS 4.x and uses the @craftercms/studio-ui 4.x SDK.
It is intended for CrafterCMS 4.0 through 4.4.
The crafter-workflow plugin (MariaDB schema, Groovy services, Studio UI) is documented in docs/README.md.
Implemented features include kanban workflows, comments, in-app notifications, tasks, audit log, and Project Tools administration. See docs/FUNCTIONAL_SPEC.md for the full capability list.
In Project Tools → Crafter Workflow → Workflows → Edit workflow, admins use a React Flow diagram to:
- Drag steps into a custom layout (saved as
flowLayoutin the workflow JSON) - Connect steps with Move arrows that define which columns accept package drags on the board (
transitionStepIds) - Configure step publish actions (dashed action edges) separately from manual moves
- Zoom and pan the canvas (saved as
flowViewport)
The kanban board enforces transitionStepIds when authors drag packages between columns. See docs/WORKFLOW_DEFINITIONS.md for JSON fields and behavior.
cd src
yarn install
yarn distOr build packages individually:
yarn workspace crafterwf-board-components dist
yarn workspace crafterwf-app distInstall the plugin via Studio's Plugin Management UI under Site Tools → Plugin Management, or use:
./scripts/install-plugin.sh [siteId] [studioUrl]After install:
- Grant the Studio DB user access to the
crafter-workflowschema if needed (./scripts/grant-workflow-schema.sh). - Open Project Tools → Crafter Workflow and install the schema from the General tab.
- Open the Workflow sidebar widget to use the board.
Optional widget configuration — pin a specific workflow by id (legacy config key boardId is still accepted as an alias for workflowId):
<widget id="org.rd.plugin.crafterwf.openBoardButton">
<plugin
id="org.rd.plugin.crafterwf"
site="{site}"
type="apps"
name="crafterwf"
file="index.js"
/>
<configuration>
<title>Editorial Workflow</title>
<icon id="@mui/icons-material/AccountTreeOutlined"/>
<workflowId>editorial</workflowId>
</configuration>
</widget>See docs/DATABASE_SCHEMA.md and docs/WORKFLOW_DEFINITIONS.md for database (schema V013) and workflow setup.
Soft-delete sandbox content to /recyclebin/{uuid}/… with restore and collision confirmation. Requires Write permission on /recyclebin. See docs/RECYCLE_BIN.md.
curl-based integration tests for plugin REST services:
./scripts/run-api-tests.sh --smoke # read-only GET smoke
./scripts/run-api-tests.sh # full suiteUnit tests for path/event utilities (no Studio required):
./scripts/run-unit-tests.sh
# or: cd src && yarn test:unitRequires a valid CRAFTER_STUDIO_TOKEN (or scripts/.studio-token) for curl tests. See scripts/tests/README.md.





