SpecGen - State Workflow Bundle
, (*1)
Ease complex workflow readability by generating its specification from your code base
Keywords : Workflow, Finite State Machine, Symfony2, Specification Generation, (*2)
Specification Generator for StateWorkflowBundle., (*3)
The worst specifications are not updated specifications.., (*4)
Aim is to have your Workflow Specification
(Available states and transitions) always up to date in order to ease your Domain readability.
Hence avoiding misunderstandings and allow new comers to assist you quicker in your project.
Saving you valuable time since you no more have to make sure your specs are up to date., (*5)
Generated specification for simple workflow
, (*6)
Generated specification for more complex workflow
, (*7)
Usage
From a Symfony2 project, (*8)
php app/console.php spec-gen:state-workflow:generate-specifications
Workflow specification files will be generated in {PROJECT ROOT}/specification/workflow/
, (*9)
Example : {PROJECT ROOT}/specification/workflow/demo.booking_engine.state_workflow.html, (*10)
Installation
Step 1: Download the Bundle
Open a command console, enter your project directory and execute the
following command to download the latest stable version of this bundle:, (*11)
$ composer require spec-gen/state-workflow-spec-gen-bundle "~1"
This command requires you to have Composer installed globally, as explained
in the installation chapter
of the Composer documentation., (*12)
Step 2: Enable the Bundle
Then, enable the bundle by adding the following line in the app/AppKernel.php
file of your project:, (*13)
<?php
// app/AppKernel.php
// ...
class AppKernel extends Kernel
{
public function registerBundles()
{
$bundles = array(
// ...
new Gmorel\StateWorkflowBundle\GmorelStateWorkflowBundle(),
);
if (in_array($this->getEnvironment(), array('dev', 'test'))) {
// ...
$bundles[] = new SpecGen\StateWorkflowSpecGenBundle\SpecGenStateWorkflowSpecGenBundle();
}
// ...
}
// ...
}
Step 3: Implement your workflow
Using StateWorkflowBundle., (*14)
Credits
-
Cytoscape Javascript Engine used to generate workflow specs.
Licence
MIT License (MIT), (*15)
Contributing
Wanting to ease understanding of your projects from yourself and team members ?, (*16)
Wanting to contribute finding new ways of auto generating specifications from other SF2 project aspects ?
- Enhancing Micro service interactions readability ?
- DDD - Bounded Context - UML generation from application service ?
- Ubiquitous Language dictionary generator ?
- Other ideas ?, (*17)
Join https://github.com/spec-gen, (*18)