Tags:
replication1Add my vote for this tag create new tag
, view all tags
Wiki clusters are a set of Wiki installations distributed in different offices. This is for large corporations who have a need to work on content in the local offices without depending on the WAN (internet) speed. (Topic started in OfflineWiki)

  • Pros:
    • LAN speed for collaboration.
  • Cons/catch:
    • Setup issues: Web server and TWiki needs to be installed in each office.
    • Intelligent merge is necessary.
  • How:
    • Synchronize constantly in the background.

Related: OfflineWiki, ReadOnlyOfflineWiki, ReadWriteOfflineWiki, WebsitePublishing, NonWebAccessToWiki, TWikiWithCVS, TWikiXML.

-- PeterThoeny - 23 May 2000

Of course the problem arise when there are slow links. I've thought about this and something based on automated email processing with real-person (editor/maintainer) signalinng when conflicts arises might work.

Of course the trick is to reduce the amount of sync conflicts that occur.

-- NicholasLee - 23 May 2000

At work we are considering to do a one way synchronization of selected webs between sites using rdist. I.e:

Site A: (main site)   Site B: (satellite)
twiki/data/Main ==> twiki/data/Main
twiki/pub/Main ==> twiki/pub/Main
twiki/data/TWiki ==> twiki/data/TWiki
twiki/pub/TWiki ==> twiki/pub/TWiki
twiki/data/Web1 ==> twiki/data/Web1
twiki/pub/Web1 ==> twiki/pub/Web1
twiki/data/Web2 <== twiki/data/Web2
twiki/pub/Web2 <== twiki/pub/Web2

Webs can only be edited at the site where the synchronization is originating from. This can be controlled by the template directories. Restricting edits to one site only is a tradeoff between two-way sync issues and usability. Registration needs to be done only once, at Site A.

-- PeterThoeny - 09 Mar 2001

Ugh... With better DataAndCodeSeparation syncing all the webs on X locations, including the templates specific to those webs & the attachments is as simple as syncing just the webs directory as posited on the page above, rather than faffing about with individual sub directorys. For example, the above description misses the possibility that Web1 & Web2 can have different templates, which means you have to sync a subdirectory of a static directory across systems as well. It also misses the possibility that the two sites may also have different local plugins in use. Assuming they do, you therefore need to expand the above diagram to:

Site A: (main site)   Site B: (satellite)
twiki/data/Main ==> twiki/data/Main
twiki/pub/Main ==> twiki/pub/Main
twiki/templates/Main ==> twiki/data/Main
twiki/bin/TWiki/Plugins/??? ==> twiki/pub/Main
twiki/data/TWiki ==> twiki/data/TWiki
twiki/pub/TWiki ==> twiki/pub/TWiki
twiki/templates/TWiki ==> twiki/templates/TWiki
twiki/bin/TWiki/Plugins/??? ==> twiki/bin/TWiki/Plugins/???
twiki/data/Web1 ==> twiki/data/Web1
twiki/pub/Web1 ==> twiki/pub/Web1
twiki/templates/Web1 ==> twiki/templates/Web1
twiki/bin/TWiki/Plugins/??? ==> bin/TWiki/Plugins/???
twiki/data/Web2 <== twiki/data/Web2
twiki/pub/Web2 <== twiki/pub/Web2
twiki/templates/Web2 <== twiki/templates/Web2
twiki/bin/TWiki/Plugins/??? <== bin/TWiki/Plugins/???

NB, the ??? means that the above schema doesn't really allow for plugins to differ at the two sites - even though they can be activated/deactivated at the web level.

Contrast this with:

Site A: (main site)   Site B: (satellite)
twiki/webs/Main ==> twiki/webs/Main
twiki/webs/TWiki ==> twiki/webs/TWiki
twiki/webs/Web1 ==> twiki/webs/Web1
twiki/webs/Web2 <== twiki/webs/Web2

As I said, I regularly sync for ReadWriteOfflineWiki access between my (linux) laptop & (linux) desktop, and the /webs/stuff relevent to a web, and not code vs having lots of directories to sync is a god send. For low bandwidth situations, rsync is a good solution - and even allows syncing of large sites over even a simple dialup link. (And in the rsync case, having the single mount point simplifies the sync since you're not forced to take someone else's code (and hence their config) just to sync data)

For two way editting if both sites work from a central CVS repository syncing occasionally, and having a small team of people responsible for content looking into things, you gain alot...

-- TWikiGuest - 11 Mar 2001

Personally having partially shoehoned TWiki into CVS a while back and coming up against some limitations of CVS vs TWiki's usage of CVS, I'm not sure its a good idea to create a dependancy on CVS for clustering.

Two things:

i) It shouldn't be hard to build the lazy commit/conflict/resolve cycle that CVS has for TWiki over RCS. In fact the method I'm thinking off which is a modification of how I got TWiki to work with CVS will help other areas of TWiki as well. Like the hidden form field from the preview to save scripts.

ii) Once the same mechanism is in place, if a predefined primary it should be too hard to get two TWiki sites (not a Cluster, more Mirrors) to sync with each other via LWP. Could even extend this to version locking that probably would work well on a LAN.

None of this requires CVS. In fact I've been thinking it might be better to try something like Xdelta as the version management subsystem as it might deal with binaries in a better manner.

-- NicholasLee - 11 Mar 2001

Edit | Attach | Watch | Print version | History: r7 < r6 < r5 < r4 < r3 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r7 - 2006-01-02 - PeterThoeny
 
  • Learn about TWiki  
  • Download TWiki
This site is powered by the TWiki collaboration platform Powered by Perl Hosted by OICcam.com Ideas, requests, problems regarding TWiki? Send feedback. Ask community in the support forum.
Copyright © 1999-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.