<html> <head> <title>Workflow Finishing Proposal</title> <style> dt { font-weight: bold; margin-top: 1em } </style> </head> <body bgcolor=white> <h2>Workflow Finishing Proposal</h2> By <a href="http://www.pinds.com/lars">Lars Pind</a> on 22 September 2000. <p> <a href="/doc/">OpenACS Documentation</a> : <a href="">Workflow</a> : Workflow Finishing Proposal <hr> <h3>The Approach</h3> The workflow package isn't very useful as a stand-alone package. It's intended to be deployed by some application. We won't fully understand the requirements for the workflow package until we have a pilot application to develop on top of workflow. <p> I propose that we designate such a pilot application and the resources to develop it alongside developing the workflow package. We should also agree that we have Brian avaiable to for business questions as we go along. <h3>Feature List</h3> This is the list of requirement/features that I've already identified. The time estimates are in ideal developer days, and very rough, since most of the features aren't very well defined yet. We'll close on the definitions in cooperation between marketing and development. <p> In addition to the list below, I'm expecting especially the end-user UI to get extended as we learn more about the real-life requirements. <p> <table cellspacing=0 cellpadding=0 border=0> <tr><td bgcolor=#cccccc> <table width=100% cellspacing=1 cellpadding=4 border=0> <tr bgcolor=#ffffe4> <th>No.</th> <th>Feature</th> <th>Description</th> <th># Days</th> <th>Priority</th> <th>Risk</th> <th>Status</th> <th>Days used</th> </tr> <tr bgcolor=#eeeeee> <td align=right>10.</td> <td>Permissions</td> <td>Integrate with ACS Kernel permissions system. We need to define exactly what permissions are applicable.</td> <td align=center>3</td> <td align=center>High</td> <td align=center>Med</td> <td align=center> </td> <td align=center> </td> </tr> <tr bgcolor=#eeeeee> <td align=right>20.</td> <td>Email notifications</td> <td>The notifications package should be ready to go now.</td> <td align=center>1</td> <td align=center>High</td> <td align=center>Low</td> <td align=center> </td> <td align=center> </td> </tr> <tr bgcolor=#eeeeee> <td align=right>30.</td> <td>Static Assignments UI</td> <td>Fixed assignments for tasks can currently only be set in SQL directly. We need a simple UI for this.</td> <td align=center>1</td> <td align=center>Med</td> <td align=center>Low</td> <td align=center>Done</td> <td align=center>1</td> </tr> <tr bgcolor=#eeeeee> <td align=right>40.</td> <td>Handling Unassigned Task</td> <td>We need a way to handle unassigned tasks. Either a place where they can be picked up my an uber-user, have them automatically assigned to some person, and/or spamming some person. This ties in to deciding under what circumstances you're allowed to "pass the buck", i.e. assign a task to someone else, and if so, to whom you can assign it. This ties in to permissions, too.</td> <td align=center>3</td> <td align=center>High</td> <td align=center>Med</td> <td align=center> </td> <td align=center> </td> </tr> <tr bgcolor=#eeeeee> <td align=right>50.</td> <td>Simple Workflow Builder UI</td> <td>To design a simple workflow, the user won't have to know anything about the internals of the workflow engine. This UI has already been mostly done by Matthew. </td> <td align=center>3</td> <td align=center>High</td> <td align=center>Med</td> <td align=center>Done</td> <td align=center>5</td> </tr> <tr bgcolor=#eeeeee> <td align=right>60.</td> <td>Advanced Workflow Buidler UI</td> <td>Building advanced workflows will require knowledge of how the engine operates. This is a very straight-forward programming task, tough there may be a lot of work to do.</td> <td align=center>5</td> <td align=center>Med</td> <td align=center>Med</td> <td align=center>In progress</td> <td align=center> </td> </tr> <tr bgcolor=#eeeeee> <td align=right>70.</td> <td>Workflow Definition Versioning</td> <td>We need to store and manage several version of one workflow definitoin. This is necessary to let the manager redefine workflows without having to delete all the information we have on old cases.</td> <td align=center>7</td> <td align=center>Med</td> <td align=center>High</td> <td align=center> </td> <td align=center> </td> </tr> <tr bgcolor=#eeeeee> <td align=right>80.</td> <td>Workflow Summary UI</td> <td>We already have a very rudimentary UI for summarizing all the cases of a particular workflow, but it needs improvement to be really useful.</td> <td align=center>4</td> <td align=center>Med</td> <td align=center>Low</td> <td align=center> </td> <td align=center> </td> </tr> <tr bgcolor=#eeeeee> <td align=right>90.</td> <td>Workflow Debugging UI</td> <td>When managers start building advanced workflow and things don't behave as they expect, they'll need to have a UI for investigating what happened and why.</td> <td align=center>3</td> <td align=center>Low</td> <td align=center>Low</td> <td align=center> </td> <td align=center> </td> </tr> <tr bgcolor=#eeeeee> <td align=right>100.</td> <td>Workflow Maintaner UI</td> <td>This is related to the "static assignments UI". It's similar to APM, only for workflows. It would allow you to package up your workflow definition in some redistributable form, as well as install a workflow definition from such a file.</td> <td align=center>5</td> <td align=center>Low</td> <td align=center>High</td> <td align=center> </td> <td align=center> </td> </tr> <tr bgcolor=#eeeeee> <td align=right>110.</td> <td>Template User Pages</td> <td>Make sure all user pages are using the templating system. Due to the complexity of the pages, this is probably harder than one would expect.</td> <td align=center>2</td> <td align=center>Low</td> <td align=center>Med</td> <td align=center> </td> <td align=center> </td> </tr> <!-- <tr bgcolor=#eeeeee> <td align=right>.</td> <td></td> <td></td> <td align=center></td> <td align=center></td> <td align=center></td> <td align=center> </td> <td align=center> </td> </tr> --> </table> </td></tr> </table> <hr> <address><a href="mailto:lars@pinds.com">lars@pinds.com</a></address> <table align=right><tr><td>Last Modified: $Date: 2002/07/09 17:35:00 $</td></tr></table> </body> </html>