Hello Ruote community,

I have a Ruote::StorageParticipant subclass which is setting a workitem 
field in its on_workitem method. If I call proceed(workitem) directly from 
the on_workitem method, the workitem field I set is available from the next 
participant's on_workitem method. This is expected behavior.

There are cases where I do not want to proceed immediately. In these cases 
I call update(workitem) and let the on_workitem method return. After 
calling update(workitem) I can see that the ruote table contains a JSON 
key/value pair for my workitem field (when using Ruote::Sequel::Storage). 
However, those fields are not available when I retrieve the workitem with 
ruote_dashboard.storage_participant[ruote_fei].  The behavior is identical 
whether I use Ruote::Sequel::Storage or Ruote::HashStorage.

Attached is a sample script which demonstrates this behavior.  It can be 
run in 2 ways:

> ruby ruote-workitem-field-update-test.rb process
> ruby ruote-workitem-field-update-test.rb update

Passing the 'process' argument shows the expected behavior.  Passing the 
'update' argument shows the unexpected behavior (the workitem value is 
nil).  It seems like the storage_participants :[] method is returning a 
cached, stale workitem.  What am I doing wrong?  Am I using ruote 
incorrectly?

Any help would be appreciated.

Thank you.

-- 
-- 
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
--- 
You received this message because you are subscribed to the Google Groups 
"ruote" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Attachment: ruote-workitem-field-update-test.rb
Description: Binary data

Reply via email to