[RDD] Synchronizing carts and logs

Rob Landry 41001140 at interpring.com
Mon Jun 13 14:26:33 EDT 2016


I had a discussion with a Rivendell user in western New Hampshire this 
morning -- not one of my clients -- who said he wished Rivendell had the 
ability to transfer files with metadata seamlessly from one server to 
another, as (he claims) Wide Orbit and NexGen do.

I mentioned that I wrote a couple of Perl scripts to do this (actually, 
one script handles files, while the other handles logs). I use the 
METADATA_DATETIME field in the CART table and the MODIFIED_DATETIME field 
in LOGS to determine which copy of a record is more recent, and 
synchronize accordingly. The only hitch is that it isn't possible to 
delete a log or cart, since the time stamp for a record is deleted with 
the record. If we need to delete something, we must delete it manually 
from both machines simultaneously. While that's not a problem with just 
two servers, it might be a challenge were we synchronizing a dozen of 
them.

What concerns me is upgrading to new versions of Rivendell and the need to 
go through both scripts to see if any changes have been made to the CART, 
CUTS, LOGS, or *_LOG tables that might break the scripts.

If a future database schema omits, say, METADATA_DATETIME, one or both 
scripts might break irreparably.

Is there a better way to solve the synchronization problem (say, through 
the Web interface)?

Doing a database backup/restore once a day and rsync'ing /var/snd, as some 
have suggested, is impractical.

I am curious how other RD users have approached this problem.


Rob

-- 
Я там, где ребята толковые,
Я там, где плакаты "Вперёд",
Где песни рабочие новые
Страна трудовая поёт.


More information about the Rivendell-dev mailing list