ruote-kit taking shape

0 views
Skip to first unread message

Kenneth Kalmer

unread,
Nov 23, 2009, 4:24:20 AM11/23/09
to openwferu-users
Hi everyone

After months of talk, ruote-kit [1] is finally starting to take some shape. To a certain extent it is fully usable already if your needs are exploratory or just for learning how ruote works.

Things in place already:

* Basic process traversal and management
* Basic expresssion traversal and management
* Basic workitem traversal and management

Currently all the persistence is handled on disk, in a local 'work_development' directory under the project root.

There is still a ton of things outstanding on the project, and I'm continuing chipping away at the list of requirements.

Thanks to John for keeping up with my relentless patching of ruote's master branch with various little tweaks needed to accommodate ruote-kit.

I'm looking forward to hearing your first impressions on the project, but remember to be kind as it is still very much alpha.

Kind regards

1 - http://github.com/kennethkalmer/ruote-kit

--
Kenneth Kalmer
kenneth...@gmail.com
http://opensourcery.co.za
@kennethkalmer

alex ko

unread,
Nov 25, 2009, 3:27:20 AM11/25/09
to ruote
Hi Kenneth,

I have cloned latest ruote-kit - it looks very good!
I met the following issue (ruote-kit running on Windows 7):

When trying to DELETE or PUT the process ruote-kit hangs and stops
processing other requests.

Console output:
192.168.1.159 - - [24/Nov/2009 11:03:04] "DELETE /processes/20091123-
begekikoja HTTP/1.1" 302 - 0.0100

Tcpdump shows:
POST /processes/20091123-begekikoja HTTP/1.1
Host: 192.168.1.184:8080
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:
1.9.0.15) Gecko/2009101601 Firefox/3.0.15 (.NET CLR 2.0.50727; .NET
CLR 3.0.4506.2152; .NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/
*;q=0.8
Accept-Language: en-gb,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://192.168.1.184:8080/processes/20091123-begekikoja
Content-Type: application/x-www-form-urlencoded
Content-Length: 14

_method=delete

HTTP/1.1 302 Moved Temporarily
Location: /processes
Content-Type: text/html;charset=utf-8
Content-Length: 0
Connection: keep-alive
Server: thin 1.2.4 codename Flaming Astroboy

Same problem is with IE8 (Mozilla/4.0 (compatible; MSIE 8.0; Windows
NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR
3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2)

I tried rails app with thin and it works very good:

Tcpdump for delete request shows:
HTTP/1.1 302 Moved Temporarily
Location: http://192.168.1.184:3000/people
X-Runtime: 14
Cache-Control: no-cache
Content-Type: text/html; charset=utf-8
Content-Length: 98
Set-Cookie: _test-
bla_session=BAh7CDoPc2Vzc2lvbl9pZCIlMjU4YzA0MmVhYTRjZmEzZGE5ZDYyZjhlNjRmMmMxNGUiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZsYXNoOjpGbGFzaEhhc2h7BjoLbm90aWNlIiNTdWNjZXNzZnVsbHkgZGVzdHJveWVkIHBlcnNvbi4GOgpAdXNlZHsGOwdGOhBfY3NyZl90b2tlbiIxMHVWaUpTc3pROFJYblRMSEt5WmZNRCtNNXZxNlRDbHM4SFZSOXlKNUxoMD0%3D--
bc0f3c2c298dbd7d4dfd762fa195638faaa07cbe; path=/; HttpOnly
Connection: keep-alive
Server: thin 1.2.4 codename Flaming Astroboy

<html><body>You are being <a href="http://192.168.1.184:3000/
people">redirected</a>.</body></html>

I have tested my browsers with http://www.mnot.net/javascript/xmlhttprequest/
and found for Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:
1.9.1.5) Gecko/20091102 Firefox/3.5.5 (.NET CLR 3.5.30729) following
results:

# 301 Moved Permanently, POST: fail (Redirected using GET, expected
POST)
# 301 Moved Permanently, GET: success
# 301 Moved Permanently, PUT: fail (Redirected using GET, expected
PUT)
# 301 Moved Permanently, DELETE: fail (Redirected using GET, expected
DELETE)
# 302 Found, POST: fail (Redirected using GET, expected POST)
# 302 Found, GET: success
# 302 Found, PUT: fail (Redirected using GET, expected PUT)
# 302 Found, DELETE: fail (Redirected using GET, expected DELETE)

Does it have anything to do with thin-rack-sinatra in ruote-kit?

During our last conversation you asked me to be more specific in
questions about ruote-kit and ruote so ... :)

I'd like to implemente following workflow:
Human employee uses rails_app to create leave_request. This request to
be (RESTfully?) pushed using after_create filter from rails_app to
ruote-kit and launch the process as follows:

process_definition :name => "leave_request", :revision => "1" do
sequence do
participant :ref => "assistant"
participant :ref => "boss", :if => ${f:boss_should_confirm}
end
end

Assistant must examine payload (absence period) and decide if
boss_should_confirm.
Boss participant should send notification (email) to human boss and
check the leave_requests from rails_app for approval made and send
daily reminders until start of absence period then exit.

I found that I may use script/generate ruote xxx to generate stub for
xxx participants. I should implement functionality in assistant.rb and
boss.rb, right? Then participants will be called once process will be
launcehd, correct?

I also wonder, if there is a way to store process definitions as well
as participants' implementations in daemon-kit and have a kind of
process library with editor similar to http://difference.openwfe.org:4567/defs

This is a brief description of my problem. I will appreciate any help
possible with regards your high load.

Thanks a lot in advance,
----
Alex
Reply all
Reply to author
Forward
0 new messages