[Zope] developing with zmi: how to move a patch from data from devel to live?

Dieter Maurer dieter at handshake.de
Mon Jun 20 13:49:35 EDT 2005


gabor wrote at 2005-6-20 08:35 +0200:
> ...
>but now how do you move the improvement/fix to the live server?
>you cannot just copy the data.fs over. the customer already has some 
>content/data in it...

This is possible as long you have a strict separation
between content (created on the life server) and
infrastructure (created in the develoment system).

Configuration may be partly controlled in the life and partly
in the development system. In this case, you need again
a strict separation between these worlds.

If this separation respects object boundaries (i.e. no updatable
object contains both life and development controlled
parts), then you can use Zope's export/import mechanism for
the synchronization. The use of "export/import" can be automated
as demonstrated by "ZSyncer" (others already suggested this solution).
"ZSyncer" integrates a local export and the corresponding remote
import in a single Web transaction. However, knowing your
application, you can integrate such exports and imports
for all your development controlled objects.

If the separation crosses object boundaries, you cannot use
export/import (as it would vipe out the life controlled parts of
the object). We extended the basic "ZSyncer" mechanism
to also synchronize partial objects. It essentially
works by defining "_zsyncer__getstate__" and "_zsyncer__setstate__"
methods that extract and import partial content.

@Paul: let me know if you are interested in this ZSyncer extension.

-- 
Dieter


More information about the Zope mailing list