A tool for the synchronization of Wiki databases. A good WikiSync program is a godsend to those who are frequently offline, such as commuters. I commute to work. I get 45 minutes of offline usage of LaptopJenny, twice a day. I have a cablemodem at home, and T1 at work. I'd like to do things on LaptopJenny without the need to do a ManualSync. Among those things is reading this Wiki, and contributing to it. At a minimum, this will require downloading all of this wiki (in a friendly way). I'd be happy to share the results once I get it all working, of course. -- MikeWarot Specifications: 1 The WikiSync program should know when the last sync was done so there is no need to compare all the documents! 1 The WikiSync program should be able to download only the texts which are modified after the last download. 1 If you have created new pages and they are not in Wiki then they should be uploaded. 1 If you have changed pages and they are not changed in wiki they should be updated. 1 If the changes have been done in both of the copies then some kind of a "resolve changes" page should appear, so that you can merge the differences. ... ---- Such a thing exists, and funnily it is also called "WikiSync". It is however bandwidth exhaustive and doesn't support the open Wiki APIs (XmlRpcToWiki and such), it is tied to one WikiEngine and probably only useful for a PersonalWiki. Have a peek at http://erfurtwiki.sf.net/tools/ and http://readonly:test@erfurtwiki.sf.net/tools/t_sync.php specifically. I think it should be possible to use BayleShanks WikiGateway to make a real cross-wiki compatible WikiSync program; and I think I also heard of another Wiki providing such a feature (can't remember which). -- MarioSalzer I think wix might do this for mediawiki: http://search.cpan.org/~markj/WWW-Mediawiki-Client-0.16/bin/wix -- BayleShanks Anything that implements WebDav (plus versioning) could also simply use 'sitecopy' or similar tools. See also FwSync for use with Microsofts FlexWiki. I urge any solution to be friendly and be globally compatible. The ability to edit data locally is needed for speed and security, while the global synchronization is needed for synergy. -- KenWeide ''Consider ways to use '''rsync'''. Using existing tools in novel ways is the sign of true genius.'' ''Question - what if two off-line users edit the same page. How do you do resolution. First to sync, wins? If you've done a lot of editing off-line that could be a real bummer.'' ---- I have a version of this that I use for a wiki-like system with some colleagues. It doesn't scale, but for what it's worth, here it is. * Each person has their own pages database, each works with their own pages database, and everyone else has a read-only copy. Each changes their own pages however they like, and regularly '''rsync''' the pages to the other machines. * The "wiki" then presents a unified view. If one person likes what someone else has written, one click (like the OpenOffice/MicrosoftWord "Accept Changes") and it's copied to the local version of the page and the difference disappears. Pages should converge rapidly unless there's a genuine disagreement. Then a 'phone call or email can be used to sort it out. Should work a treat with a small number of people. -- AnonymousDonor ---- There already exists open source project called Wiki Synchronization Tool which solves these problems. Project homepage is on http://wikisync.dev.java.net