On Fri, Aug 24, 2012 at 11:52:42AM -0700, Doug Bryant wrote:
>
> Is it possible to accomplish stopping on given support steps if they are
> needed without explicitly listing them? Is listen totally incorrect for
> trying to accomplish this task? If so, can you suggest an alternative
> implementation?

Hello Doug,

unfortunately "listen" cannot modify the flow to insert steps sequence like.
The sub-flows it triggers are always "forgotten", the main flow doesn't wait
for them.

> I've played with changing sequence to a cursor and using
> jump :to instead of trying to go straight to the participant with a ref.

I guess it did not work, the reply already happened, the jump command ended
up nowhere probably.

Here is a[n incomplete] suggestion, it might give you ideas:

---8<---
pdef = Ruote.define do

  define 'supported' do
    set 'needs_support' => false
    apply # applies the passed "block"
    support :if => '${needs_support}'
  end

  sequence do
    supported { alpha }
    supported { bravo }
  end
end
--->8---

the needs_support field should probably hold the supported participant name
in order to be helpful to the support participant.

I guess it doesn't fulfill your "no support mention in the process definition
rule".

There would be another variant, possible on the latest versions of ruote
(master branch), it's evil:

  https://gist.github.com/3458060

It leverages on_pre_msg(msg) to intercept "receive" msgs and change them if
support is needed. The major downside: it works for all the processes in the
engine.

Please tell me if you need other suggestions.


Best regards,

--
John Mettraux - http://lambda.io/jmettraux

-- 
you received this message because you are subscribed to the "ruote users" group.
to post : send email to [email protected]
to unsubscribe : send email to [email protected]
more options : http://groups.google.com/group/openwferu-users?hl=en

Reply via email to