[Zope] Selective replication between Zopes?

Jean Jordaan jean@upfrontsystems.co.za
Thu, 08 Aug 2002 09:13:07 +0200


Hi all

Our Zope app -- Creme, for Customer Relationship Management -- is going
distributed .. Resellers in various countries are going to be running
local Creme instances. Creme administers customers. Each reseller
should get only their own customers to administer. A reseller can add
and edit customers, and the mother company can add and edit customers
for all resellers. When customer instances change, they should be
synced between the relevant reseller and the mother company's Creme or
vice versa.

My question is: what is a good pattern for this scenario?

   1 ZEO would be perfect, but it replicates all objects to all clients.
     We want to replicate specific objects to specific clients.
   2 Clients can poll: "What objects have changed since my last sync?"
     and then sync (pull) those objects.
   3 Servers can accept subscriptions from clients, and maintain queues
     of changed objects to sync (push) to each client.

We'll probably do syncing via XML-RPC in the manner of ZSyncer.

I guess some implementation of either 2 or 3 would work, though the
devil's always in the details .. I'd like to ask whether there are any
examples out there?

Regards,
-- 
Jean Jordaan
Upfront Systems                         http://www.upfrontsystems.co.za