ruote tmp/log_2013-06-09.html

2013-06-09 02:59:49 utc northox Hi guys.
2013-06-09 03:01:16 utc jmettraux hello
2013-06-09 03:01:47 utc northox Hey John!
2013-06-09 03:02:05 utc jmettraux how are you doing?
2013-06-09 03:02:30 utc northox Ah i'm doing great! And you?
2013-06-09 03:02:39 utc jmettraux doing great as well, thanks!
2013-06-09 03:03:29 utc northox I had a question for you. I was trying to find the place where a participant in a tree (the array structure of a process) gets transformed into a workitem.
2013-06-09 03:04:55 utc jmettraux generally a node where the nodename is the participant name or "participant"
2013-06-09 03:05:12 utc jmettraux or simply look at the workitem's fei's expid
2013-06-09 03:05:44 utc jmettraux 0_0_1 means root_1st-child_2nd-child
2013-06-09 03:06:11 utc northox I'm asking this because of the Audit Trail I'm working on. I have a launch observer saving the original tree structure in the storage and then I'm using it to viualize the entire process.
2013-06-09 03:06:19 utc northox ok wait
2013-06-09 03:06:44 utc jmettraux (the original tree structure is also accessible via the root expression of a process)
2013-06-09 03:11:07 utc northox Lets say I have a process with 3 participant - a sequence. Now let's the first is close, so were at the 2nd workitem. My auditrail would use the current workitem fei to find the entire process (the original tree). Within it I should the first participant with the worktiem /at that time/ , the second participant I use the current workitem, and the 3rd one I would only see the original tree structure ([0] = participant name, [1] = vars(params) and [2] = an e
2013-06-09 03:11:08 utc northox mpty array because it has no child).
2013-06-09 03:11:21 utc northox *empty
2013-06-09 03:11:27 utc northox arg, thats a lot of text...
2013-06-09 03:12:34 utc jmettraux sounds like what ruote-kit and ruote-fluo do to display a graphical process representation / place a pin on where a workitem or an error is
2013-06-09 03:13:37 utc northox I used your tree_to_dot stuff to navigate the structure
2013-06-09 03:13:48 utc jmettraux ok
2013-06-09 03:14:07 utc northox with: branch(), children() and such. It works great.
2013-06-09 03:14:10 utc jmettraux if you have the fei['s expid] you can pinpoint immediately the node in the tree
2013-06-09 03:14:54 utc northox yep. This is what I do to know which child in the tree is the *current/active* workitem
2013-06-09 03:15:14 utc jmettraux ok
2013-06-09 03:15:30 utc northox So then I know everything before it is /in the past/ and everything else is /in the future/
2013-06-09 03:16:50 utc northox Now, what I would like is to be able to express all of them (past,present,future) the same way but with some little addition. e.g. PastWorkitem < Workitem
2013-06-09 03:17:20 utc jmettraux archiving old workitems?
2013-06-09 03:17:38 utc northox yes the old workitems are stored in the PastWorkitem.
2013-06-09 03:17:43 utc jmettraux ok
2013-06-09 03:18:01 utc northox PresentWorkitem would be the real Ruote's Workitem, and the future is the problematic one.
2013-06-09 03:18:49 utc northox The question I had was: how is a branch with no child (so basically a participant or such) gets transfered to a real Workitem class.
2013-06-09 03:19:24 utc jmettraux the workitem somehow travels in the tree
2013-06-09 03:19:28 utc northox ... a branch representing a participant in the tree.
2013-06-09 03:19:35 utc northox ok
2013-06-09 03:19:35 utc jmettraux sometimes dupping, sometimes merging
2013-06-09 03:19:46 utc jmettraux a participant merely hands a workitem out of ruote
2013-06-09 03:19:55 utc northox ok so it only extract some info for the tree?
2013-06-09 03:20:03 utc northox e.g. the params?
2013-06-09 03:20:38 utc jmettraux if the participant has extra attributes, it stuffs them in the workitem before handing it out
2013-06-09 03:21:29 utc northox So you are saying I would not find something taking a branch of the tree and creating a Workitem out of it? The worktiem would only `flow` through this branch and extract the params as an example?
2013-06-09 03:21:48 utc northox ok I see
2013-06-09 03:22:05 utc jmettraux each node of the tree may be applied, giving birth to an "expression" instance
2013-06-09 03:22:11 utc northox could you point me where I could find this?
2013-06-09 03:22:21 utc northox ah!
2013-06-09 03:23:08 utc jmettraux https://github.com/jmettraux/ruote/blob/master/lib/ruote/worker.rb#L435-L463
2013-06-09 03:23:29 utc northox Seems like I still have a lot to learn about Ruote's internal, hehe.
2013-06-09 03:23:35 utc northox thanks
2013-06-09 03:23:52 utc jmettraux https://github.com/jmettraux/ruote/blob/master/lib/ruote/exp/flow_expression.rb#L369-L431
2013-06-09 03:24:34 utc jmettraux better "first link": https://github.com/jmettraux/ruote/blob/master/lib/ruote/worker.rb#L435-L509
2013-06-09 03:24:50 utc jmettraux you're welcome, I have to go now, lunch, I should be back in one hour
2013-06-09 03:26:25 utc northox thanks a lot John!
2013-06-09 03:48:18 utc jmettraux northox: back
2013-06-09 03:56:28 utc northox ok well it's good for me. Seems like I would be able to `emulate` the FutureWorkitem.
2013-06-09 03:59:08 utc jmettraux ok
2013-06-09 04:02:30 utc northox Still a few months to go before releasing our open-source security project. Can't wait!
2013-06-09 04:13:57 utc jmettraux :-)
2013-06-09 04:14:05 utc jmettraux how many people in your organization?