Hi,
I have just released ruote, ruote-dm and ruote-couch 2.1.7.
Here is the changelog for ruote itself :
---8<---
- now works on WinXP, Ruby 1.8.7p249
- reformed msgs ids and adapted Ruote::StorageHistory
- engine.register_participant(x, Ruote::StorageParticipant) now
returning a instance of the participant, for easy query
- StorageParticipant, added #query(criteria), thanks Torsten and Brett
- Ruote::Workitem #lookup('deep.field') and #set_field('deep.field') are back
- Ruote::Workitem added == and hash (list.uniq friendly), thanks Brett
- Engine#configure(key, value), thanks Torsten
- Ruote.to_tree (lightweight version of Ruote.process_definition)
- ParticipantList#names, thanks Kenneth
--->8---
Top of the list is "it runs on WinXP", it's covered in a special
email, so no details.
Here are some highlights :
=== engine.register_participant(x, Ruote::StorageParticipant) now
returning a instance of the participant
this lets you write
part = engine.register_participant :alpha, Ruote::StorageParticipant
# ...
puts "there are now #{part.size} workitems for participant alpha"
No need to grab an instance of StorageParticipant later.
=== StorageParticipant, added #query(criteria), thanks Torsten and Brett
The StorageParticipant gets a query() method for querying fields,
wfid, participant_name all at once :
http://github.com/jmettraux/ruote/blob/ruote2.1/test/functional/ft_20_storage_participant.rb#L157-193
=== Ruote.to_tree (lightweight version of Ruote.process_definition)
Last release (2.1.6) saw the addition of options for the
Engine#re_apply() method :
http://github.com/jmettraux/ruote/blob/ruote2.1/test/functional/ft_14_re_apply.rb
If you want to re_apply a segment of process (perhaps a stalled one),
given the fei (FlowExpressionId) of the point in the process instance,
you can do it with :
engine.re_apply(fei)
If you want to re_apply but a with a new payload for the workitem :
engine.re_apply(fei, :fields => { 'customer' => { 'name' => 'Alf',
'address' => 'saucer street' } })
if you want to re_apply but you want the segment to follow a different
process definition (in-flight modification), you can do :
engine.re_apply(fei, :tree => Ruote.to_tree {
sequence do
supplier
us
customer
end
})
This will, like in the other examples, cancel the stalled segment,
then restart it, but this time with the given (to_tree) process
definition [segment].
I'd like to thanks Torsten Schoenebaum, Kenneth Kalmer and Brett
Anthoine for their help and all of you for your continuous feedback,
--
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