If you have a database where documents are updated infrequently enough that you can sync during a period of inactivity, and you believe the times on your servers are synced to the degree required by your update frequency, and your databases were one in-sync (ie all the destination database's docs came from the source database), *and* you have last-modified, you could simplify a bit by:
Getting the modified-time of the newest document in the destination database and copying all documents modified since that time. This won't handle deletes, but it does copy updates and new documents, and it's easier to write than a complete synchronization. -Mike On 2/10/2012 11:51 AM, Murray, Gregory wrote: > Mike, > > Our license doesn't include flex rep (quite expensive), so I'm looking for an > alternative. Makes sense as to why XQSync doesn't try to do this. We're > certainly using SKIP_EXISTING for transferring new documents. I'm not a Java > programmer, so I won't be customizing XQSync. Nevertheless it's our bread and > butter when it comes to pushing documents to production. > > Thanks, > Greg > > > On Feb 10, 2012, at 11:19 AM, Michael Blakeley wrote: > >> If this is something you need to do regularly, you might consider using >> flexible replication. You could use a 'pull' configuration to sync on >> demand, rather than pushing each update as it happens. >> >> XQSync does not do this for a couple of reasons. As David pointed out, >> timestamps aren't really enough to ensure identical content. Also, many >> applications turn off the prop:last-modified timestamp. So XQSync only >> offers the SKIP_EXISTING option. You're welcome to patch in the behavior you >> need, though, and create a github pull request. >> >> -- Mike >> >> On 10 Feb 2012, at 06:56 , Murray, Gregory wrote: >> >>> I need to copy documents from one server (development) to another >>> (production) but copy only documents that have changed, that is, each >>> document on development that has a more recent last-modified property than >>> the corresponding document on production. >>> >>> Does xqsync have an option for this? I'm not seeing one. >>> >>> If not, can Information Studio do this? >>> >>> If not, is it possible to run an XQuery query that connects to an XDBC >>> server on a different machine? If so, I could easily take the last-modified >>> property of the document in the database against which I run the query >>> (development) and compare it against the same property of the corresponding >>> document on the production machine. In the past I've used the<database> >>> option of xdmp:eval() to grab documents from a different database on the >>> same machine, but in this case I need to connect to a different machine >>> altogether. >>> >>> Many thanks, >>> Greg >>> >>> Gregory Murray >>> Digital Library Application Developer >>> Princeton Theological Seminary >>> >>> _______________________________________________ >>> General mailing list >>> [email protected] >>> http://developer.marklogic.com/mailman/listinfo/general >>> >> _______________________________________________ >> General mailing list >> [email protected] >> http://developer.marklogic.com/mailman/listinfo/general > _______________________________________________ > General mailing list > [email protected] > http://developer.marklogic.com/mailman/listinfo/general _______________________________________________ General mailing list [email protected] http://developer.marklogic.com/mailman/listinfo/general
