On Mon, Nov 23, 2009 at 1:24 AM, Gonzalo Suarez
<
gonzalo....@gmail.com> wrote:
>
> We don't like this much... We wouldn't like to mix this kind of logic
> (client navigation) with the business logic.
>
> I hope I had explained my issue well. Is this a right approach? Is
> there any ruote feature we are missing that could help us to deal with
> this in a better way?
Hello Gonzalo,
I understand your concerns. Ruote is about workflow as in business
process, not much as in webflow / client navigation.
== idea a) decoupling worksession from workitem
The dead simple approach is 1 worksession = 1 workitem. But why not
having a specialization of your workitem consumption ?
---8<---
sequence do
participant :ref => 'Alfred', :operation => 'open with form_A'
_if :test => '${f:x} == ${f:y}'
# then
sequence do
participant :ref => 'webservice'
participant :ref => 'Alfred', :operation => 'close with form_B'
end
# else
sequence do
participant :ref => 'Alfred', :operation => 'close with no form'
participant :ref => 'webservice'
end
end
end
--->8---
"open with form_A" would open a worksession / workcase to be closed
later. The workitem delivered to alfred would trigger the creation of
a worksession closed.
Well, looks nice but not very snappy, could spoil the "client
navigation" experience.
== idea b) power to the participant (side)
Forget about describing that flow with ruote, you want it to be snappy, right ?
The flow would look like :
---8<---
participant :ref => 'Alfred'
--->8---
Then the rest is handled by the participant implementation : form A,
webservice, form B OR not. I put the "or" in uppercase because that
decision is done on the participant side, not on the engine side.
The disadvantage here is that the client has to do the webservice invocation.
==
I understand you want to avoid duplication of the decision form_B or
not in Ruote and on the client side. Your process definition seems to
suggest that at the end of form_A, we can decide (no extra information
needed from the engine side).
That's all I can think of for now. I hope this will help, best regards,