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 
browser UI.

Stephan Richter
CBU Physics & Chemistry (B.S.) / Tufts Physics (Ph.D. student)
Web2k - Web Software Design, Development and Training
Zope3-dev mailing list
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com

Reply via email to