Hello,
1. Ruote-kit works under “_ruote” prefix, but ruote-kit-client connects to the root of web-server. I tried to set connect address in several forms: http://localhost:8001/_ruote, http://localhost:8001 with no success. It looks like I missed something obvious… 2. I’ve implemented an external participant class, which creates task in external task system. For some reason, I may not store the whole workitem in that task system, so I just send wfid an expid to the external system. To get information about completion of the task, I adjusted ruote-kit and expose “engine.reply” method under “_ruote/ engine/reply”. Implementation is quite naïve(code quality may be poor, sorry: I’m not experienced in Ruby yet): http://gist.github.com/370868 . This web-service method is called from outside. Also I modified ruote-kit-client respectively. It works good, but I’m just wondering is such approach OK and would It works without side-effects ? 3. Related to 2) suggestion. In my case, results of human tasks arrive raw and unstructured and should be transformed before using in the process. This could be done by additional step in the process like this: ----- sequence do external_human_participant process_results end ------ But using this way I need to “process_results” after every external human task and it looks artificial. What do you think about such an idea: external participant implements “on_reply” method and engine calls this method upon receiving a “reply” message? This let to compact process definition and move proceeding of results into the participant class, which knows how to proceed the results in context of process. 4. This question/suggestion also related to external participants. Please consider two slightly different scenarios: a. Participant creates task in the external task system. Also, It should annoy task performer with periodical (let’s say, every day) e-mails like this: “Please read and complete the task…”. If user doesn’t response for 3 days, frequency becames 2x: two times per day user receives a message “Oh, please, please read and complete the task…”. And so on. After a week, task gets cancelled. This behavior may be implemented in the process definition by some combination of “:timeout” participants and maybe “every” expression. But may be it’s possible for participant to use internal scheduler to schedule it’s own re-applying from “consume”? Better, participant may return some “schedule” or "next run time/interval" object from “consume” method which is processed by the engine/worker. b. Participant works with external resource. If resource is locked, participant should try every 10 minutes for 2 hours and raise error if the resource still locked. Above scenarios could be defined in the process definition, but process becomes watered down and less readable. I'm almost sure that it is should be the responsibility (at least in my particular case) of the participant, not the process definition. Best regards, Oleg -- 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
