Author: Sebastian Bergmann Date: 2006-09-22 11:47:44 +0200 (Fri, 22 Sep 2006) New Revision: 3530
Log: Initial checkin of requirements (courtesy of the eZ telemark architects). Modified: experimental/Workflow/design/requirements.txt Modified: experimental/Workflow/design/requirements.txt =================================================================== --- experimental/Workflow/design/requirements.txt 2006-09-22 09:28:34 UTC (rev 3529) +++ experimental/Workflow/design/requirements.txt 2006-09-22 09:47:44 UTC (rev 3530) @@ -7,18 +7,63 @@ Description ----------- +This document contains an initial set of requirements for a generic and +dynamic workflow management system. This system is to be developed as a +part of the eZ components. At a later stage, the system will probably +become a part of eZ system's new flagship product codenamed eZ telemark - +a multi-purpose content/information management system for the enterprise +market. + Current implementation ---------------------- -Requirements -============ +Both the architecture of the current eZ publish version as well as its +workflow feature have shortcomings that are to be overcome by this +component: +- Only some operations are workflows. This inconsistency has a negative + effect on the maintainability of the software as a whole. +- It is not easy to configure (hook in) the (internal) workflows. This + makes extending the software hard. +- Support for checking the state of executing workflows and control + over them is limited. +- Support for conditions is limited. +- Interaction not possible once a workflow is deflected to a cronjob. + Design goals ============ -Special considerations -====================== +Eventually, the workflow management system should become an important part +of the overall solution. However, it must not be tightly integrated and/or +too much dependent on other parts of the system (and vice versa). This means +that the solution must be flexible and provide good interfaces which allow it +to co-exist and plug into the software. -Format -====== +Clear APIs and communication channels must be provided. Modifications to the +workflow system should not require too many modifications when it comes to +the host environment which is using it. +Requirements +============ + +- Overview of what is happening in the system. +- It should be easy to understand the system (new users, etc.). +- Easy-to-use hook-ins for developers (and users). +- Easy for admins to control and model the flow model(s). +- Any non-trivial operation (publishing, removal, modification, + etc. of any object) in eZ publish should be a workflow. +- It should be easy integrate the workflow system with background processes. +- It should be easy to deflect workflows to background processes. +- Ability to manually control control the execution of a workflow. +- Support for conditions, parallel split (join, AND/OR, cycles). +- It should be easy to check the states/statuses (again, overview). +- Workflow system should be made ready for user-interaction. +- Possibility to store/retrieve the state of workflows to DB/other storage + system. +- Simulation of the workflows should be possible (debugging purposes). +- Documentation is essential. The solution must be well documented in the + form of text backed up by illustrations that clearly explain how the system + actually works. +- API documentation must also be provided. +- The solution should come with generic testing systems (for example unit + tests). -- svn-components mailing list [email protected] http://lists.ez.no/mailman/listinfo/svn-components
