Wiki Sync

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!

  2. The WikiSync program should be able to download only the texts which are modified after the last download.

  3. If you have created new pages and they are not in Wiki then they should be uploaded.

  4. If you have changed pages and they are not changed in wiki they should be updated.

  5. 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.

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


EditText of this page (last edited February 10, 2009) or FindPage with title or text search