OpenWFE / News: Recent posts

OpenWFE 1.4.1 released

OpenWFE is an open source java workflow engine. It is a complete Business Process Management suite, with 4 components : an engine, a worklist, a webclient and a reactor (host for automatic agents). It can also be used behind the scene. OpenWFE 1.4.1 is a bug fix release. One important concept was introduced for stores : the order in which they are instantiated in the worklist configuration file is now the order in which they are asked if they accept a workitem for a given participant name.... read more

Posted by John Mettraux 2004-08-17

OpenWFE 1.4.0 released

OpenWFE 1.4.0 fixes a few bugs and includes patches for the SqlWorkItemStore. A nasty bug was found that could crash the worklist's JVM if too many workitems were stored in each a thread. Given a certain max limit, the current implementation will switch to unthreaded storage operation.

The ExpressionPool (file version) storage tree was made a bit deeper to have less files in the directories.

The ControlSession interface reached a more mature stage as pyya REST tests were introduced for it.

Posted by John Mettraux 2004-08-09

OpenWFE Wiki

Jay Lawrence, member of the OpenWFE team has set up a wiki for this open source workflow engine.

Posted by John Mettraux 2004-08-04

OpenWFE 1.4.0pre released

OpenWFE 1.4.0pre is tagged as 'pre' since it introduces a lot of changes in the release tree structure. The tree is less flat, there are less launch scripts.

The 'engine' package got fully qualified to '' instead of simply '' which was confusing and it induced another set of changes to the conffiguration files.

Control over REST got implemented : your python (and soon dotnet) interface will be able to cancel or freeze/unfreeze flow pieces.

Posted by John Mettraux 2004-08-04

OpenWFE 1.3.2 released

OpenWFE 1.3.2 sees the complete reorganization of ExpressionPool and ExpressionStore, the latter now only caring about storage while the first now handles caching, control, and in the future, clustering.

The Swis (Sql WorkItem Store) got changed to allow a more efficient extension.

Control actions 'cancel flow' and 'cancel expression' now produce history log records.

OpenWFE 1.3.2 - released on 2004/07/26... read more

Posted by John Mettraux 2004-07-26

OpenWFE 1.3.1 released

OpenWFE 1.3.1 tightened the implementation of the engine control tools. Cancelling a flow or just a participant can be done through ./ (or control.bat) and participants may be frozen if the flow hasn't reached them.

The webclient and especially its flow diagram display shows the addition of the dispatch and reply time, making it easier to spot what and when happened to a flow.

The standard (java) reactor now supports reloading its java agents without having to get restarted.... read more

Posted by John Mettraux 2004-07-19

OpenWFE 1.3.0 released

OpenWFE 1.3.0 includes (and control.bat) tools for [un]freezing expressions and cancelling flows. These tools are command-line only for the moment.
The introduction of this control system implies that now the engine also has its passwd.xml file, access to the control system is restricted to users having a valid ControlPermission.
The choice of encoding between components is now made by the dispatcher, the listener adapts to it. This has induced a small change in the socket dispatching protocol, that's why it became 1.3.0 instead of 1.2.3.... read more

Posted by John Mettraux 2004-07-12

OpenWFE 1.2.2 released

OpenWFE 1.2.2 introduces and 'include' mechanism in its participant-map, aliasing participants is also possible.
A new passwd storage system was finalized, allowing to store worklist user credentials in a rdbms.
The previous release's droflo was broken, it got fixed for 1.2.2

Next refinements should include 'failover participants' and a control interface for engines, in order to unblock 'frozen flows'.... read more

Posted by John Mettraux 2004-06-28

OpenWFE 1.2.1 released

OpenWFE 1.2.1 introduces 'freezable' expressions : flows that failed to dispatch a workitem to one of their participant will get frozen at this dispatch point. Future releases will include a 'control session' for freezing/unfreezing expressions/flows.
A method findFlowInstance() was added to the 'work session' for retrieveing workitems of a certain workflow instance.

The 'swis' store got turned into a full-featured workitem store. The 'swis' is sponsored by Infonium Inc. Canada.... read more

Posted by John Mettraux 2004-06-21

OpenWFE 1.2.0 released

OpenWFE 1.2.0 includes a major refactoring effort about workitem encoding and user credential encoding (their persistence/transfer layer).

The 'participant' expression absorbed the 'dyna-participant' and all of its features.

A new workitem store got implemented, it is named 'swis' (SqlWorkItemStore) : it stores workitems in any SQL rdbms where they can get manipulated by other applications. As soon as 'swis' sees the id of a workitem in the action table with the 'proceed' tag, the workitem is reinserted in its OpenWFE flow.... read more

Posted by John Mettraux 2004-06-14

OpenWFE 1.1.2 released

OpenWFE 1.1.2 fixes a few 'swapping' bugs. These bugs occured when expressions got back from swap (either file or db) but were incomplete, which broke their process instance. The 'set' expression has a new attribute : 'type', you can now determine from the process definition which type a workitem field you set should have.

OpenWFE 1.1.2 - released 2004/05/31

- [engine] bug #963238 : When expression control flow inconsistency. Fixed.
- [engine] bug #963107 : SubProcessRefExpression lost its link to its
containing process definition when swapped to disk (or db). Fixed.
- [engine] task #99585 : added 'type' attribute to 'set' expression.
- [webclient] bug #961394 : launching a jsp defined launchitem did not work.
- [webclient] also displaying flows and launchitems available as JSP pages
- [engine] bug #961170 : Concurrence did not got swapped with
its SyncExpression. Fixed.

Posted by John Mettraux 2004-05-31

OpenWFE 1.1.1 released

OpenWFE 1.1.1 sees the implementation of 3 new expressions : 'when', 'save' and 'restore'. 'when' is an asynchronous 'if', triggering its flow of action when its condition realizes. 'save' and 'restore' allows to freeze a copy of a workitem in a variable and restore it afterwards with or without merge.
These 3 new expressions allow many of the workflow standard patterns to be implemented with OpenWFE.... read more

Posted by John Mettraux 2004-05-24

OpenWFE 1.1.0 released

OpenWFE 1.1.0 introduces a change in the way it codes date, they are now displayed and transferred as strings like "2004-05-17 11:32:10+0200". Before 1.1.0 they were stored as long (number of milliseconds elapsed since the Epoch, standard unix and java way).
This modification opened the way for the new openwfe-dotnet package also released. It is currently only a library available in its source form (Visual Studio solution). It's the equivalent of pyya, but written in C#.
The OpenWFE set of start scripts now include an encoding environment variable that allow to decide which encoding to use when OpenWFE shuttles workitems around as XML.... read more

Posted by John Mettraux 2004-05-17

OpenWFE 1.0.4 released

OpenWFE 1.0.4 fixes a certain number of bugs that could jeopardize the proper run of long lasting workflow instances. It also increases Droflo usability. Storage of workitems and expressions in RDBMS suffered from a bug in the unique id generation that appeared only lately and had to be fixed.

The next release will be 1.1.0 and an openwfe-dotnet-1.1.0 dll will be released along to it, allowing .NET programs to take advantage of OpenWFE.... read more

Posted by John Mettraux 2004-05-10

OpenWFE 1.0.3 released

OpenWFE 1.0.3 fixes an important worklist bug : handled workitems whose lock timed out could still be forwarded, but they remained in the worklist. This bug was especially visible in the online engine demo.

A rather technical PPT presentation has also been added to the doc as well as to the OpenWFE website.

OpenWFE 1.0.3 - released 2004/04/30

- [worklist] task #98134 : increased lock timeout for workitem stores.
- [worklist] bug #943028 : unlocked workitems were forwarded... Fixed.
- [engine] bug #934205 : initial loading of SyncExpression failed. Fixed.
- [-all-] task #97908 : Including Presentations into the distributed
- [droflo] task #97174 : added remove button for subprocess definitions
- [droflo] bug #923720 : trailing 'null' after ok button. Fixed.
- [webclient] bug #939510 : droflo, in view mode, show [+] buttons for
if expressions. Fixed.
- [worklist] task #97487 : implemented InMemoryWorkItemStore
- [engine] task #97482 : implemented InMemoryExpressionStore (used
in etc-engine/m-engine-configuration.xml)
- [-all-] renamed the second 'tag-agent' in the participant map to

Posted by John Mettraux 2004-04-30

OpenWFE 1.0.2 released

This is a minor feature release.

OpenWFE now includes directly pyya-reactor, the python-written reactor for OpenWFE. It can host agents written in python, for a maximum of flexibility and power (Agents are automatic participants to business processes).
SqlHistory has been added, so that history logs can go to MySQL or PostgreSQL. SQL recorded history is easy to 'mine' for Business Activity Monitoring.... read more

Posted by John Mettraux 2004-04-13

OpenWFE 1.0.1 released

OpenWFE 1.0.1 got released

This is a minor bugfix release, droflo didn't show the position of a workitem in the process.

But this release also includes a revised and heavily tested 'subprocess' expression, launching internal or external subprocesses.

Changelog :

OpenWFE 1.0.1 - released 2004/04/06

- [engine] task #96709 : implemented 'inc' expression (IncrementExpression)
- [engine] bug #928820 : made external launches for local engine to
internal launches. Fixes deadlock bug.
- [engine] lots of work on 'subprocess' expression, it can now launch
external subProcesses (task #96582)
- [droflo] bug #926243 : workitem position wasn't highlighted anymore
(it was for 0.6.3)

Posted by John Mettraux 2004-04-06

OpenWFE 1.0.0 released - 1st stable release

OpenWFE - 1.0.0 got released

This is the first of the 'stable' releases.

A lot of small bugs have been fixed and especially timeout issues.
Runtime-chosen subprocesses can be launched from a flow. Recursivity of flows has been carefully tested.

OpenWFE 1.0.0 - released 2004/03/29

- [droflo] task #96338 : adding a subProcess definition
- [droflo] task #96337 : changing the name of a subProcess definition
- [engine] task #96335 : enabled 'field-ref' and 'variable-ref' in
SubProcessRefExpression. It means that now, which subprocess
is launched can be determined at runtime.
- [-all-] task #96179 : renamed to
This new start script can be run from anywhere and it assumes the
OPENWFE_HOME is at its location. If OPENWFE_HOME is already set,
it will use it. has been included
into (./ stop)
- [droflo] task #93688 : made flow name and revision editable
- [worklist] task #94940 : ensured that etc-worklist/passwd.xml gets reloaded
each time. This is configurable in
- [engine] bug #836362 : fixed. Participant got reloaded each time
(the engine is a bit faster)
- [engine] task #96053 : engine is more expressive (ApplyException) when
[dyna-]participant is not found.
- [-all-] task #95951 : removed any -Xmx -Xms from start scripts
- [engine] Added BooleanExpression to tag expressions used in conditionals
- [-all-] fixed the script, it was broken in certain ways
- [engine] task #95306 : when a participant timesout, a variable named
'__timed_out__' is set to true. This flag is removed by the
next participant that doesn't timeout.
This flag is demoed in flow__1.12.xml
- [engine] bug #919440 : sync didn't work, especially with timeouts. Fixed.
- [engine] task #95773 : when a participant timesout, it cancels itself
(triggering a cancel message to the worklist usually)

Posted by John Mettraux 2004-03-29

OpenWFE 0.6.3 released

This release fixes an important bug that broke the reactor component, no agents
could function in 0.6.2. It also fixes a bug in the webclient making any 'save'
attempt ineffective.

This release introduces a lot of new output in the status of the 'engine' and
the 'worklist' component. You can have a look at this output by pointing your
browser at http://localhost:7077 or 7078 on the box where your 0.6.3 OpenWFE
suite runs. It will display info on the flows running, how many workitems are
awaiting in a store and for which flow.... read more

Posted by John Mettraux 2004-03-18

OpenWFE 0.6.2 released

OpenWFE 0.6.2 just got released.

Windows start script 'start-openwfe.bat' got included, file permissions
got removed from etc-worklist/passwd.xml so that this file is much
simpler. The main new feature is the Query Store : a store for all
workitems in a worklist that gets accessed through a query. These
queries are configured in the file etc-worklist/query-map.xml, this
allows for a very versatile organizational model into which the flows
can travel.
Detail about these new 'query stores' can be found at read more

Posted by John Mettraux 2004-03-10

OpenWFE 0.6.1 released

OpenWFE 0.6.1 got released.

This version includes some tuning in the workitem dispatchment code.
Tests on my dev machine indicate that it is now 10 times faster.
I would be happy to have some feedback from people on Windows boxes, as
it is a really low level issue.

The webclient has undergone many enhancements, it now integrates droflo
in view and edit mode and you are now able to upload files to a
workitem.... read more

Posted by John Mettraux 2004-03-03

OpenWFE 0.6.0 released

Features a more dynamic launch permission system.

Changelog :

Posted by John Mettraux 2004-02-19

OpenWFE 0.5.2 released

OpenWFE 0.5.2 got released.
You can now view at which point of a flow you are located with a workitem.
It includes Droflo which is a web based workflow editor.

Posted by John Mettraux 2004-02-13

OpenWFE - 0.5.1b released

A serious bug got fixed : instances of the same flow were sharing the same child expressions in sequence construct... This lead to lost workitems.

Posted by John Mettraux 2003-12-17

OpenWFE - 0.5.1 released

This version cleaned some bugs in the filters implementation. 'Droflo' is now able to show graphically the position of a workitem in a flow.

Posted by John Mettraux 2003-12-10