Yes that would do it. Thanks Eric Smith On Sep 6, 5:38 pm, John Mettraux <[email protected]> wrote: > On Tue, Sep 06, 2011 at 03:10:00PM -0700, eric smith wrote: > > > We have several conditions where we want to be reminded based on a > > date relative to a field in a workitem, not necessarily the workitem > > date. > > > task => 'prep orientation package' :remind_me => 5 days before the > > [contract date] > > Hello Eric, > > I know this is not elegant, but I'd do it this way: > > ---8<--- > alice :task => 'prep package', :timers => > '${r:Time.at(wi.fields['contract_date']) - 5.days}: reminder' > --->8--- > > (note I've used ActiveSupport #days in this example). > > > Not sure if its part of the same use case but you could also see: > > remind me 5 days before the end of the month,quarter year > > That would require a good temporal language in ruote. > > Others have implemented such languages in Ruby, I was thinking people would > simply use the one they prefer in their participants (or in ${r:x} > constructs). > > https://github.com/mojombo/chronic > https://github.com/bokmann/business_time > https://github.com/dcparker/temporals > ... > > One thing I could do is checking whether the participant class responds to a > #timers method and call it if present. This is currently only implemented for > timeouts (via a #rtimeout method (since JRuby forces a #timeout method on > every object)). > > We currently only have > > ---8<--- > class MyParticipant > include Ruote::LocalParticipant > > def rtimeout(workitem) > (Time.at(workitem.fields['contract_date']) + 10.days).to_s > end > end > --->8--- > > we could thus have also > > ---8<--- > class MyParticipant > include Ruote::LocalParticipant > > def timers(workitem) > (Time.at(workitem.fields['contract_date']) - 5.days).to_s + ': ' + > 'reminder' > end > end > --->8--- > > Not sure if my answer makes sense, kind regards, > > -- > John Mettraux -http://lambda.io/processi
-- 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
