1. ruote - open source ruby workflow and bpm engine Developed by John Mettraux jmettraux.wordpress.com Presented by Kenneth Kalmer in 20 minutes opensourcery.co.za
23. Rule: Notify Client when 4 quotes are received aasm_state :pending_four_left aasm_state :pending_three_left aasm_state :pending_two_left aasm_state :pending_one_left aasm_state :pending_but_notified_client ... aasm_state :is_this_ridiculous_or_what?
24. Rule: Wait up to 7 days for quotes aasm_state :pending_four_remaining_timeout aasm_state :pending_three_remaining_timout aasm_state :pending_two_remaining_timout aasm_state :pending_one_remaining_timout ⊠aasm_state :call_recruiter_for_new_dev!
54. But, wants to let the client know he's doing his best!
55. Third round: Bargain hard class MortgageApplication < OpenWFE::ProcessDefinition sequence do loop do concurrence :timeout => '7d', :count => 4 do institution_1 :activity => 'Mortgage Quote' # ... e nd joe :activity => 'Review quotes' _break :if => â${f:joe_happy}â email :activity => âGetting new quotesâ, :to => â${f:client.email}â end end end
65. Quote found, action the client class MortgageApplication < OpenWFE::ProcessDefinition sequence do loop do # ... end secretary :activity => âSend client application formsâ end end
66. Application received, apply at institution class MortgageApplication < OpenWFE::ProcessDefinition sequence do # ... secretary :activity => âSend client application formsâ participant :ref => â${f:selected_institution}â, :activity => âApply for mortgageâ end end
72. Joe has last say class MortgageApplication < OpenWFE::ProcessDefinition sequence do # ... participant :ref => â${f:selected_institution}â, :activity => âApply for mortgageâ joe :activity => âReview application resultsâ end end
73.
74. Mortgage will stay in âappliedâ state, or move to âapprovedâ/ârejectedâ states