forked from jmettraux/ruote
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCHANGELOG.txt
710 lines (636 loc) · 39.1 KB
/
CHANGELOG.txt
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
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
= ruote (OpenWFEru) - CHANGELOG.txt
== ruote - 0.9.21 not yet released
- bug #24984 : NoMethodError when cancelling missing process. Fixed.
- bug #24713 : scheduler -> get_scheduler in expression 'wait'. Fixed.
== ruote - 0.9.20 released 2009/03/18
- todo #24578 : _redo/undo now accept :if/:unless attribute (conditional)
- todo #24512 : accept _redo/undo 'tagname' notation
- todo #23912 : aligned register_participant on register_listener
- todo #24270 : added DataMapper based engine persistence
- todo #24269 : openwfe/extras/ar_engine spun off of db_engine (Marshal instead
of YAML now by default)
- todo #23768 : implememented work/pooltool.ru
- todo #24125 : moved ProcessParameter next to ExpressionTree module.
- todo #24193 : 'parameter' now raises ArgumentError instead of
OpenWFE::ParameterException
- todo #24016 : merged 'sleep' into 'wait'
- todo #24140 : merged process_stack into process_status
- todo #23937 : made sure on_error blocks see variables
- todo #23936 : made sure on_cancel blocks see variables (reported by Kenneth)
- todo #23858 : implemented Tokyo Tyrant persistence mechanism
- todo #23886 : added wfname and wfrevision to DbHistory
- todo #23869 : implement ProcessStatus#workitem_expids
- todo #23833 : engine#add_workitem_listener -> register_listener
- todo #23821 : participant impl can now decide if dispatches to them should
be done in a specific thread
- todo #23016 : nuked old 'rest' legacy from OpenWFEja
- todo #23756 : implemented Marshal based file persistence
- todo #23683 : implemented Tokyo Cabinet persistence mechanism
- todo #23608 : init_service() now stops services getting 'overriden'
- bug #23609 : db_errorjournal.rb broken. Fixed.
- todo #23607 : added created_at timestamp to OpenWFE::Extras::ProcessError
- todo #23600 : file renaming among listeners and participants
- bug #23560 : ActiveParticipant turning value false to '0'. Fixed.
- todo #23553 : don't present the __result__ field to participants
- todo #23541 : implemented json safe serialization for FilterDefinition
- todo #23500 : added a HistoryEvent#log! for direct history logging (rw2)
- todo #23441 : tracking rel=prev/next in representations.rb (ruote-rest/web).
- bug #23438 : QueuedDbHistory was losing the :source information. Fixed.
- todo #23200 : added rewind-if/break-if attributes to cursor/loop
- todo #23187 : OpenWFE.process_definition :name => x, ... as a shortcut
- bug #23164 : ExpressionTree.to_code_s broken for 1 string child exps. Fixed.
- todo #23125 : moved website src to http://github.com/jmettraux/ruote_website
- todo #23102 : implemented on_cancel attribute with Kenneth Kalmer
- todo #23083 : implemented QueuedDbHistory (used in ruote-rest)
- todo #23015 : implemented on_error mecha as designed with Raphael Simon
- todo #23014 : added Jabber participant and listener (Kenneth Kalmer)
- todo #22868 : representations.rb : added error[s]_to_xml()
- todo #22864 : representations.rb : added expression[s]_to_xml()
- todo #22872 : added column 'expid' to 'expressions' table as well
- todo #22865 : added column 'expid' to 'workitems' and 'errors' tables
- todo #22834 : 'href' -> 'link' and upgraded lib/openwfe/representations.rb
- todo #22722 : upgraded lookup_processes() (can now look for variables and
workitem fields (applied_workitem))
- todo #22550 : introduced applied_workitems in process_status and moved the
engine lookup[_stuff] methods in a LookupMethods module
- todo #22699 : engine.update_raw_expression() becomes update_expression_tree()
- todo #22691 : implemented Xml.workitems_to_xml()
- todo #22682 : expressions now have priority over participants in lookup
- todo #22680 : made the participant_map a service locator as well
- todo #22608 : introduced the 'wfid' attribute for the 'listen' expression
- todo #22517 : logs/openwferu.log -> logs/ruote.log
- bug #10049 : empty ruby ProcessDefinition broke (instead of exiting). Fixed.
- todo #22584 : huge rework 'no_raw_children'
- todo #22004 : now stamping workitem with timeout info '__timeouts__' and
added current_timeout() method to InFlowWorkItem class
- todo #22442 : now storing filter as workitem attribute
- todo : added expid() to OpenWFE::Extras::Workitem
- bug #22213 : engine.process_status() cache keeping 1! result. Fixed.
- todo #22202 : engine.launch(li, :variables => {...}) implemented
- bug #22158 : ArgumentError: OpenWFE::Extras is not missing constant Field!
Fixed.
- todo #22122 : tree wrapping redux (see test/ft_89_polyglot.rb)
- bug #22121 : when wait_for => true, two wfids were generated. Fixed.
- todo #22023 : made sure YAML, JSON and Array expression were accepted
- todo #22036 : introduced openwfe/util/json for from_json(s)
- todo #22005 : moved process_to_xml to ruote (openwfe/representations.rb)
- todo #20613 : cleaned up xml generation (builder(options) do |xml|)
- bug #21206 : tree.to_xml not happy with hash attributes. Fixed.
- bug #21958 : InMemoryEngine initial_tree and current_tree conflict. Fixed.
== ruote - 0.9.19 released 2008/09/09
- todo #21849 : added :uri attribute to InFlowWorkitem
- todo #21802 : added an updated_at field to FlowExpression
- todo #21716 : added option switch :use_ruby_treechecker, on by default
- todo #21722 : replaced TreeChecker by the rufus-treechecker gem
- todo #21646 : integrated a process status cache
- todo #21680 : added timestamp to ProcessStatus
- todo #21664 : integrated REXML security patch by Michael Koziarski
- bug #21649 : pause and resume were not emitting an expool event. Fixed.
- todo #21652 : now generating one unique 'ruote' gem
- todo #21644 : included process_stack result into process_status
- bug #21585 : to_h.to_json and back broken. Fixed and discarded eval(class)
- todo #21498 : implemented DbHistory (with History redux)
- todo #21419 : removed direct dependency on json gem, relying on whatever
is present (activesupport or json).
- bug #21347 : scheduler was silent when encountering error. Fixed.
- bug #21306 : made sure duplicate insert bug for ActiveParticipant is fixed.
- todo #21334 : optimized fulldup() (almost 2 times faster).
- bug #21322 : reserve mutex not freed upon cancel. Fixed.
- bug #21305 : replay_at_error was broken for subprocesses. Fixed.
- todo #21167 : exptree.to_code_s() now respecting non-string att values.
- bug #20714 : engine.lookup_variable was coaxing target value into a regex.
Fixed.
- todo #20697 : implemented ProcessStatus.scheduled_jobs
- todo #20624 : returning [ :terminate, wi, fei ] or [ :error, e, fei ]if
launch(li, :wait_for => true) [instead of just fei]
- bug #20625 : exception inside of BlockParticipant can't get replayed. Fixed.
- todo #20467 : got rid of unnecessary synces in yamlfilestorage
- todo #20564 : sequence : caching current position for speed gain
- todo #20554 : optimized wait_for and added :wait_for option to engine.launch
- todo #20539 : indent = 2
- bug #20505 : fixed issues with branch count in ProcessStatus.
- todo #11856 : got rid of old rest interface (but kept xmlcodec for a while)
- todo #20083 : integrated treechecker and got rid of rufus-eval.
- todo #20466 : made sure that yaml ejournal mkdir_p path to journal.
- bug #20445 : yaml error journal get_error_logs() broken. Fixed.
- todo #20360 : implemented hpost/hget/hput/hdelete and hpoll expressions
- bug #20378 : workitem.att throws exception if attribute holds the boolean
#false value. Fixed.
- bug #20364 : 'a' and 'step' were not using $ substitution for their
first child param. Fixed.
== ruote - 0.9.18 2008/05/22
- todo #20221 : added engine.process_representation(wfid) method
- todo #20244 : 'description' is now an expression like any other
- todo #20228 : made sure removed expressions did not appear in
process_stack.representation()
- bug #20225 : 'description' problem in process_stack.representation. Fixed.
- todo #20202 : using 'ref' as the main 'step' attribute
- bug #18954 : activity feed service stuck after 100 entries. Fixed.
- bug #20128 : upgraded to atom-tools 2.0.1
- todo #20111 : step_tail optimization of the "step" expression
- todo #18222 : the <a> expression now accepts JSON
- todo #20108 : upgraded the <a> expression to OpenWFE::Xml
- bug #20059 : wfid growing .0.1.2.3 instead of .3 in some cases. Fixed.
- todo #18935 : implemented "step" expression (test/ft_79b)
- bug #20061 : get_description broken with Ruby pdef with no desc. Fixed.
- todo #20016 : allowing "define 'process_def_name' do ... end"
- todo #19933 : reintroduced ${vf:x} and ${fv:y}
- todo #19536 : added :engine_name application context parameter
- todo #19839 : moved storeparticipants out of worklist/
- bug #19739 : made sure that ActiveParticipant didn't flatten Date and Time
instances found in workitem fields
- todo #19704 : introduced parameter :definition_in_launchitem_allowed
(defaults to false)
- bug #19607 : preventing cancel root expression bug (in case of error
in process)
- todo #19559 : using Queue instead of schedule_every for threaded
expression storage
- todo #19624 : 'if' now logs a warning message if more than 2 or 3 children
- todo #19620 : making sure that the custom thread names are displayed
when ctrl-\ing JRuby
- todo #19615 : making sure WorkQueue is freed when stopped.
- bug #19576 : update_raw_expression() broken. Fixed.
- todo #19575 : turned WorkQueueMixin into the WorkQueue service
- todo #19532 : removed unnecessary synchronizations
- todo #19471 : implemented new, lighter xml codec openwfe/util/xml
- patch #19500 : size patch for db backed engine by Maarten Oelering
- todo #19026 : keeping track of raw_representation in-flight changes
in [replying] children
- : switched source to http://github.com/jmettraux/ruote
- todo #19060 : added representation() to the result of engine.process_stack()
- todo #19339 : fixed fulldup for Time and Date[Time] as reported by Maarten
- todo #19104 : reformed the template system ( see http://tinyurl.com/2y6z9r )
- bug #19095 : namespace problem for db enabled engine. Fix by Tomaso.
- todo #19072 : 'cron' now leaves his template in the expool
- todo #19061 : lib/openwfe/engine/ cleanup (more later)
- todo #18995 : made 'cron' aware of process pause
- todo #18518 : changed 'cron', broke the // exception
- patch #18953 : smart dsub for expression args by Nick Petrella
== OpenWFEru - 0.9.17 2008/03/17
- todo #18861 : aliased 'restore' to 'set-fields' and turned it into
a ValueMixin user - s1617
- todo #18806 : removed require "rubygems" from engine, leaving responsability
to customer code - s1610
- todo #18769 : now keeping track of raw_representation for all exps - s1604
- todo #18773 : implemented engine.update_expression(fexp) - s1601
- todo #18771 : deprecated SymbolHash (raw expression representation) - s1600
- todo #18747 : allowing "iterator :on => :f" (symbol for designated source
of value) - s1598
- todo #18745 : let [concurrent-]iterator accept on-field, on-var, ... - s1597
- todo #18701 : implemented engine.update_expression_data(fei, d) - s1583
- bug #18700 : FlowExpressionId.from_h not working with jsonified hashes.
Fixed - s1582
- todo #18671 : added is_paused?(wfid) to StatusMixin - s1579
- bug #18643 : made the workitem search a bit more 'google-like' - s1571
- bug #18580 : active participant last_modified not kept. Fixed - s1568
- bug #18557 : exp 'participant' not replying with applied item to cancel()
calls. Fixed - s1552
- todo #18531 : added 'unapplied' option to engine.process_stack() - s1547
- bug #18348 : cron subprocesses subid reset at 0 upon restart. Fixed - s1542
- bug #18254 : socketlistener not replying with <ok-reply/>. Fixed - s1530
- bug #18218 : intermittent process_status.paused? failure. Fixed - s1520
- todo #16635 : allowed recursion for top processes - s1518
- todo #18192 : dropped SimpleExpRepresentation for Array - s1514
- todo #18152 : simplified raw_xml and raw_prog to only raw.rb - s1513
- todo #18110 : switched from open-uri to rufus-verbs for reading [remote]
process definitions - s1512
- todo #18145 : moved to no-params constructors for FlowExpression based
classes - s1511
- todo #18078 : <break if="${f:f}"/> will now work if field f is set - s1507
- todo #15813 : isolated ValueMixin and used it in 'set', 'print', 'eval',
'reval' and 'log' - s1504
- todo #17888 : optimized Workitem.search() - s1498
- bug #17873 : ActiveParticipant not accepting string fields with length
> 255. Fixed - s1497
- bug #17850 : proc definitions whose 1st line is blank were not accepted.
Fixed - s1496
- todo #17851 : caching the paused? process info - s1494
- todo #17826 : simplified workitem [] and []= impl - s1489
- todo #17823 : implemented basecamp participant (extras) - s1486
- todo #17744 : extracted sqs.rb and now depending on gem 'rufus-sqs' - s1470
- patch #17720 : Tomaso's workitem.unset_attribute(). Patched - s1466
- todo #17475 : extracted csv stuff and now depending on gem 'rufus-decision'
- s1453
- todo #17476 : extracted kotoba.rb and now depending on gem 'rufus-mnemo'
- s1451
- todo #17472 : extracted safe.rb and now depending on gem 'rufus-eval' - s1450
- todo #17442 : extracted dollar.rb and now depending on gem 'rufus-dollar'
- s1446
- todo #16658 : extracted scheduler and now depending on gem 'rufus-scheduler'
- s1444
- todo #17100 : extracted lru and now depending on gem 'rufus-lru' - s1440
- todo #17063 : compact workitems - s1438
- todo #16976 : allowing compact :var, :v and :f for the '[un]defined'
expressions - s1434
- todo #16831 : allowing compact :var, :v and :f for :variable and :field
(and also :val for :value) (for exp attributes) - s1431
- todo #16825 : implemented the 'exp' doppelganger expression - s1429
- bug #16833 : not using a monitor anymore in the scheduler, relying on
queues. Finer granularity, more robust scheduler - s1425
- bug #16791 : subprocess ref="sub_proc" was always looking for "sub-proc".
Fixed - s1415
- todo #16654 : allow every jobs to unschedule or reschedule self - s1404
- todo #16586 : added the '[ is][ not] set' concept to the $ notation - s1397
- todo #16588 : set a min frequency of 0.3s for WaitingExpression impls - s1395
- todo #16492 : optimized the 'reserve' expression - s1390
- todo #16323 : added wfname() and wfrevision() to ProcessStatus - s1360
- todo #16254 : relaxed the rules for process name/revision detection
in Ruby defined processes - s1347
- todo #16228 : fulldup delegation - s1345
- todo #16205 : replaced the expstorage each() system with the
find_expressions() one - s1344
- todo #16152 : scheduler : made schedule_every() reschedule even if
it experienced an exception - s1337
- todo #16066 : require 'openwfe/engine' and 'openwfe/participants' now ok
- s1325
- todo #16040 : implemented ProcessStatus.tags - s1323
- todo #15925 : implemented engine.get_variables(fei_or_wfid) - s1319
- todo #15985 : register_participant now has a :position param - s1313
- todo #15954 : moved ${r:x} eval to safe level 4 - s1305
- todo #15897 : revised expression_pool.cancel's fetch_root - s1298
- bug #15830 : cancelling a cursor or a loop did not cancel active child
expression. Fixed - s1293
- bug #15814 : loop and cursor and no proper environment. Fixed - s1289
- bug #15793 : hide db_id from user forms - s1287
- todo #15758 : implemented the 'eval' expression - s1278
- todo #15757 : made sure evaluation of process segments is accepted - s1276
== OpenWFEru - 0.9.16 release 2007/11/19
- todo #15083 : added a 'merge' attribute to the 'listen' expression - s1271
- todo #15456 : deprecated initial engine id in FlowExpressionId - s1270
- todo #15548 : expression 'listen' made 'on' an alias to the 'to' attribute
- s1268
- todo #15674 : implemented BlogParticipant - s1266
- todo #15153 : added 'scheduler_tags' attribute to 'cron', 'wait' and
'sleep' - s1265
- todo #15642 : added tag 'scheduled_launch' in scheduler - s1265
- todo #15152 : sleep, cron, wait, and timeout expressions now sport a
tag with their classname in the scheduler - s1264
- todo #15599 : extracted TemplateMixin out of MailParticipant - s1262
- todo #15617 : implemented schedule_info() for scheduler Job instances - s1261
- bug #15620 : merge 'isolate' broken for concurrent-iterator. Fixed - s1260
- todo #15621 : lookup_attribute() now tolerates numbers as hash keys - s1259
- todo #15343 : implemented AtomPubParticipant - s1257
- todo #15569 : renamed AtomParticipant to AtomFeedParticipant - s1255
- bug #15575 : has_attribute? broken, reported by Maarten Oelering.
Fixed - s1253
- patch #15552 : unnecessary unset_result removed by Tomaso Tosolini - s1248
- todo #15480 : implemented 'format' for ActivityFeedService - s1245
- bug #15448 : engine.unregister_participant() broken. Fixed - s1235
- todo #15443 : added a 'db_id' attribute to the InFlowWorkItem class
(in the context of the ActiveParticipant) - s1233
- todo #15385 : aliased 'listen' to 'intercept' and 'receive' - s1231
- bug #15403 : get_jobs() not returning 'every jobs' when they were
rescheduling. Fixed - s1231
- todo #15187 : simplified SequenceExpression for better performance - s1227
- bug #15278 : replay_error did not remove error. Fixed - s1224
- todo #15148 : implemented OpenWFE::Extras::ActivityFeedService - s1215
- todo #15221 : allow for Ruby values (not just strings) in Ruby process
definitions (expression attributes) - s1214
- bug #15172 : 'stack level too deep' if BlockParticipant returns workitem,
test cases by Maarten Oelering. Fixed - s1213
- bug #15220 : ungraceful failure for lookup_attribute. Fixed - s1212
- bug #15173 : DateTime duplication issue. Fixed - s1205
- todo #15079 : integrated Tomaso Tosolini's contributions : DbErrorJournal,
DbExpressionStorage, CachedDbPersistedEngine - s1204
- bug #15122 : escaped > and < in 'if test' broken on Ruby 1.8.6. Fixed
- s1199
- todo #15096 : rename extras' OwfeTables to WorkitemTables - s1192
- todo #15018 : allowing workitems with no fei (that doesn't belong to a
process instance) but with a participant name (listen) - s1191
- todo #14998 : 'listen' can now be used with a child, and thus be 'blocking'
- s1190
- todo #14963 : added 'escape' attribute to 'set' expression - s1187
- bug #14976 : print didn't accept arg escape in Ruby def mode - s1184
- rfe #14823 : cron schedules at the second level are now ok - s1172
- todo #14768 : subprocesses were not cancelled when their parent
process got cancelled. Fixed - s1167
- todo #14692 : implemented SimpleExpRepresentation.get_description - s1162
- todo #14633 : implemented expmap.get_expression_classes(ances) - s1150
- todo #14626 : implemented ranges for CSV tables - s1149
- todo #14620 : implemented the 'accumulate' option for CSV tables - s1149
- todo #14577 : expstorage.each_of_kind now yielding fei and expression - s1142
- todo #14090 : added launch_time to ProcessStatus - s1140
- todo #14569 : implemented engine.lookup_processes(varname, val=nil) - s1139
- todo #14534 : added a pom.xml for openwferu-xxx-snapshot.jar - s1135
- todo #14529 : renamed 'rest' to 'orest' - s1132
- todo #14513 : scheduler : implemented Job.unschedule - s1128
- todo #14510 : renamed Entry to Job in Scheduler - s1127
- rfe #14439 : added 'tags' to the scheduler. Suggested by Lee Fyock - s1126
- bug #14471 : process description were stored as XML text instead of String.
Fixed - s1124
- todo #14300 : implemented the 'log' expression - s1112
- bug #13954 : scheduler's cron was not happy with minute 0. Fixed. - s1110
- todo #14218 : implemented Workitem.search(string, stores=nil) - s1108
- todo #14179 : added 'rake jar' task for JRuby deployments - s1106
== OpenWFEru - 0.9.15 released 2007/09/24 svn1099
- todo #14167 : renamed yamlextras.rb to yamlcustom.rb - s1099
- todo #14129 : moved observe_expool() to own module - s1095
- todo #14126 : moved threaded storage queue system into own mixin - s1094
- todo #14106 : added the missing indexes (table 'workitems') - s1087
- todo #14803 : separated consume() from cancel() in participants - s1081
- todo #14507 : replaced 'key' by 'fkey' in active Workitem - s1078
- todo #14059 : replaced require_gem by gem - s1077
== OpenWFEru - 0.9.14 released 2007/09/18 svn1072
- bug #14008 : ActiveParticipant : vanishing field (id 0). Fixed - s1069
- todo #14025 : renamed OpenWFEru's Observable to OwfeObservable - s1067
- todo #14003 : reorganized tests in ltest and test (qtest) - s1056
- todo #14000 : implemented FlowExpressionId.to_web_s - s1054
- bug #13957 : cron with name were not registered at all. Fixed - s1045
- todo #13956 : implemented engine.launch(x, :every => "10s") - s1044
- todo #13955 : implemented <cron every="x"> - s1044
- rfe #13665 : implemented engine.launch(x, :in => "3s") and co - s1043
- bug #13291 : resume_process() broken in some cases. Fixed - s1037
- todo #13815 : added engine.lookupVariable(var, wfid) - s1032
- bug #13884 : cancel on a missing participant caused an error. Fixed - s1030
- bug #13869 : ensuring exp.fei is used instead of exp for determining
ejournal filename - s1024
- todo #13841 : made 'participant' and 'subprocess' conditional - s1023
- todo #13834 : switched to thread/Queue for the WorkQueue - s1021
- bug #12477 : subprocesses bound at engine level did not survive
their defining instance. Fixed - s1020
- bug #13802 : subprocess forget attribute did not work. Fixed - s1018
- todo #13522 : engine.launch(string_proc_def) now accepted - s1013
- todo #13709 : now accepting variable/var/v and field/fld/f - s996
- todo #13681 : implemented AliasParticipant - s995
- todo #13614 : threading participant apply() - s973
- todo #13510 : added SimpleExpRepresentation.from_s(s) - s956
- bug #13520 : double call to unschedule_timeout for ParticipantExpression
while timing out. Fixed - s954
- bug #13516 : participants could get unseen by engine.reload(). Fixed - s952
- todo #13518 : Matt added 'email_from' param to email notif participant - s944
- bug #13498 : utils/fulldup() now handles classes with more than 0 args
constructors - s950
- bug #13499 : utils/copy() couldn't handle :symbols. Fixed by Matt - s944
- todo #13413 : implement SimpleExpRepresentation.to_a - s941
- todo #13479 : active Workitem : added dispatch_time and last_modified - s939
- todo #13380 : ActiveParticipant patches the Engine to accept
'active workitems' - s930
- todo #13381 : implement active Workitem.find_in_stores(store_list) - s920
- bug #13349 : active participant problem with empty strings. Fixed - s911
- todo #13298 : implemented (active) Workitem.replace_fields(h) - s898
- bug #13296 : persistence was always going to ./work. Fixed - s897
- todo #13245 : removed need for returning class for ruby procdef loaded
via a URL - s883
- bug #13238 : broken redefinition of procdef classes. Fixed - s882
- todo #12356 : implemented ActiveStoreParticipant - s881
- todo #12624 : allowed engine.launch("http://...") - s879
- todo #12118 : implemented pause_process() and resume_process() - s877
- bug #12904 : missing require in raw.rb - s876
- todo #12839 : implemented CsvTable.new(url) - s874
- todo #12840 : implemented CsvTable.to_csv() - s874
- todo #12831 : implemented engine.process_status(wfid) - s872
- todo #12830 : renamed get_process_status() to list_process_status() - s871
- todo #12781 : made workitem (and wi) available to 'r' conditions - s867
== OpenWFEru - 0.9.13 released 2007/01/08 svn865
- todo #12588 : added 'cursor' commands to 'iterator' - s854
- bug #12608 : custom :work_directory was not taken in account. Fixed - s847
- todo #12478 : implemented ProcessParticipant - s839
- todo #12492 : now removing wait_for() observers after wakeup - s836
- todo #12490 : engine.wait_for() now exits on errors - s835
- todo #12443 : implemented TwitterParticipant - s832
- bug #12431 : on_jruby? was not a module method. Fixed - s828
- freq #12426 : schedule_at() now understand :discard_past param - s826
- todo #12390 : made sure scheduler.[re]start is ok - s821
- bug #12388 : schedule_at() wasn't accepting dates. Fixed - s820
- todo #12357 : implemented ActiveParticipant.cancel(cancelitem) - s819
- bug #12352 : (active) unique constraint of field name was too restrictive.
Fixed - s817
- todo #12340 : moved 'densha' into extras/activeparticipants - s814
- todo #12347 : added :scheduler_precision configuration param to scheduler
- s811
- bug #12181 : console test broken. Fixed - s806
== OpenWFEru - 0.9.12 released 2007/07/10 svn804
- todo #12110 : cancelling an inactive expression now removes it as well
from its parent expression - s799
- bug #12106 : cancelling an active process segment did not resume
process instance. Fixed - s798
- todo #11897 : implemented engine.process_status(wfid=nil) - s796
- todo #12045 : renamed get_flow_position() to get_flow_stack() - s793
- todo #12009 : implemented InMemoryErrorJournal and YamlErrorJournal - s789
- todo #11627 : FlowExpressionId added from_s (alias to to_fei()) - s755
- todo #11626 : engine.get_participant now accepts symbols as well - s754
- todo #11490 : perf improvement by relying on Time.now instead of OpenWFE::now
(date.to_s being quite expensive) - s747
- todo #11425 : implemented engine.join_until_idle - s747
- todo #11408 : integrated Sakaguchi Masa japanese documentation :) - s743
== OpenWFEru - 0.9.11 released 2007/06/06 svn740
- todo #8164 : implemented the "attribute / a" expression - s737
- todo #11364 : added 'wi' to 'reval' bindings (for 'workitem') - s736
- todo #11362 : added :logger app context param to the engine - s734
- todo #10490 : implemented old style REST enabled worklist - s733
- todo #11345 : logs/engine.log -> logs/openwferu.log - s732
- todo #11311 : implemented journal.replay_at_last_error(wfid) - s729
- todo #11308 : simplified the EmailNotificationParticipant into
a MailParticipant - s726
- todo #11243 : simplified the Scheduler top methods - s724
- bug #11232 : nil @workqueue_frequency problem. Fixed - s722
- todo #11178 : implemented replay_at_error(err_event) in journal - s721
- todo #11197 : implement listen's :upon and :once - s714
- todo #11173 : :unless and other 'nots' added to conditional exps - s713
- todo #11175 : added :error event to expool (and to journal) - s709
- bug #11174 : [concurrent-]iterator hanging with empty lists. Fixed - s707
- todo #11156 : implemented the <timeout> expression (on its own) - s704
- bug #11157 : participant.cancel() did not contain unschedule_timeout().
Fixed - s703
- todo #11010 : implemented listen to=x where=y - s689
- todo #11012 : added regexes to Observable - s687
- todo #10248 : added remove_observer() to Observable - s686
- todo #11011 : implemented NoOperationParticipant and NullParticipant - s684
- todo #10962 : made Header an extension of InFlowWorkItem - s683
- todo #10961 : made XmlCodec a module - s681
- todo #10653 : moved logs to logs/ - s668
- todo #10644 : added "require 'rubygems' to all the examples - s663
- bug #10398 : gem installation complaining about embedded XML comments.
Fixed - s653
== OpenWFEru - 0.9.10 released 2007/04/26 svn651
- todo #10324 : onotify :reply/:apply, switched from fei to fexp - s650
- todo #10326 : made participant map observable - s649
- todo #10168 : released new gem openwferu-kotoba - s644
- todo #10302 : added workitem to :launch and :launch_template - s643
- todo #10299 : added workitem to :terminate notification in expool - s642
- bug #10217 : Stack potentially too deep. Redesigned and Fixed - s639
- patch #10216 : Pat's patch : expool : onotify(:launch, fei, url) - s636
- bug #10169 : strenghtened xml doc and elt duplication - s633
- bug #10150 : xml documents as att broke the xmlcodec - by Pat - s633
- patch #10157 : refinements in xmlcodec.rb by Pat Cappelaere - s632
== OpenWFEru - 0.9.9 released 2007/04/16 svn628
- todo #10123 : now releasing a source zip as well - s622
- bug #10095 : fulldup of XML documents was broken. Fixed - s621
- todo #10050 : 'set' expressions are now accepted outside of their
process definition body - s619
- todo #10052 : implemented the 'filter' expression itself - s617
- todo #10046 : implemented participant 'params' (workitem auto field) - s616
- todo #6849 : implemented filters and added them to 'participant' - s615
- todo #10051 : made DefineExpression a child of SequenceExpression - s614
- bug #10017 : fulldup() not happy with REXML::Document - reported by Pat - s611
- todo #9986 : implemented the expression 'concurrent-iterator' - s608
- todo #9978 : implemented 'merge_lead' into the 'restore' expression - s607
- bug #9990 : scheduled crons did not survive the 'clock' - bug reported
by Art Schumer. Fixed - s606
- todo #9981 : "skip 2" or "jump 0" are now ok as cursor commands - s603
- todo #8401 : implemented the 'save' and 'restore' expressions - s600
- todo #9975 : implemented FlowExpressionId.child_id - s599
- todo #9233 : implemented merge_type="isolate" for concurrence - s598
- bug #9905 : prog pdef not happy with "implicit process name". Fixed - s597
- bug #9911 : workitem without history breaks XmlCodec.encode.
Patch by Pat Cappelaere - s596
- todo #9903 : implemented the "jump" instruction for "cursor" - s595
- todo #9853 : granted their own env to forgotten expressions - s591
- bug #9851 : fixed concurrence remaining="forget" - s590
- bug #9849 : fixed <if test="3 > 2"> quoting problem - s588
== OpenWFEru - 0.9.8 released 2007/04/04 svn587
- todo #9749 : allowing <equals field="f" value="v"/> - s585
- todo #9755 : implemented FileHistory - s582
- todo #9747 : allowing for 'if' without children (simply setting __result__)
- s579
- todo #9744 : implemented the 'case' expression - s578
- todo #9745 : implemented 'defined' and 'undefined' expressions - s577
- todo #9675 : implemented the 'reserve' expression for Interleaved
Parallel Routing (IPR) - s575
- todo #9718 : implemented StoreParticipantMixin.delegate() - s566
- todo #7701 : implemented 'tag' and 'redo'/'undo' - s565
- todo #9655 : implemented 'wait' expression - s561
- todo #9687 : implemented scheduler.exit_when_no_more_jobs - s560
- bug #9660 : replace @server.shutdown() by close() for cygwin - s554
- todo #9656 : implemented engine.enable_irb_console - s538
- bug #9638 : participant name regexp problem. Fixed - s537
- todo #9543 : implemented simple trap for irb console - s531
- todo #9539 : spinned SimpleExpRepresentation out of raw_prog.rb - s528
- todo #9532 : eliminated redundant launch_template logic from fe_raw - s526
- todo #9533 : merged fe_utils into flowexpression - s524
- bug #9531 : potential collision in sub proc ids within a concurrence. Fixed
- s523
- bug #9529 : 'when' with child condition was broken. Fixed - s521
- todo #9507 : the return value of a BlockParticipant is now stored in the
'__result__' field of the outgoing workitem - s518
- todo #9512 : implemented FieldWfidGenerator - s517
== OpenWFEru - 0.9.7 released 2007/03/23 svn514
- todo #9186 : added security switches : :ruby_eval_allowed and
:remote_definitions_allowed - s508
- todo #9351 : added the 'language' (lang) attribute to 'description' - s507
- todo #9449 : implemented Pat process definition parameter concept :
<require field="f" [default="d"] [type="t"] [match="m"] /> - s504
- todo #9452 : removed dependency on libxml-ruby - s503
- todo #9396 : simplified expression map with meta flow expression info - s500
- todo #9324 : implemented KotobaWfidGenerator - s496
- todo #9372 : implemented UuidWfidGenerator - s495
- todo #9371 : moved wfid generation out of expression pool - s493
- todo #9364 : implemented list_processes() method - s492
- todo #9363 : allow for wfid as cancel_process() arg - s492
- todo #9362 : made control methods available from the engine - s492
- bug #9331 : ported the <description> tag from OpenWFEja - s487
- todo #9292 : lighter yaml version of FlowExpressionId - s484
- todo #9305 : now ok to have "static" prog process definition - s483
- todo #9301 : turned the expression map into a simple instance (not a service
anymore) - s482
- bug #9275 : missing participants at reschedule broke processes, fixed
by introducing an engine.reload() method - s472
- todo #9269 : rehydrated sleep schedule cancel problem. Fixed - s471
- todo #9266 : cron restart problem, missing env. Fixed - s468
- todo #9243 : using engine's scheduler in threaded expstorage - s467
- bug #9247 : ${sub_id} bug. Fixed - s466
- todo #9244 : ensured that schedule_every() always retains the same id - s465
- todo #9239 : running eval tasks in ConditionMixin at $SAFE level 3 - s463
- todo #9187 : added > >= < and <= to CsvTable - s462
== OpenWFEru - 0.9.6 released 2007/03/12 svn459
- todo #9194 : implemented SocketParticipant (and XmlSocketParticipant) - s455
- todo #9140 : remote process defs are evaluated at $SAFE level 2 - s450
- todo #9172 : <reval/> now done at $SAFE level 3 - s448
- todo #9173 : ${ruby:...} now done at $SAFE level 3 - s447
- todo #9144 : sub x, y, z notation is now accepted - s445
- todo #8054 : implemented openwfe/lib/listeners/SocketListener - s437
- todo #9103 : implemented engine.unregister_participant() - s434
- todo #9078 : ok to have URLs as subprocess refs - s431
- todo #9076 : ok to have remote Ruby process definitions - s425
- todo #9040 : implemented SqsListener - s424
- todo #9049 : implemented FileListener and FileParticipant - s422
- todo #8425 : provided SoapParticipant.handle_call_result() for easy
override - s416
- todo #9047 : implemented Engine.join() - s415
- todo #9044 : implemented Scheduler.schedule_every() - s414
- todo #7870 : implemented SQS participant - s412
- todo #9024 : implemented wi and fei.to_h for portable representations - s410
- todo #9035 : simplified prog proc def (implicit 'process-definition') - s408
- todo #8983 : implemented expool.get_flow_position(wfid) - s394
== OpenWFEru - 0.9.5 released 2007/03/01 svn391
- todo #8938 : simpler fileexpstorage directory tree (two levels) - s387
- todo #8830 : better sub wfid for 'cursor' and 'loop' - s384
- bug #8877 : new_workflow_instance_id() not returning unique ids under
stress. Fixed - s380
- todo #8873 : templates for email and atom participants can be instances
of File - s377
- todo #8426 : added block templates to email notification participant
- s374
- todo #8851 : implement CachedFilePersistedEngine - s373
- bug #8842 : scheduler now dedicating a thread when triggering a job
- s372
- bug #8778 : expool reschedule occurs even if expool stopped. Fixed - s365
- bug #8247 : intermittent to_iso8601() failure. Fixed - s364
- todo #8764 : differentiated 'rake ptest' and 'rake ctest' - s362
- todo #8757 : implemented CachedExpressionStorage - s360
- todo #8650 : implemented the "cancel-process" expression - s357
- todo #8717 : now expstorages 'observe' the expool - s356
- todo #8418 : "__timed_out__" field set at timeout - s351
- bug #8741 : participant names alone with underscore were not ok.
Fixed - s350
- bug #8740 : quotereporter.rb broken. Fixed - s349
- todo #7861 : implemented YamlParticipant - s348
- todo #8688 : implemented 'merge' and 'merge-type' for 'concurrence' - s344
- todo #8721 : removed need for expmap in prog proc definitions - s342
- todo #8718 : made available "workitem", "fexp" and "wi" within
${ruby:...} notations - s341
- bug #8581 : test="nada" yielded 'true'. Fixed - s338
- todo #8348 : implemented 'concurrence over-if" - s337
== OpenWFEru - 0.9.4 released 2007/02/15 svn336
- todo #8653 : added short "require 'openwfe/def'"
- bug #8583 : 'concurrence' was broken in certain cases of persisted
mode. Fixed - s332
- todo #8394 : implemented the 'when' expression - s328
- todo #8522 : implemented InMemoryHistory - s318
- todo #7770 : made Expool observable - s316
- todo #8431 : extended BlockParticipant, now accepting blocks with one
(workitem) or two (flowexpression and workitem) parameters
- s311
- todo #8446 : implemented workitem.lookup_attribute() for nested
values lookup - s307
- todo #8404 : implemented the csv participant - s301
- todo #8122 : implemented <iterator>
== OpenWFEru - 0.9.3 released 2007/02/05 svn295
- todo #8416 : implemented participant timeout - s293
- todo #8106 : participant names as expression names - s288
- todo #6929 : implemented <cron> - s285
- todo #7860 : implement bare worklist : HashParticipant - s272
- todo #7660 : implemented <break if="x == y"/> - s267
- todo #6928 : implemented <if test="x == y"> - s266
- todo #8211 : scheduler methods are now callable with blocks - s257
- todo #8243 : revised logging, now using $OWFE_LOG - s250
OpenWFEru - 0.9.2 released 2007/01/26
- todo #7968 : implemented EmailNotificationParticipant
- todo #7966 : added support for blocks to
ParticipantMap.register_participant() - s192
- todo #7752 : implemented 'programmatic process definitions' - s182
- todo #7438 : implemented the 'cursor' and the 'loop' expressions - s102
- todo #7440 : implemented 'forget' - s95
- todo #7439 : implemented 'lose' - s93
- todo #7427 : added get_flow_position() to control_client - s63
- todo #6974 : ruby like names for rest operations - s54
- todo #6902 : implemented 'sleep' - s23
- todo #6887 : implemented ${ruby:xxx} - s16
- todo #6854 : implemented 'reval' - s15
- todo #6851 : implemented 'equals' - s10
- todo #6845 : implemented participant map - s8
- moved to http://rubyforge.org/projects/openwferu
== openwfe-ruby - 1.7.2 released 2006/11/02 svn3529
- adapted to OpenWFE 1.7.2 and especially added OpenWFEru alpha
== openwfe-ruby - 1.7.1 released 2006/07/17 svn2950
- bug #1511368 : ListAttribute decoding broken. Fixed.
- todo #1449079 and 1449078 : implement Base64 and XML attribute
{en|de}coding
- todo #1499480 : implemented History {en|de}coding.
- todo #1390898 : implemented SockListener / SocketDispatcher pair.
== openwfe-ruby - 1.7.0 released 2006-05-08
- bug #1483055 : state information was missing from expressions. Fixed.
- todo #1483044 : implemented queryAndLockWorkitem().
- todo #1471365 : added 'owfe-version' to FlowExpressionId.
== openwfe-ruby - 1.6.2
- initial release