| Under Construction This proposal is under construction and is not ready for review. |
Zend Framework: Zend_Flow Component Proposal
| Proposed Component Name | Zend_Flow |
|---|---|
| Developer Notes | http://framework.zend.com/wiki/display/ZFDEV/Zend_Flow |
| Proposers | Sebastien Ducret |
| Zend Liaison | TBD |
| Revision | 0.1 - 8 May 2009: Initial Draft. 0.2 - 10 August 2009. (wiki revision: 30) |
Table of Contents
1. Overview
The purpose of this component is to provide more control over complex application flow.
2. References
3. Component Requirements, Constraints, and Acceptance Criteria
- This component must provide separation between flow definition and flow execution
- This component must be able to load flow definition from config object
- This component must be capable of evaluating boolean expressions to decide what state to transition to next
- This component should allow one flow to call another flow
- This component should allow registering flow execution listener
- This component must be able to persist flow execution
- This component could provide support for Post-Redirect-Get pattern
- This component could provide support for Continuation
4. Dependencies on Other Framework Components
- Zend_Config (optional)
- Zend_Exception
- Zend_Session (optional)
5. Theory of Operation
The component is instantiated with a mind-link that ...
6. Milestones / Tasks
- Milestone 1: Draft proposal submitted for community review
- Milestone 2: Working prototype checked into the incubator for community evaluation
- Milestone 3: ..
7. Class Index
- Zend_Flow
- Zend_Flow_State_Abstract
- Zend_Flow_State_Action
- Zend_Flow_Transition
- Zend_Flow_Storage_Interface
- Zend_Flow_Storage_Session
8. Use Cases
9. Class Skeletons
Labels:
None
4 Comments
comments.show.hideJul 20, 2009
Andrea Turso
Is this proposal still alive/under development?
Jul 30, 2009
Andrea Turso
Currently I'm working on a simple Workflow engine that (will) support the basic flow-control patterns as described in:
http://www.workflowpatterns.com/patterns/control/index.php
http://is.tm.tue.nl/research/patterns/patterns.htm
and I think it may fits the proposal.
I started writing an initial draft a few days ago that seems to work with the Sequence pattern and made the code available on github http://github.com/trashofmasters/Workflow-Engine/tree/maste, it has a couple of Unit Test as well althought I'm no test-driven.
Aug 12, 2009
Andrea Turso
Hi Sébastien, according to your component requirements the Flow component must provide separate APIs for defining and executing the workflow, but by looking at the class skeleton for Zend_Flow the two interfaces are defined in the same class. Am I wrong?
What about delegating the definition of the workflow to a separate object?
For instance the ezComponents uses two different objects for specifying and executing the workflow, respectively ezcWorkflow*Definition and ezcWorkflow*Execution.
Feb 05, 2011
Dolf Schimmel (Freeaqingme)
Archiving this proposal, feel free to recover it when you want to work on it again. For more details see this email.