On Thu, Aug 05, 2010 at 09:02:43AM -0400, Cappelaere Patrice wrote:
> 
> Good question.
> BPMN is the visual interface.  Then you export it to some intermediate format 
> (like XPDL).
> When you create a process, you will need to define the input parameters.  
> This is usually done at the application level (Dialog of some sorts).  Then 
> this gets mapped to the WorkflowProcess parameters (if you use XPDL as 
> intermediate representation).  Then I would need to convert to openwfe xml.

Hello,

you could re-open the ruote engine and wrap launch with your checking logic :

---8<---
module Ruote

  class Engine

    def check_and_launch (pdef, fields={}, variables={})

      pdef, params = split_params(pdef)

      check_params(params, fields)

      # check_params didn't raise, clear for launch...

      launch(pdef, fields, variables)
    end

    protected

    # Splits the params from the process definition.
    # Returns an array [ pdef without params, params ].
    #
    def split_params (pdef)
      # ...
    end

    # Will raise an exception if something is not right...
    #
    def check_params (params, fields)
      # ...
    end
  end
end

#...

pdef = bpmn2_tool.generate_process_definition()
ruote_engine.check_and_launch(pdef)
--->8---

Just an idea. (fields is the initial payload, what used to be the "launchitem").


Kind regards,

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

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