On Thursday 27 October 2005 08:26, Adam Groszer wrote:
> I'm doing these reverse engineerings because I have to create a document
> management app with the following basic requirements:
> - Document storage
> - Version control
> - Workflow control
> - Basic search and filter
> - Basic export function
> The focus is currently on the document follow-up.
> Important is, that the workflow is user defined, not developer or
> designer defined.
> As I checked zope.app.versioncontrol and zope.wfmc are my friends.
You should join the Z3ECM team. Roger has built a high-level API for
document-centric workflows already, as far as I know.
> The versioncontrol module is quite clear.
> With wfmc, after checking the source, my current problems are:
> - how to keep the process definition persistently in the ZODB?
It's up to you. You might want to check SchoolTool; I have implemented a full
WfMC workflow there; schooltool.level
For example, in SchoolTool we have a promotion workflow for students. Thus I
store the workflow on the student using an annotation. The process is
attached and detached using subscribers to the IProcessStarted and
IProcessFinished (?) events.
> - as our current app design assigns one workflow for one document, I
> think I can pass this document as the Process.context
The process instance has no context. But you might want to make the document a
workflow-relevant data attribute. It all depends on whether you want to make
the document part of the workflow and use it in the workitems.
> - how to connect the conditions of the arbitrary user defined workflow
> to the (almost) static application, I think I'll have to put on the
> UI the possible output parameters somehow
I think you still do not fully understand the difference between the workflow
definition and the "realization" (or implementation). The conditions are part
of the definition, the applications are the hooks to the rest of the
Again, I think the SchoolTool promotion workflow might be a good start for
you. It also has a detailed README.txt file for both, the Python API and the
CBU Physics & Chemistry (B.S.) / Tufts Physics (Ph.D. student)
Web2k - Web Software Design, Development and Training
Zope3-dev mailing list