ruote tmp/log_2012-08-02.html

2012-08-02 05:14:29 utc jmettraux kennethkalmer: hello, it's been a while ;-)
2012-08-02 05:14:38 utc kennethkalmer jmettraux: ohai!
2012-08-02 05:14:41 utc kennethkalmer too long
2012-08-02 05:15:00 utc kennethkalmer how are things going in ruote land ?
2012-08-02 05:15:30 utc jmettraux going fine, too much activity, cannot take the time to release 2.3.0
2012-08-02 05:15:34 utc jmettraux and you?
2012-08-02 05:16:07 utc kennethkalmer in full startup survival mode, too much activity for anything else really
2012-08-02 05:16:28 utc kennethkalmer but overall, things are going great
2012-08-02 05:16:43 utc jmettraux happy to read that
2012-08-02 05:18:18 utc kennethkalmer see the activity on the group has picked up lately
2012-08-02 05:18:22 utc kennethkalmer any exciting new users ?
2012-08-02 05:18:44 utc jmettraux it seems there are a few, but they don't publicize their usage
2012-08-02 05:18:59 utc kennethkalmer aaaah ;)
2012-08-02 05:19:09 utc jmettraux one although is visibly appealing:
2012-08-02 05:19:38 utc jmettraux (but there's no mention of ruote there, you only know if you dig the group for info)
2012-08-02 05:20:21 utc kennethkalmer epic
2012-08-02 05:20:30 utc kennethkalmer perfect fit for ruote
2012-08-02 05:22:45 utc kennethkalmer yay, that really is a perfect fit
2012-08-02 05:22:58 utc kennethkalmer loved how ruote worked at inX
2012-08-02 05:23:14 utc jmettraux is it still there?
2012-08-02 05:23:37 utc kennethkalmer yep
2012-08-02 05:23:45 utc kennethkalmer they would not survive without it
2012-08-02 05:23:52 utc kennethkalmer i mean that in a nice way
2012-08-02 05:24:04 utc jmettraux great :-)
2012-08-02 05:24:24 utc kennethkalmer that day we went live with ruote + amqp + kit + etc we effectively replaced 4 humans
2012-08-02 05:24:41 utc kennethkalmer and then those guys could actually focus on helping clients
2012-08-02 05:24:52 utc kennethkalmer instead of ssh-ing into a gazillion servers
2012-08-02 05:25:09 utc jmettraux what's great with this story is that those 4 guys didn't lose their job ;-)
2012-08-02 05:25:19 utc kennethkalmer exactly!
2012-08-02 05:25:36 utc kennethkalmer the extra time allowed them to develop additional skill sets
2012-08-02 05:26:10 utc kennethkalmer man, I miss using ruote day to day
2012-08-02 05:26:22 utc kennethkalmer sure the next opportunity will come
2012-08-02 05:26:50 utc jmettraux what exciting are you doing these days? (apart from watching girls in lace and rollers)
2012-08-02 05:26:57 utc kennethkalmer :D
2012-08-02 05:27:26 utc kennethkalmer main focus now is tidying up for first MVP
2012-08-02 05:27:56 utc kennethkalmer essentially crunching income statements and balance sheets of businesses and then giving them insights
2012-08-02 05:28:19 utc kennethkalmer comparative insights, benchmarking, and just helping them understand what is going on with their financials
2012-08-02 05:29:14 utc jmettraux sounds very cool and rewarding
2012-08-02 05:29:51 utc kennethkalmer yep, very excited about it
2012-08-02 05:31:14 utc kennethkalmer frontend skills have skyrocketed
2012-08-02 05:31:38 utc jmettraux what are you using / have you developed for that?
2012-08-02 05:31:55 utc kennethkalmer a lot of the heavy lifting is done with Backbone, most of the app is actually coffeescript
2012-08-02 05:32:01 utc kennethkalmer Rails 3 on the back
2012-08-02 05:32:12 utc kennethkalmer then Prawn of reports
2012-08-02 05:32:16 utc jmettraux :-)
2012-08-02 05:32:42 utc kennethkalmer and my favorite so far is using the ruby racer to run the same coffeescript on the server for the reports
2012-08-02 05:33:24 utc jmettraux lol
2012-08-02 05:35:00 utc kennethkalmer otherwise, is doing ok-ish
2012-08-02 05:35:11 utc kennethkalmer but VUP is our main focus atm
2012-08-02 05:35:35 utc jmettraux and how is your ski-time?
2012-08-02 05:36:35 utc jmettraux and has the ZA internet gotten better?
2012-08-02 05:37:30 utc kennethkalmer ski time is few and far between, mostly on carpets, itching to get back on a slope though
2012-08-02 05:37:52 utc kennethkalmer the 3 valleys was awesome, ever been there ?
2012-08-02 05:38:05 utc kennethkalmer ZA internet is slowly catching up, prices are dropping heavily though
2012-08-02 05:38:23 utc kennethkalmer competition is getting fierce, especially from the mobile operators
2012-08-02 05:39:59 utc jmettraux no, sorry, I'm not much of a skier, my father tried but I'm one of those non-skiing swiss
2012-08-02 05:41:57 utc kennethkalmer well, then try visiting in summer, it is beautiful there
2012-08-02 05:42:33 utc kennethkalmer
2012-08-02 05:45:31 utc jmettraux :-)
2012-08-02 05:55:14 utc hartog guten morgen!
2012-08-02 05:56:17 utc jmettraux guten Morgen!
2012-08-02 05:57:24 utc kennethkalmer goeie more !
2012-08-02 06:30:58 utc hartog jmettraux: in relation to your performance work together with Marco - wouldn't a ruby w/o a RIL play nicer for Ruote?
2012-08-02 06:33:46 utc jmettraux hello, what's a RIL?
2012-08-02 06:37:15 utc hartog Ruby Interpreter Lock
2012-08-02 06:37:54 utc hartog jRuby has no ril, since threads are handled by the jvm
2012-08-02 06:39:01 utc hartog or GIL if you like (Global Interpreter Lock)
2012-08-02 06:39:10 utc jmettraux yeah, that's what I know
2012-08-02 06:39:54 utc jmettraux Marco's initial issue was with too many connections being created (one per thread)
2012-08-02 06:40:50 utc jmettraux getting rid of the GIL could help
2012-08-02 06:41:16 utc jmettraux but having multiple workers gets around it already
2012-08-02 06:41:49 utc hartog ok (was just wondering)
2012-08-02 06:41:50 utc jmettraux I have the impression his participant implementations are heavy, now with the no-threading on, they monopolize each a worker
2012-08-02 06:42:06 utc jmettraux that's why I'm proposing to bring back some pooled threading
2012-08-02 06:42:19 utc jmettraux so that blocked participants just pass
2012-08-02 06:42:56 utc jmettraux unfortunately, I have no access to his system, I cannot see for myself how it happens
2012-08-02 06:43:04 utc jmettraux he should log and analyze
2012-08-02 06:43:24 utc hartog We all should!
2012-08-02 06:43:29 utc jmettraux :-)[
2012-08-02 06:44:53 utc hartog Another thought I had; would it not be nice to have a worker that states its abilities and store the required abilities with the workitem/msg? this way one could generate some scheduling or prioritizing
2012-08-02 06:45:48 utc jmettraux I'm sorry, I don't understand the storing part
2012-08-02 06:47:20 utc hartog to much haste again - when I launch a process, I specify the required capabilities
2012-08-02 06:47:39 utc hartog (these could change along the way, i imagine)
2012-08-02 06:48:29 utc hartog Something like : ```dash.launch, pdef, workitem, { :capabilities => [ :email, :amqp, :soap ] }```
2012-08-02 06:48:56 utc jmettraux ACTION listens
2012-08-02 06:49:11 utc hartog meaning: workers that dont have all capabilities would ignore the messages
2012-08-02 06:50:18 utc hartog to take Marco's case: One could have one worker with :capabilities => [ :high_prio ] and one worker with :capabilities => [ :low_prio ]
2012-08-02 06:51:53 utc hartog to make it more interesting; a participant could also be asking for capabilites
2012-08-02 06:52:19 utc jmettraux and me who thought that in such cases one would just add workers
2012-08-02 06:52:47 utc hartog it may be a german thing ;) :D
2012-08-02 06:54:29 utc jmettraux ok, I'll keep that in mind
2012-08-02 06:55:16 utc hartog it was just a brain-fart, dont make to much of it!
2012-08-02 06:56:49 utc jmettraux thanks for sharing anyway
2012-08-02 08:05:10 utc hallucynogenyc Heya, are you here john?
2012-08-02 08:11:34 utc jmettraux hallucynogenyc: hello, yes, welcome to #ruote
2012-08-02 08:12:24 utc hallucynogenyc great :) I'm not sure you remember me, I opened a couple of tickets yesterday
2012-08-02 08:12:28 utc hallucynogenyc on ruote-kit
2012-08-02 08:13:10 utc jmettraux yes, I do remember, I'm not that senile ;-)
2012-08-02 08:13:23 utc jmettraux thanks for your reports, it helps
2012-08-02 08:13:27 utc hallucynogenyc well, my name can be tricky to remember haha
2012-08-02 08:13:56 utc hallucynogenyc anyway, as you saw, I sarted yesterday
2012-08-02 08:14:03 utc hallucynogenyc I want to implement a simple workflow
2012-08-02 08:14:08 utc hallucynogenyc on a rails app
2012-08-02 08:14:22 utc hallucynogenyc so well, now I got ruote-kit running in the rails template app
2012-08-02 08:14:45 utc hallucynogenyc and there's something I keep struggling with
2012-08-02 08:15:15 utc hallucynogenyc it seems to me that ruote-kit is just some kind of dashboard for ruote on a web app
2012-08-02 08:15:42 utc hallucynogenyc I mean, apparently all I can do with it is view current processes or launch new ones etc
2012-08-02 08:16:16 utc hallucynogenyc I'd expect this sampple rails app to be built like in 3 layers
2012-08-02 08:16:31 utc hallucynogenyc ruote-kit -> ruote -> rails
2012-08-02 08:16:45 utc hallucynogenyc but apparently, according to the documentation on the ruote-kit page
2012-08-02 08:16:50 utc jmettraux well, ruote-kit is more like a admin tool
2012-08-02 08:16:58 utc hallucynogenyc ye, exactly
2012-08-02 08:17:00 utc jmettraux or a source of inspiration
2012-08-02 08:17:09 utc hallucynogenyc so, why is it that in the documentation
2012-08-02 08:17:28 utc hallucynogenyc it states:
2012-08-02 08:17:31 utc hallucynogenyc "You can access Ruote’s engine anywhere in your Rails code by calling RuoteKit.engine"
2012-08-02 08:17:55 utc hallucynogenyc how is it that ruote has been embeded inside it? what am I missing here?
2012-08-02 08:18:42 utc jmettraux
2012-08-02 08:19:26 utc jmettraux a kind of shortcut
2012-08-02 08:21:30 utc hallucynogenyc sorry if what I'm gonna say isn't very ruby friendly, but I just started with it too ;)
2012-08-02 08:21:36 utc hallucynogenyc so,
2012-08-02 08:21:50 utc jmettraux these days I tend to "place" the engine in Ruote.engine or Ruote.dashboard when there is no ruote-kit around
2012-08-02 08:21:52 utc hallucynogenyc ruotekit is just initializing the ruote engine and holding a reference to it
2012-08-02 08:22:04 utc jmettraux yes
2012-08-02 08:22:18 utc hallucynogenyc I see
2012-08-02 08:23:32 utc hallucynogenyc Thank you a lot of the help
2012-08-02 08:24:03 utc jmettraux you're welcome
2012-08-02 08:24:04 utc hallucynogenyc bye!
2012-08-02 08:24:07 utc hallucynogenyc (I'm sure I'm coming back soon with more doubts ;) )
2012-08-02 08:24:08 utc jmettraux bye!
2012-08-02 08:24:23 utc jmettraux feel free to use the mailing list as well if there are no answers here...
2012-08-02 08:24:24 utc jmettraux too late
2012-08-02 08:52:30 utc hallucynogenyc hi again
2012-08-02 08:52:37 utc hallucynogenyc I'm back with more questions :D
2012-08-02 08:53:26 utc hallucynogenyc If I chose to use XML process definitions
2012-08-02 08:53:39 utc hallucynogenyc where am I supposed to store them?
2012-08-02 08:53:43 utc hallucynogenyc (rails app)
2012-08-02 09:01:05 utc hartog hallucynogenyc: it's up to you! You can store them in your database or on neat little spot on the filesystem
2012-08-02 09:02:01 utc hallucynogenyc hmm so I'll just store them in assets/processes for now then :)
2012-08-02 10:25:50 utc hallucynogenyc back again
2012-08-02 10:26:05 utc hallucynogenyc what if the workflow involves a single person?
2012-08-02 10:27:42 utc hallucynogenyc I have to do a process which involves different steps
2012-08-02 10:27:48 utc hallucynogenyc but I do it all myself
2012-08-02 10:28:52 utc hallucynogenyc looking at all the examples
2012-08-02 10:29:09 utc hallucynogenyc it seems like ruotes only works when one person does one step
2012-08-02 10:29:42 utc hallucynogenyc in fact it even seems like a process is composed by a defined order between participants
2012-08-02 10:29:58 utc hallucynogenyc instead of what I would asume, a defined order between defined steps
2012-08-02 10:30:46 utc jmettraux nothing prevents you from writing a flow that goes like:
2012-08-02 10:31:07 utc jmettraux participant != user
2012-08-02 10:31:38 utc jmettraux you can dispatch to a participant backed by an "inbox" shared by multiple users
2012-08-02 10:34:02 utc hallucynogenyc but what does this :task attribute really do?
2012-08-02 10:34:36 utc hallucynogenyc I mean, will I have to code a consume method with an if-else for every possible task?
2012-08-02 10:35:09 utc jmettraux no
2012-08-02 10:35:19 utc jmettraux this task attribute is a convention
2012-08-02 10:35:47 utc jmettraux in this snippet, I have context where a participant is mapped to a user
2012-08-02 10:35:49 utc jmettraux "alice"
2012-08-02 10:36:01 utc jmettraux and I deliver to consecutive tasks to that participant
2012-08-02 10:36:09 utc jmettraux with different titles
2012-08-02 10:36:28 utc jmettraux I was replying to your "what if the workflow involves a single person?" question
2012-08-02 10:36:54 utc jmettraux "it seems like ruotes only works when one person does one step" is wrong
2012-08-02 10:37:27 utc jmettraux hallucynogenyc: what's your background, where do you come from to Ruby?
2012-08-02 10:42:43 utc hallucynogenyc Java mainly
2012-08-02 10:42:54 utc jmettraux cool
2012-08-02 10:43:20 utc jmettraux experience with jBPM or Activity or Bonita?
2012-08-02 10:43:59 utc hallucynogenyc no, I just read about worflows, they seemt cool and decided to try with rails
2012-08-02 10:44:13 utc jmettraux ouch
2012-08-02 10:44:43 utc hallucynogenyc then I ended up on ruote because it seems like the only way to implement them natively
2012-08-02 10:45:01 utc jmettraux ok
2012-08-02 10:45:06 utc hallucynogenyc I tried activiti at the begining because it seemt like a more robust product
2012-08-02 10:45:47 utc jmettraux lol
2012-08-02 10:45:49 utc hallucynogenyc but the REST api documentation was close to non existant so I looked for something I could use from the inside
2012-08-02 10:46:13 utc hallucynogenyc sorry if I offended you, just the first impression I had ;)
2012-08-02 10:46:59 utc jmettraux yeah professional open source vs amateur open source
2012-08-02 10:47:11 utc jmettraux those guys have a marketing team
2012-08-02 10:47:58 utc jmettraux vs
2012-08-02 10:49:15 utc hallucynogenyc_ hey
2012-08-02 10:49:21 utc hallucynogenyc_ sorry my connection went down
2012-08-02 10:49:39 utc hallucynogenyc_ last line I read were thecomparison links
2012-08-02 10:50:20 utc jmettraux that's ok, it is the last line I sent
2012-08-02 10:50:26 utc hallucynogenyc_ I was saying it doesn't matter how professional activiti is, it's still a nightmare to integrate it with Rails or so it seemt to me
2012-08-02 10:50:55 utc jmettraux ok, maybe ruote is a nightmare too
2012-08-02 10:51:36 utc hallucynogenyc_ well, activiti required communication with an almost undocumented http API
2012-08-02 10:51:53 utc hallucynogenyc_ and ruote is already runing on a test rails app here :)
2012-08-02 10:52:03 utc jmettraux :-)
2012-08-02 10:52:22 utc hallucynogenyc_ so where were we...
2012-08-02 10:52:48 utc hallucynogenyc_ ah yes, say I want to implement the process which is handled by a single user
2012-08-02 10:53:00 utc hallucynogenyc_ you were saying I should use the task attribute
2012-08-02 10:53:08 utc hallucynogenyc_ and a single participant
2012-08-02 10:53:31 utc jmettraux ruote-kit, uses a single participant (a catchall) backed by a StorageParticipant
2012-08-02 10:53:42 utc jmettraux it's simply an inbox
2012-08-02 10:53:56 utc jmettraux so the :task attribute becomes like the subject of an email...
2012-08-02 10:54:08 utc hallucynogenyc_ oh so I have the solution already working and I didn't know it
2012-08-02 10:54:13 utc hallucynogenyc_ amazing
2012-08-02 10:54:16 utc jmettraux that's how ruote-kit is configured by default
2012-08-02 10:55:48 utc hallucynogenyc_ is there anywhere I could find all this information?
2012-08-02 10:56:14 utc hallucynogenyc_ I've been looking at literally everything I could find on the ruote-kit website
2012-08-02 10:56:19 utc hallucynogenyc_ readme*
2012-08-02 10:56:26 utc hallucynogenyc_ and everything at the web
2012-08-02 10:56:30 utc hallucynogenyc_ the ruote web
2012-08-02 10:56:51 utc hallucynogenyc_ and I never found anything about this
2012-08-02 10:58:36 utc jmettraux yes, it's true that the "registration of participants" section of the readme only mentions the catchall as a "eat all the cookies" thing
2012-08-02 10:59:00 utc hallucynogenyc_ Well, and to be honest when I read that
2012-08-02 10:59:00 utc jmettraux please open an issue for that:
2012-08-02 10:59:08 utc jmettraux I'll take the time to fix that
2012-08-02 10:59:21 utc hallucynogenyc_ I thought it was talking about browser cookies
2012-08-02 10:59:30 utc hallucynogenyc_ and I wasn't understanding what it was talking about
2012-08-02 10:59:35 utc jmettraux understood
2012-08-02 10:59:56 utc hallucynogenyc_ what should I write on the issue?
2012-08-02 11:00:56 utc hallucynogenyc_ "Please explain how the inbox works?"
2012-08-02 11:01:05 utc jmettraux just what you described now: "readme is missing info about default (catchall) participant" (and it's confusing with "cookies")
2012-08-02 11:01:24 utc jmettraux that would be good in the body too
2012-08-02 11:02:02 utc jmettraux <- I'll have to mention the catchall in there too
2012-08-02 11:03:27 utc jmettraux thanks in advance!
2012-08-02 11:04:48 utc hallucynogenyc_ out of curiosity, is any serious organization that you know of using ruote? not meaning to offend, but at least to me, its taking a huge effort to understand how it works with the available information on the github repos and the website
2012-08-02 11:05:10 utc hallucynogenyc_ I'd love to see some live examples
2012-08-02 11:05:48 utc jmettraux please don't forget that the documentation is meant for average ruby developers, not freshly minted ones
2012-08-02 11:06:26 utc jmettraux so most of the huge effort is not our fault
2012-08-02 11:06:56 utc jmettraux here you go:
2012-08-02 11:07:25 utc hallucynogenyc_ well, all this catchall thing, which seems like the base on how to implement a web service using ruote
2012-08-02 11:07:31 utc hallucynogenyc_ with it's inbox etc
2012-08-02 11:08:19 utc hallucynogenyc_ was being omitted over all the documentation wasn't it?
2012-08-02 11:08:30 utc jmettraux and don't forget that your new to workflows
2012-08-02 11:08:35 utc hallucynogenyc_ I mean, I wonder how anyone made it work without any source of information
2012-08-02 11:08:58 utc jmettraux maybe they read the source
2012-08-02 11:09:14 utc hallucynogenyc_ maybe this catchall is a very common thing across workflow engines and they already knew?
2012-08-02 11:09:30 utc hallucynogenyc_ really, I have no idea
2012-08-02 11:09:32 utc hallucynogenyc_ :)
2012-08-02 11:10:09 utc jmettraux the generated configuration file has a least some indicators:
2012-08-02 11:10:27 utc jmettraux you're the first one to complain
2012-08-02 11:10:41 utc jmettraux we will fix that
2012-08-02 11:10:50 utc jmettraux thanks for complaining and being frank
2012-08-02 11:10:59 utc jmettraux don't be afraid to offend
2012-08-02 11:11:16 utc hallucynogenyc_ well, having this premmium chat support service I can't really "complain" at all ;)
2012-08-02 11:12:07 utc jmettraux :-)
2012-08-02 11:12:57 utc hallucynogenyc_ is there any default view included with ruote-kit to manage the inbox?
2012-08-02 11:13:09 utc jmettraux yes
2012-08-02 11:13:28 utc jmettraux /workitems
2012-08-02 11:13:31 utc jmettraux iirc
2012-08-02 11:13:59 utc hallucynogenyc_ oh
2012-08-02 11:14:06 utc hallucynogenyc_ it's this thing that comes in the dashboard
2012-08-02 11:14:27 utc hallucynogenyc_ I thought it was just a "backoffice" lol
2012-08-02 11:15:30 utc jmettraux ah, one thing, you're also free to fork the project, fix its doc and then submit pull requests
2012-08-02 11:17:24 utc hallucynogenyc_ I'll sure do once I make all of this work
2012-08-02 11:18:04 utc hallucynogenyc_ I'm afraid there's nothing good I can write on it right now :)
2012-08-02 11:19:03 utc jmettraux typo fixes and repairing confusing sentences are great too
2012-08-02 11:19:33 utc hallucynogenyc_ well, if you let me I'd love to just completely rewritting the catchall thing
2012-08-02 11:19:40 utc hallucynogenyc_ once I really understand it
2012-08-02 11:19:47 utc hallucynogenyc_ rewrite*
2012-08-02 11:20:05 utc jmettraux just send a pull request, I'll pull in it if it makes sense
2012-08-02 11:20:21 utc hallucynogenyc_ and then include an example using the catchall which I can't seem t find anywhere either
2012-08-02 11:20:48 utc jmettraux config/initializers/ruote_kit.rb iirc
2012-08-02 11:20:55 utc hallucynogenyc_ I just create a normal process definition where the participant is always :catchall and the task is different each time yes?
2012-08-02 11:21:44 utc jmettraux use "alice" or "bob" or "ceo" or "clerks" or "accounting" or "us_salesteam", not "catchall"
2012-08-02 11:22:25 utc jmettraux ACTION will be back in half an hour
2012-08-02 11:54:36 utc jmettraux back
2012-08-02 12:50:20 utc jmettraux going to bed now, if you ask questions here maybe kennethkalmer and/or hartog will answer (although they're probably busy on their own stuff)
2012-08-02 12:50:35 utc kennethkalmer will do best to help
2012-08-02 12:50:39 utc jmettraux if there's no answer, then there is the mailing list:
2012-08-02 12:50:42 utc kennethkalmer have a good night jmettraux!
2012-08-02 12:50:49 utc jmettraux kennethkalmer: thanks, have a good evening!