Hi John, thanks for the detailed feedback, appreciated! I had a deeper look and I believe that Ruote won't be the simpliest thing that would work in my case (at least for the moment).
Nevertheless, it didn't waste my time at all, instead it gave me ideas about how to structure things (especially listeners, work items and participants and rufus-scheduler). It also gave me ideas that will be useful on other projects. I pretty much kept these concepts but without the process definition for the moment. FWIW, Isaac is now able to check his email, see if some Amazon Market Place request for delivery arrived, print the delivery address and create a todo action in my GTD system. Next, he should be able to retrieve informations from Google Calendar to generate a PDF invoice for my billing days. thanks again for the feedback! cheers, -- Thibaut On Nov 20, 2:04 am, "John Mettraux" <[EMAIL PROTECTED]> wrote: > On Thu, Nov 20, 2008 at 1:39 AM, Thibaut Barrère > > <[EMAIL PROTECTED]> wrote: > > > I'm not sure if I'm in the right direction as I'm very new to > > OpenWFEru, so I thought I would ask here. > > > I'm trying to define a listener that would poll an IMAP box (here is > > the squeleton:http://pastie.org/318824). Is it fine to use a listener > > for that purpose ? How should I instanciate an item from the > > listener ? (I get errors such as "engine.reply() cannot handle > > instances of xxx" whatever type I try). > > Hi Thibaut, > > I worked from your skeleton and came up with > :http://gist.github.com/26847(sorry, playing with gist.vim) > > > Once the listener is defined, I try to use it and pass each received > > message to Isaac, my virtual personal assistant so he can achieve > > repetitive tasks for me. > > An incoming email (or tweet) could trigger mini processes like > :http://gist.github.com/26859 > > Of course the listener could also handle items that are not meant for > the engine and trigger other pieces of Ruby code. > > "notify_thibaut" could be a participant that sends you an email and > "remind_thibaut" could be a growl or a tweet. Whatever you put behind > the participant. Note that you could also call another process or a > subprocess. > > I pushed Ruote (OpenWFEru) as I think you could benefit by building > your assistant on top of it (as a component at least). As a workflow > engine it's meant to manage long running [business] processes (better > to run with persistence on). It sees the outside world as a set of > participants at which it throws workitems. You could place tasks > behind participants and use the Ruote process definition language to > weave mini processes that you can then launch, track, suspend, resume, > cancel, ... > > > I came up with this:http://pastie.org/318828=> is it correct ? > > (there is no process definition - do I need one ?) > > Yes, the engine instantiation + listener registration do look correct. > > Seems like Isaac would be the engine itself (implicit participant ?) > > Maybe you will need to unlock certain settings > :http://github.com/jmettraux/ruote/tree/r0.9.19/examples%2Fengine_temp...http://github.com/jmettraux/ruote/tree/r0.9.19/examples%2Fengine_temp... > > As I've said, I've been a bit forward. If you don't feel inclined to > use a process definition language, then Ruote (OpenWFEru) is overkill > (sorry for having wasted your time :( ). > > Best regards, thanks for your feedback, > > -- > John Mettraux - http://jmettraux.wordpress.com --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "OpenWFEru users" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/openwferu-users?hl=en -~----------~----~----~----~------~----~------~--~---
