public this repo is viewable by everyone
Description: RESTful workflow / bpm engine based on Sinatra and OpenWFEru
Homepage: http://openwferu.rubyforge.org
Clone URL: git://github.com/jmettraux/ruote-rest.git
ruote-rest / README.txt
100644 163 lines (78 sloc) 2.854 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
= 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