wexample / symfony-bpmn
BPMN processes run by Symfony: each compiled into a workflow, its lanes guarding who does what, its automatic tasks, timers and messages handled, its paths and rights listed
Requires
- php: >=8.5
- doctrine/doctrine-bundle: ^2.13 || ^3.0
- doctrine/orm: ^3.0
- symfony/console: ^7.4 || ^8.0
- symfony/event-dispatcher: ^7.4 || ^8.0
- symfony/expression-language: ^7.4 || ^8.0
- symfony/http-kernel: ^7.4 || ^8.0
- symfony/messenger: ^7.4 || ^8.0
- symfony/security-core: ^7.4 || ^8.0
- symfony/workflow: ^7.4 || ^8.0
- wexample/php-bpmn: >=2.0.2
- wexample/php-pseudocode: >=2.2.4
- wexample/symfony-activity: >=3.0.5
- wexample/symfony-api: >=14.0.5
- wexample/symfony-helpers: >=18.0.2
- wexample/symfony-notification: >=2.1.5
- wexample/symfony-pseudocode: >=4.0.2
Requires (Dev)
- phpunit/phpunit: ^13
- symfony/security-bundle: ^7.4 || ^8.0
- symfony/translation: ^7.4 || ^8.0
- wexample/symfony-testing: >=2.0.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Version: 3.0.5
BPMN processes run by Symfony: each compiled into a workflow, its lanes guarding who does what, its automatic tasks, timers and messages handled, its paths and rights listed
Table of Contents
Installation
composer require wexample/symfony-bpmn
// config/bundles.php Wexample\SymfonyBpmn\WexampleSymfonyBpmnBundle::class => ['all' => true],
Put the processes in config/bpmn/*.bpmn — drawn with any BPMN 2.0 tool, or written with php-bpmn's ProcessBuilder —, or name other directories:
wexample_symfony_bpmn: paths: ['%kernel.project_dir%/config/bpmn']
framework.messenger must be on, and Wexample\SymfonyBpmn\Message\BpmnTimerMessage routed to a transport that keeps delayed messages — Doctrine —, consumed by a worker: sent synchronously, a timer fires at once.
bin/console bpmn:validate checks every process and compiles it.