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 -~----------~----~----~----~------~----~------~--~---
