2017 © Pedro Peláez
 

library yii-simple-workflow

A simple workflow engine for Yii 1

image

raoul2000/yii-simple-workflow

A simple workflow engine for Yii 1

  • Saturday, May 23, 2015
  • by raoul2000
  • Repository
  • 3 Watchers
  • 25 Stars
  • 3,471 Installations
  • HTML
  • 0 Dependents
  • 0 Suggesters
  • 16 Forks
  • 2 Open issues
  • 2 Versions
  • 10 % Grown

The README.md

simpleWorkflow, (*1)

The simpleWorkflow extension is a set of Yii components that is dedicated to provide an easy way to manage the life cycle of CActiveRecord objects inside a workflow. It provides features to control the behavior of the active record in its associated workflow : transition tasks, status constraints, event model., (*2)

Note that the simpleWorklfow extension, following Yii 1.1 life cycle, has also reached end of life. Please consider using yii2-workflow extension with Yii 2.x, (*3)

Resources

Documentation

Requirements

  • Yii 1.1.4 or above

Installation

  • Extract the released files under protected/extensions.
  • add the SWPhpWorkflowSource component to your configuration
'components'=>array(    
    // adding the simple Workflow source component
    'swSource'=> array(
        'class'=>'application.extensions.simpleWorkflow.SWPhpWorkflowSource',
    ), ...

  • add simpleWorkflow extension base folder to your imports
'import'=>array(
    ...
    'application.extensions.simpleWorkflow.*',  // Import simpleWorkflow extension
), 

Usage

Once installed and correctly configured, the simpleWorkflow extension will handle the workflow for any model. To enable simpleWorkflow for a given model, you must attach the SWActiveRecordBehavior behavior to this model., (*4)

class MyModel extends CActiveRecord {
    public function behaviors()
    {
        return array(
            'swBehavior' => array(
                'class' => 'application.extensions.simpleWorkflow.SWActiveRecordBehavior'
            )
        );
    }
}

The model can then be inserted into a workflow, and evolve among statuses inside this workflow. For instance, the code below insert an existing record into a workflow, or if already done, displays its current status :, (*5)

$m=MyModel::model()->findByPk('1');
if( $m->swHasStatus() ){
     echo 'status : '.$m->swGetStatus()->toString();        
}else {
     $m->swInsertToWorkflow();
     $m->save();
}

For more information on how to use the simpleWorkflow extension, please refer to the full documentation, (*6)

Gii Command

Creating a workflow 'by hand' can become an error-prone task when several nodes and edges are required. One good option is to create the workflow using a visual tools, and after some searches it seems that one of the best application to do it is yEd Graph Editor. Of course, it is free to use !, (*7)

Want to know more ? Read how to use the GII command to create your workflow..., (*8)

The Versions

23/05 2015

dev-master

9999999-dev http://s172418307.onlinehome.fr/project/sandbox/www/index.php?r=simpleWorkflow/page&view=home

A simple workflow engine for Yii 1

  Sources   Download

BSD-3-Clause

The Requires

  • php >=5.1.0

 

The Development Requires

model yii workflow life cycle

21/05 2015

1.0.9

1.0.9.0 http://s172418307.onlinehome.fr/project/sandbox/www/index.php?r=simpleWorkflow/page&view=home

A simple workflow engine for Yii2.

  Sources   Download

BSD-3-Clause

The Requires

  • php >=5.1.0

 

The Development Requires

model yii workflow life cycle