Download the PHP package roaresearch/yii2-workflow without Composer
On this page you can find all versions of the php package roaresearch/yii2-workflow. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download roaresearch/yii2-workflow
More information about roaresearch/yii2-workflow
Files in roaresearch/yii2-workflow
Package yii2-workflow
Short Description Yii 2 Library to configure workflows
License MIT
Informations about the package yii2-workflow
Yii2 Workflow
Library to dynamically handle workflows in a database with ROA support.
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
Prerequisites
- Install PHP 7.2 or higher
- Composer Installed
The rest of the requirements are checked by composer when installing the repository on the next step.
Installation
You can use composer to install the library roaresearch/yii2-workflow
by running
the command;
composer require roaresearch/yii2-workflow
or edit the composer.json
file
Deployment
Then run the required migrations
php yii migrate/up -p=@roaresearch/workflow/migrations
Which will install the following table structure
ROA Backend Usage
The ROA support is very simple and can be done by just adding a module version to the api container which will be used to hold the resources.
You can then access the module to check the available resources.
- workflow
- workflow/<workflow_id:\d+>/stage
- workflow/<workflow_id:\d+>/stage/<stage_id:\d+>/transition
- workflow/<workflow_id:\d+>/stage/<stage_id:\d+>/transition/<target_id:\d+>/permission
Which will implement CRUD functionalities for a workflow.
Process and Worklog
A process
is an entity which changes from stage depending on a workflow. Each
stage change is registered on a worklog
for each process
record.
To create a process
its required to create a migrations for the process and
the worklog then the models to handle them, its adviced to use the provided
migration templates.
After running the migrations its necessary to create Active Record models.
Initial Worklog
Notice that by default every new record of Process being validated will attempt
to create an initial WorkLog. If you want to prevent this behavior for example
on search models you need to set the Process::$autogenerateInitialWorklog
to
false
If this option is set to true
then on the same request which creates the
process Credit
can receive fields comment
and stage_id
which will be
stored not in the process Credit
but in the worklog record.
Relations Process::$worklogs
and Process::$activeWorkLog
Process models contain 2 relations to handle its work log. $workLogs
provide
the list of all the related work logs and $activeWorkLog
find only the most
recent worklog using the groupwise search strategy.
Notice that the groupwise strategy implies a join query with aliased tables, as such extra consideration is needed when joining with other queries.
Worklog Resource
Each process gets a worklog about the flow of stages it goes through.
On ROA you can declare each worklog as a child resource for the process resource
[Detailed documentation for worklog and its use cases](Worklog.md]
Running the tests
This library contains tools to set up a testing environment using composer scripts, for more information see Testing Environment section.
Break down into end to end tests
Once testing environment is setup, run the following commands.
Run tests.
Run tests with coverage.
Live Demo
You can run a live demo on a freshly installed project to help you run testing or understand the responses returned by the server. The live demo is initialized with the command.
Where :8000
is the port number which can be changed. This allows you call ROA
services on a browser or REST client.
Use Cases
TO DO
Built With
- Yii 2: The Fast, Secure and Professional PHP Framework http://www.yiiframework.com
Code of Conduct
Please read CODE_OF_CONDUCT.md for details on our code of conduct.
Contributing
Please read CONTRIBUTING.md for details on the process for submitting pull requests to us.
Versioning
We use SemVer for versioning. For the versions available, see the tags on this repository.
Considering SemVer for versioning rules 9, 10 and 11 talk about pre-releases, they will not be used within the ROAResearch.
Authors
- Angel Guevara - Initial work
- Carlos Llamosas - Initial work
See also the list of contributors who participated in this project.
License
This project is licensed under the MIT License - see the LICENSE.md file for details
All versions of yii2-workflow with dependencies
roaresearch/yii2-roa Version ~2.0.0
roaresearch/yii2-rmdb Version ~2.1.0
yii2tech/ar-softdelete Version *