On Tue, Jan 27, 2009 at 6:17 PM, DaVinci <[email protected]> wrote:
>
> P.D: Perhaps all this might go in dev list? :)

Hello David,

it's perfect in here. Ruote is a tiny project, I shouldn't have set up
a "dev list", everything in the user list is fine (sorry for the
noise).


> On 27 ene, 09:18, John Mettraux <[email protected]> wrote:
>> it's hard for the engine to figure out which participant is the first,
>
> Let's go to see actual examples :)
>
>> especially when the process starts with a concurrence :
>>
>>     concurrence do
>>       (...)
>>     end
>
> In that case, engine could return both participants like able starters
> of process.
>
>> or when the first participant is some kind of automated participant
>> which decides who's next :
>>
>>     sequence do
>>       (...)
>>     end
>
> In that case, engine could return "determine_agent", but as
> participant is not human, we would have no interest in it.

I agree with your development. But then we're actually
"pre-interpreting" the process definition...

What about cases like

  sequence do
    participant :ref => "alpha", :if => "${field:premium} == true"
    participant :ref => "bravo"
  end

You know the value of the field 'premium' at launch time, so you know
if the "first participant" is alpha or bravo... but that amounts to
actually interpreting the process...

Maybe there is a less intensive way. If you look at that gist :

  http://gist.github.com/53338

You'll see the transformation of the two Ruby process definitions into
the trees understood by the Ruote engine. Fine, it's easy to
manipulate those trees to:

  http://gist.github.com/53344

(those Gists run with the latest, edge, Ruote
(http://github.com/jmettraux/ruote))

All is fine, I could extract the first participant... but wait, what
if there is a concurrence instead of the sequence ? The
"pre-interpreting" thinggy has actually to know about the semantics of
the trees...

I guess I could set up a 'side engine' with 'blank participants' to
analyze processes when they get "inserted in the database" and output
the "first participant" that I could map to a user that would be
entitled to launch that process... (Still there is the :if => premium
problem) But I prefer to have a system embedding Ruote where users are
explicitely granted launch rights. Somehow, some of my users are not
participants in the processes they are entitled to launch.


Best regards,

-- 
John Mettraux   -   http://jmettraux.wordpress.com

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Ruote (OpenWFEru) users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/openwferu-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to