- Nothing changed yet.
- Added support for LiteralParameters
- Moving CI to github actions
- Removed buildout support
- Added Python 3.10 and 3.11 support.
- Removed Python 2 support.
- Fixed Deadline / ExceptionName parsing.
- evaluateInputs: refactored to handle most common exceptions.
- getInitialDataFieldsValues: new function to parse datafields initial values.
- drop Python 2 support.
- Exposed deadline parsing as Activity.digestDeadlineDefinition
- Add Python 3.7 support.
- Remove Python 3.5 support.
- Remvoe all deprecation and resource warnings.
- More Python 3 compatibility.
- Python 3 support.
- Make the now function pluggable.
- Nothing changed yet.
- Update and improve Trove classifiers.
- Fix small ReST issues, so that PyPI description will render.
Renamed from zope.wfmc to shoobx.wfmc.
Added support for community CI and coverage tools.
Raise an exception on duplicate ExtendedAttribute Name in a single ExtendedAttributes container
Use IProcessDefinitionFactory to retrieve process definitions instead of named utilities. This additional layer of indirection allows to generate definitions dynamically.
Support for synchronious and asynchronous execution of WFMC subflows. Subflows are executed as part of main process, however have their separate state (workflow variables).
The simplistic Python
evaluate(expr, locals)
function has been replaced by the PythonExpressionEvaluator component, which is an adapter from IProcess to IPythonExpressionEvaluator. The evaluation locals namespace is automatically filled with workflow- and application-relevant data attributes, the context of the process and the passed in locals variable.All calls of evaluate() have been updated to use the adapter.
This change allows for easy replacement of the evaluation engine to hook up a safe Python engine (i.e. RestrictedPython) and to provide more namespace entries.
Transition conditions can now be evaluated in the larger context of a process, instead of just the workflow-relevant data. Thus their calling signature changed from condition(data) to condition(process, data).
TextCondition has been changed to use the PythonExpressionEvaluator component. Also, the compile optimization has been removed, since the expression evalautor can do this more effectively.
Support for aborting processes and activities.
Work items can be abortable by implementing
IAbortWorkItem
.Work items can be cleaned up, if they implement
ICleanupWorkItem
.Activities keep track of finished work items.
Activities can clean themselves up by cleaning up work items.
Processes keep track of finished activities.
When processes are aborted, the following is done:
All activities are aborted.
All finished activities are cleaned up.
- isAborted flag is set on a process.
Support for reading XPDL-2.1 added
Added reading Pools and Lanes from XPDL
- Update tests to latest package versions.
- Initial release independent of the main Zope tree.