Workflow plugin?

Hi,

Is there a workflow plugin that exists for Rails? That is something
that
provides a workflow framework around how to manage state changes for an
object/model (i.e. think of a complex state diagram that represents
states
and possible paths between states for a specific object/model).

Tks

Greg -

On 21-Apr-08, at 7:49 PM, Greg H. wrote:

Hi,

Is there a workflow plugin that exists for Rails? That is something
that provides a workflow framework around how to manage state
changes for an object/model (i.e. think of a complex state diagram
that represents states and possible paths between states for a
specific object/model).

Tks

This will get you most of the way there -

http://agilewebdevelopment.com/plugins/acts_as_state_machine

Jodi

thanks - I’m looking for something that supports creating validations
back
to the user if they try to make an update that doesn’t satisfy state
criteria. For example if I have a model for personal expenses
(“Expense”)
and that if I want to transition it from PAID to BANK_RECONCILED then I
was
to make sure that the BANK_RECONCILED_DATE field is populated before
allowing this to proceed. So perhaps I really want something like:

  • User updates an Expense and changes the status to BANK_RECONCILED but
    doesn’t add a BANK_RECONCILED_DATE

  • model update sees change in status and calls the “bank_reconciled!”
    action

  • this action either works, or else provides a set of validations back

Is this a reasonable approach? Or do people think it would be best to
handle this with the normal Rails basic validation approach (i.e. and
not
use “acts_as_statemachine”)

On Tue, Apr 22, 2008 at 3:01 PM, Greg H.
[email protected] wrote:

  • this action either works, or else provides a set of validations back

Is this a reasonable approach? Or do people think it would be best to
handle this with the normal Rails basic validation approach (i.e. and not
use “acts_as_statemachine”)

Maybe this will provide some functionality you are looking for.

http://openwferu.rubyforge.org/