Configuring ZSyncer
How to sync
The sync web page shows the difference between a development Zope
and one or more other Zopes. It does this by comparing the date
stamps on the objects in Zope.
- File: shows the object name in Zope. If this object is a folder,
you can click on it to traverse to the lower folder.
- Status: shows the status of the object in relation between the
Zopes it will be one of the following terms:
- ok (green): this object is present on both production and
development and is in sync
- missing (red): this object is present development but not
production, it needs syncing
- extra this (red): object is on production but not
development, it needs deleting from production
- out of date (orange): this object is present on both the
production and development, but has been changed on
development, it needs syncing.
- View: takes you to a version on the appropriate server
- Action: perform the highlighted action
- sync: moves the relevant object from the development server
to all the production servers
- delete: removes the relevant object from all the production
servers, development servers are unaffected
- diff: if this object has a document_src you can do a diff on
it. If your ZSyncer has more than one destination, only the
first is used for the diff.
Syncable types:
- This should be considered experimental, but it sort of
limits the objects that can be synced. You specify the meta
types and only objects of that type are shown.
- However if your list of syncable objects is different
between boxes, this could generate false results. For example,
the source has
Foo in its syncable types, but the destination
doesn't. If that's the case, an object of type Foo that is
on both systems will be shown as missing on the destination,
because it is filtered from the destination object list.
Similarly, if Foo is syncable on the destination but not on
the source system, an object of type Foo that is on both
systems will be shown as extra on the destination because
it is filtered from the source object list.
- Also if you sync a folderish object, all the objects in it
are moved, not just the syncable types. This is because of the
way Zope generates export files.
- Let me know if this makes it a mess.
Notes
If you sync a folder, it will sync all the items in that folder.
Versions are respected; if you have made changes in a version they
will not be synced until committed. (But of course Versions are
evil and you should use them with care.)
If you change an object in a folder, that folder does not become
out of date. However if you add or delete objects the immediate
parent folder becomes out of date. This is due to the way
Folders are implemented in the ZODB.