public
Description: RESTful workflow / bpm engine based on Sinatra and OpenWFEru
Homepage: http://openwferu.rubyforge.org
Clone URL: git://github.com/jmettraux/ruote-rest.git
Search Repo:
jmettraux (author)
Tue May 06 21:34:29 -0700 2008
commit  ad84e92471a361f77753bfe0526db61b6c6c088f
tree    b300a8134a585ef30b72e9536203a82037d83205
parent  f3bb2913ee62550c5be76372ddf370a533f84855
name age message
folder CHANGELOG.txt Thu Apr 17 01:12:53 -0700 2008 switched to vanilla Sinatra (gem 0.2.2) [jmettraux]
folder LICENSE.txt Wed Apr 30 16:53:36 -0700 2008 aligned README and install scripts [jmettraux]
folder README.txt Tue May 06 21:34:29 -0700 2008 added link to /workitems?wfid=x [jmettraux]
folder Rakefile Tue May 06 18:40:23 -0700 2008 nuked reset_participants task [jmettraux]
folder bin/ Wed Apr 30 06:51:51 -0700 2008 preparing easy install/deploy [jmettraux]
folder conf/ Tue May 06 16:34:37 -0700 2008 dots in participants 'ids' are now ok [jmettraux]
folder lib/ Tue May 06 18:40:23 -0700 2008 nuked reset_participants task [jmettraux]
folder public/ Wed Apr 30 05:36:42 -0700 2008 /workitems done in HTML [jmettraux]
folder tasks/ Tue May 06 18:40:23 -0700 2008 nuked reset_participants task [jmettraux]
folder test/ Tue May 06 18:40:23 -0700 2008 nuked reset_participants task [jmettraux]
folder tools/ Thu Apr 24 18:02:27 -0700 2008 prepared launch tool [jmettraux]
folder views/ Tue May 06 21:34:29 -0700 2008 added link to /workitems?wfid=x [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-rest.git

Then

    cd ruote-rest 
    rake install_workflow_engine

( or get a prepackaged release of ruote + ruote-rest at http://rubyforge.org/frs/?group_id=2609 )

To prepare the development database

    rake recreate_mysql_db

Expects a mysql db with a 'root' admin account with sufficient access rights. 
It will create a database named "ruoterest_development".

(
To prepare the test database

    rake recreate_mysql_db stage=test

To prepare the dev database with the admin 'toto'

    rake recreate_mysql_db dbadmin=toto
)


== starting it

    bin/start


Then head to

    http://localhost:4567/processes


== 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


== configuration

conf/db.rb

    database configuration

conf/engine.rb

    engine configuration

conf/participants.rb
conf/participants_development.yaml

    participants configuration, the yaml file holds the list of 
    'active participants' (the worklist in fact).


== license

BSD


== feedback

http://groups.google.com/group/openwferu-users