NOTE : the latest version of ruote (2.1) is documented at Meet you there.

The “Tea Testing Team” example (1 / 7)

prologue | initial | soft | definition | users | run | tim >

This is meant to be read sequentially. It’s the story of the implementation of a business process.

Disclaimer : I have no idea of the business of tea, this example is completely made up. I simply hope it will feel less boring than a “holiday request” or “expense sheet” example.

(you might also be interested by this blog post about implementing a trouble ticket business process)

before commencing

This is meant to be a step by step implementation of an example business process on top of OpenWFEru (and its demo Ruby on Rails integration, Densha).

OpenWFEru (‘Rufus’ for short) is a an open source workflow engine written, if you don’t need such a tool please go look elsewhere. And if you simply need to bind a state that takes values like “approved”, “unpublished”, “revised” to a simple ActiveRecord model, you’re probably better off with a tool like act_as_a_statemachine

If you need a workflow engine where business processes are a first-class concept that you can define, launch, pause, cancel, … then maybe you should read on and Rufus may be a tool for you.

This example uses Densha, a Ruby on Rails integration of Rufus (OpenWFEru), but please remember that you can use Rufus outside of a Rails application (these days, I use it at work inside Tomcat thanks to JRuby)

If you feel that some part of this guide should be enhanced/clarified/extended or if you simply have a question, please seek for help on the OpenWFEru users mailing list

the ‘tea testing team’ example

This example is based on a presentation I gave in February 2007. At this point, Rufus was only 4 months old and there was no Rails integration.

Please remember that Rufus is the workflow engine and that Densha is an integration example of it within a Ruby on Rails application.

how the example is divided