RE: [Zope] ZODB replication on a per-object basis?
I thought about this for about 10 seconds... then I thought about how hard it would be and stopped.
-----Original Message----- From: Brad Clements [mailto:bkc@murkworks.com] Sent: Tuesday, May 09, 2000 6:14 PM To: zope@zope.org Subject: [Zope] ZODB replication on a per-object basis?
I have a project in mind where I'd like to have 2 or more Zope installations selectively replicate other Zope server's objects (a sub-set of objects).
I've looked at the write-up for ZEO, and that doesn't really seem to fit the bill.
Imagine a master Zope site running some application, perhaps ZDiscussions, Wiki or Confera (just an example). Suppose that dial-up users want to sync their copies with the master server on a periodic basis, but not sync the entire zope site. (say, a list of folders and subfolders, and meta types).
Now suppose that these client-copies also have data to contribute, that needs to be sync'd back to the master. Disregard the issue of two clients changing the same object.. I'm thinking about general replication of a subset of objects in folders from one system to another...
The Coda file system has a disconnected mode.. If I had a Code-FS implementation, this might work except that I'd be missing meta info.
Has anyone thought about this problem?
I also need to tackle the same issue for database replication.. Replicating changed rows between systems to keep them in sync. That's another story.
Thoughts?
Brad Clements, bkc@murkworks.com (315)268-1000 http://www.murkworks.com (315)268-9812 Fax netmeeting: ils://ils.murkworks.com AOL-IM: BKClements
_______________________________________________ Zope maillist - Zope@zope.org http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )
Chris McDonough wrote:
I thought about this for about 10 seconds... then I thought about how hard it would be and stopped.
That's a shame :S It is hard. But it's one of the main reasons why Lotus Notes used to be so popular. It does this. Exporting and Importing do this to a very limited extent. The big issue is how to handle replication/save conflicts (Notes Term) which you must have done in ZEO... What happens in ZEO if two clients both change an object at the same time? Normal Zope is very bad at this... for example, what happens if two people try to edit a Wiki page at the same time? Someone looses their changes (whoever submits first...) which is not good :( hmmm.... Chris
On 9 May 2000, at 22:28, Chris Withers wrote:
The big issue is how to handle replication/save conflicts (Notes Term) which you must have done in ZEO...
What happens in ZEO if two clients both change an object at the same time?
Normal Zope is very bad at this... for example, what happens if two people try to edit a Wiki page at the same time? Someone looses their changes (whoever submits first...) which is not good :(
This issue is outside of my problem domain because: 1. You probably can't solve this for common objects like DTML methods because there's not enough meta-info in the body to determine how diffs should be applied. 2. For my project, synchronization of objects is always specified in one- direction for a given folder or meta-type Brad Clements, bkc@murkworks.com (315)268-1000 http://www.murkworks.com (315)268-9812 Fax netmeeting: ils://ils.murkworks.com AOL-IM: BKClements
This issue is outside of my problem domain because:
Oh no... you opened the can of worms, you don't get off that easily ;-)
1. You probably can't solve this for common objects like DTML methods because there's not enough meta-info in the body to determine how diffs should be applied.
Well, doing diff-style things will never work for anythign except simple text objects. The standard (?!) way to handle this is to store two copies of the object and then manaualy sort it out. It's certainly the safest approach...
2. For my project, synchronization of objects is always specified in one- direction for a given folder or meta-type
This is an interesting, and I'm sure common, variation on the problem. I'm not sure how Notes handles this but wouldn't it be amazing if Zoep could do it properly... ;-) Chris
participants (3)
-
Brad Clements -
Chris McDonough -
Chris Withers