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:

  1. 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.
  2. Identify, declare, and implement the callbacks that your application will need.
  3. Write the code to set up the initial process, and to clone that process for each package instance.
  4. Integrate workflow support into your application's API.
  5. Integrate workflow support into your application's user interface.
  6. Integrate workflow into your application's queries
  7. Let's look at each of these in order.

    Defining Your Process

    Your process


    lars@pinds.com