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

Reply via email to