Table of Contents

  1. Workflow Module
    1. Workflow versus project management
      1. Project Management
      2. Workflow
      3. Goals
      4. Problems
      5. Possible Solutions
    2. Resources

Workflow Module

Rough-cut task list for getting a minimal workflow module running for work order use:

Task Estimate User/Status
Create workflow application module, skeleton 1.0 NOT DONE
Create SQL scripts, add to lib/Driver.php, lib/Driver/sql.php for listing/updating/deleting work items 2.0 NOT DONE
Write or port workflow classes to PEAR or Horde 8.0 NOT DONE
Implement XPDL load of workflow objects 4.0 NOT DONE
Implement WorkItem::evaluateExpression() (only need strings, numbers, work item properties, and "==" operator to start) 2.0 NOT DONE
Implement user's work queue screen 2.0 NOT DONE
Implement driver-based application call mechanism 1.0 NOT DONE
Implement templatized e-mail send "application" 3.0 NOT DONE
Implement create ticket "application" 2.0 NOT DONE
Implement ulaform entry/update "application" 3.0 NOT DONE
Implement e-mail decision "application" 2.0 NOT DONE
Implement work item history logging mechanism 2.0 NOT DONE
Total 32.0

Workflow versus project management

Project Management

In project management tools, the project is represented by a directed graph of dependant tasks. There are no cycles or decision logic in a PERT chart, and necessarily so because project management requires finding the length of the timewise longest dependency path (the critical path) and resolving resource contention, and both of these would be extremely difficult if not impossible if we could not determine the project path ahead of time.

In project management, therefore, lots of effort is expended up front in the planning phase to remove these decision points. During the course of a project, a change requires refactoring the dependency graph (the PERT chart), which will affect the critical path and the project deadline. It can also cause reallocation of resources.


In workflow, workitems contain a number of steps. Workflow is built like a state machine, and has built in decision logic. A work item can cycle (e.g. do step A, then do step B, then check if passes Q.C., if not, go back to step B), has decision logic (if some test passes, do A, otherwise do B). In this model, we cannot predict the path.



Possible Solutions