public
Description: RESTful workflow / bpm engine based on Rack and OpenWFEru
Homepage: http://openwferu.rubyforge.org
Clone URL: git://github.com/jmettraux/ruote-rest.git
jmettraux (author)
Wed Apr 30 05:36:42 -0700 2008
commit  af7ddf7fab42628970e5a0e2bbdbe554b2318a2f
tree    8fce5f2ab986f57cde671899f0f3fcbdf130a4a0
parent  39355a5997775c41c51db22abfe1043afc9a2c99
name age message
file CHANGELOG.txt Thu Apr 17 01:12:53 -0700 2008 switched to vanilla Sinatra (gem 0.2.2) [jmettraux]
file README.txt Wed Apr 30 05:36:42 -0700 2008 /workitems done in HTML [jmettraux]
file Rakefile Tue Apr 29 07:39:07 -0700 2008 moving to a db backed ruote-rest (at least for ... [jmettraux]
directory bin/ Fri Apr 25 07:37:26 -0700 2008 initial html iface for /processes [jmettraux]
directory conf/ Wed Apr 30 05:36:42 -0700 2008 /workitems done in HTML [jmettraux]
directory lib/ Wed Apr 30 05:36:42 -0700 2008 /workitems done in HTML [jmettraux]
directory public/ Wed Apr 30 05:36:42 -0700 2008 /workitems done in HTML [jmettraux]
directory test/ Wed Apr 30 05:36:42 -0700 2008 /workitems done in HTML [jmettraux]
directory tools/ Thu Apr 24 18:02:27 -0700 2008 prepared launch tool [jmettraux]
directory views/ Wed Apr 30 05:36:42 -0700 2008 /workitems done in HTML [jmettraux]
README.txt
= ruote-rest

A RESTful instance of OpenWFEru (ruote) powered by Sinatra (http://sinatrarb.com)


== getting it

To get Ruote and Ruote-Rest :

    git clone git://github.com/jmettraux/ruote.git
    git clone git://github.com/jmettraux/ruote-rest.git


== dependencies

Depends on Sinatra 0.2.2

    [sudo] gem install -y sinatra


== interface

By default, XML representations will be returned. The 'Accept' header is used to determine which representation the 
client expects. 

The 'format' query parameter can be used to override that, like in

     GET /processes?format=json

For debugging purposes, you can force to a text/plain content type with 'plain' :

    GET /workitems?format=json&plain=true


=== /processes

GET /processes

    lists all the [business] processes currently running in the engine


POST /processes

    launches a new process instance


GET /processes/{wfid}

    returns the detailed status of a given process instance


GET /processes/{wfid}/representation

    returns the JSON representation of the current process instance tree


DELETE /processes/{wfid}

    cancels a business process instance


=== /expressions

GET /expressions/{wfid}

    returns all the expressions of a business process instance


GET /expressions/{wfid}/{expid}

    returns one expression


GET /expressions/{wfid}/{expid}?format=yaml

    returns the YAML representation of an expression
    (note that using the Accept header is the best way to do that)


PUT /expressions/{wfid}/{expid}

    updates an expression, live. Expects a YAML version of the expression


DELETE /expressions/{wfid}/{expid}

    cancels one expression


=== /workitems

GET /workitems

    lists all the workitems 

GET /workitems/{wid}

    returns a workitem

GET /workitems?wfid=x

    returns all the workitems belonging to a [business] process instance

PUT /workitems/{wid}

    updates a workitem
    If the workitem field '_state' is set to 'proceeded' the workitem will resume its travel in its business process