2009/7/13 孫 皓 <[email protected]>:
>
>  the problems now are:
>
>> Ruote-fluo cannot generate diagrams for non-existent process
>> instances.
>
>  Yes, it must be so... but after i launched a new process, i can not
> see the diagrams...
>  Even i start new process from the web, i can not see the graph from
> Safari.
>  Sometimes after i delete the work_development folder i also can
> confirm the
>  process graph.
>  May this problems has some relation with database ? <- i will try to
> delete workitems there.

Hi again,

you have to be more precise, for example :

which diagrams are you looking at ? Process view or Workitem view ?

Process view might not be available, since you destroyed the process
information.
Workitem view might be available since you did not clean the database.

Please don't use the word "sometimes", it means nothing to me. Try to
track the issue in an "engineer" way.

If you spot a real issue, please provide a way (a recipe) that allows
me to reproduce it.


>> how can i dispach my workitem to a certain process ?
>
> Sorry, the same question again. sorry that  i did not explain what is
> problem.
> it is some question about nterleaved_parallel_routing.
> http://openwferu.rubyforge.org/patterns.html#pat_17_interleaved_parallel_routing
>
>  i have participants a and b waiting for email response.
> My listener can found out the workitem by using wfid from received
> email.
> But can not control the dispathing process that passing the above
> workitem to a, but not b... or vice versa.

You listener should not attempt to control the dispatching process.
The listener should only focus on rebuilding the workitem and replying
to the engine with it.

Maybe I don't understand well your issue.


>  > One more question.
>
> How can i detect whether the process is finished because of timeout or
> not ?
> if it is timeout, i needto re-invoke the process again.
> Like below ??
>
> listener :to "may_be_time_out" :upon=>"reply", where "${f:timeout}" do
>   redo-the-process
> end
>
> process "check_timeout" do
>   set :f => timeout, :v => true
>   may_be_time_out                   <-- Here, set timeout flag false
> when received email ??
>   _if "${f:timeout}" do
>       redo-the-process
>   end
> end

Maybe :

---8<---
OpenWFE.process_definition :name => 'test' do
  sequence :tag => 'body' do
    # ...
    participant :ref => 'email_target', :timeout => '2d'
    _redo :tag => 'body', :if => '${f:__timed_out__}'
  end
end
--->8---

or

---8<---
OpenWFE.process_definition :name => 'test' do
  sequence do
    # ...
    participant :ref => 'email_target', :timeout => '2d'
    subprocess :ref => 'test', :if => '${f:__timed_out__}'
  end
end
--->8---

or (the best I think)

---8<---
OpenWFE.process_definition :name => 'test' do
  cursor do
    # ...
    participant :ref => 'email_target', :timeout => '2d'
    rewind :if => '${f:__timed_out__}'
  end
end
--->8---


I hope this will help, best 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