xpdlcore inclusion
zope.wfmc should use xpdlcore as XPDL parser
Status
Author
Julien Anguenot
Problem/Proposal
zope.wfmc should us and require xpdlcore as XPDL core parser. xpdlcore lives currently within the Z3/ECM repository (http://svn.nuxeo.org/trac/pub/browser/z3lab/xpdlcore/trunk/)
Goals
zope.wfmc.xpdl parser currently uses SAX. It makes this parser really hard to read, maintain and enhance. xpdlcore uses lxml as XML parser. See lxml dependency proposal for the arguments in favor of using lxml. As well, wfmc should delegate the xpdl job to another component because it's two different things and will be a good design argument. xpdlcore can be used by any wfmc Python engines. (think about migrations from any engine to another wfmc based one such as zope.wfmc
Proposed Solution
- Include xpdlcore within the trunk and continue its development there.
- Bind zope.wfmc on xpdlcore. It's actually already done and available there : http://svn.nuxeo.org/trac/pub/file/z3lab/wfmc/trunk/xpdl.py and zope.wmfc tests are passing.
Risks / issues
- xpdlcore requires lxml, so acceptance of the lxml dependency proposal must be accepted first.
- Ensure BBB with the actual SAX parser (zope.wfmc.xpdl). zope.wfmc integration currently run tests against xpdlcore.
- xpdlcore needs to be cleaned up and finished
