Package Developer's Guide to Workflow
By Lars Pind
Introduction
Workflow is used to coordinate the actions of multiple people
working together to accomplish something.
For example, when a new bug is submitted, someone's assigned to
fix it, and whoever submitted it is assigned to verify the fix and
close the bug. Once the bug's fixed, the submitter will get notified,
and the bug will wait in the 'resolved' state until the submitter has
verified and then closed the bug.
In order to make use of workflow in your own application, here are
the things you need to consider:
- Define your default process. The idea typically is to allow
your end users to modify the process to suit their needs, but you'll
want eto provide a process which they can use as a starting point.
- Identify, declare, and implement the callbacks that your
application will need.
- Write the code to set up the initial process, and to clone that
process for each package instance.
- Integrate workflow support into your application's API.
- Integrate workflow support into your application's user
interface.
- Integrate workflow into your application's queries
Let's look at each of these in order.
Defining Your Process
Your process
lars@pinds.com