FW: [Zope-CMF] Replication And Workflows - "Nightmare of CMF Stre et"

Norfleet, Sheppard S. sheppard.norfleet at ngc.com
Wed Sep 24 12:05:46 EDT 2003


Dieter,

Its actually pretty straightforward, When a user sets an object to be
mirrored: the object, a stagemap, a version repository, and some metadata
about the object are put into a transaction object, which is then pickled
and placed as a BLOB into an ORACLE table which is picked off by an external
replication engine. (This heavy weight approach is only used on initial
mirroring, otherwise lightweight incremental changes are sent [like you care
;) ]). 

Anyway, all the zope mirror sites employs a replication product I developed
which is placed in the top level staging directory.  When the transaction
arrives, the meta data is analyzed and appropriate action takes place. in
the case of "create" transaction, its a slightly more complex matter which
includes checking to make sure the parent object exists, then a check to
make sure the ID is not already being used.  I add the version history to
the version repository, which gives me a new history_id.  then I cycle
through the stages using my stagemap, determining which version of the
object goes to what stage.  The Review and production stages get versions
out of the version history (if they exist), and the development stage gets
the object out of the transaction object (obviously other bookkeeping takes
place not mentioned).  I use the _setObject method on the parent object and
it seems to work fine except the workflow_history attribute keeps
disappearing.

Based on what I am hearing, I am wondering if I should be using the
_setObject method, as it might be messing with it, with some
manage_afterNonsense.  I have tried to do just a plain setattr but it doesnt
seem to work, and ideas?

Regards,

Sheppard Norfleet

-----Original Message-----
From: Dieter Maurer [mailto:dieter at handshake.de]
Sent: Wednesday, September 17, 2003 3:45 PM
To: Norfleet, Sheppard S.
Cc: 'zope-cmf at zope.org'
Subject: Re: [Zope-CMF] Replication And Workflows - "Nightmare of CMF
Street"


Norfleet, Sheppard S. wrote at 2003-9-16 12:23 -0700:
 > I am having a heck of a time with my application level replication.  I am
 > able to recreate the object, but apparently the workflow_history
attribute
 > does not seem to travel with the object its tied to.

You did not tell us how your "application level replication" works...

The workflow tool maintains the workflow state in an ordinary
attribute ("workflow_history"). It is very unlikely
that it would not travel along with the object.

It might be reset at the the destination. But a breakpoint
(--> debugging) in "CMFCore.WorkflowTool.WorkflowTool.notifyCreated"
to check whether it is called and what does it.



Dieter



More information about the Zope-CMF mailing list