Skip navigation FileNet logo
Glossary  |  Help Directory  
  Help for Process Engine Reference  
  Search  |  Index  
Concepts
  About attachments
  About the Component Integrator
  About launching a workflow
  About milestones
  About operations
About the RMI registry
About rosters
About routing
About rules
  About security
  About security queues
  About step processors
  About step states
  About system maps
  About transfer
  About workflow fields
  About workflow maps
  About workflow participants
  Component queue security issues
  Content Engine (CE) operations
  Coordinate information
  Custom web applications
  Eliminating port 32771 conflicts
  Java Runtime Environment (JRE)
  Maximum index key size
  Naming conventions
  System fields
  Troubleshooting
  Wildcards
  Workflow database field size limitations
  Workflow exceptions
Events & Statistics
Expressions
Procedures
   

About routing

To specify how work will progress from one step to the next, you define routes between the steps in a workflow definition. With the exception of the last step on the map, every step has one or more routes leading from it.

You define every route as being either "always true" at runtime or having a condition that is either true or false at runtime. A condition is based on one or a combination of the following:

  • Participant responses. For example, if the participant had to respond by choosing either "red," "green," or "blue," you might define three routes leading from the step—one route for the red response, one for the green response, and one for the blue response.
  • An expression that references one or more fields in the workflow. For example, for a data field called LoanAmount, you might define one route to take if LoanAmount is greater than or equal to 100,000.00 and another route to take if LoanAmount is less than or equal to 99,999.99.

In general, when there is only one route leading from one step to the next, you specify the route as being always true. When the participant completes the step, the work progresses to the next step. Alternatively, you can define a condition for the only route from a step; in this case, the workflow will stop when the participant completes the step if the condition does not evaluate to true.

At runtime, whether a route evaluates to true or false is the primary factor in determining whether the route is taken. When there are multiple routes from a step, and more than one of those routes evaluates to true, how the step is defined to handle this occurrence is another factor in determining whether a route is taken. The options for handling multiple routes are:

  • Take the first route that evaluates to true. You can specify the order in which the routes are evaluated. The result of this choice is that work continues down a single path, regardless of how many true routes exist.
  • Take all routes that evaluate to true. The result of this choice is that work continues down multiple paths-specifically, all true routes. In this situation, you must also define a collector step that brings the work back into a single path at the end of all the true routes.