Tags:
create new tag
, view all tags

Question

I wasn't sure if this should be a support question or a codev topic; decided on the former, since I wasn't sure, even after searching, if this might not be an already solved problem.

Over the last few years I have migrated between wikis several times.

E.g. I started off on Ward's Wiki. Used TWiki at Intel DPG. Installed UseModWiki as the first wiki I managed. Tried Zwiki and MoinMoin. Now I am back to TWiki in my current projects at work. And at least one commercial wiki site that disappeared, along with the pages I had placed there.

While migrating like this, I have frequently had to move pages from one wiki to another. Reasons for moving include:

  • the first wiki might be disappearing, closed down, etc., and I want to preserve information
  • one of the wikis may be behind a firewall, the other public
    • sometimes I realize that an intranet wiki post would be better placed on a public wiki (or mailing list, or newsgroup) if I am to have any hope of getting a reply. Obviously appropriate only for non-proprietyary stuff
    • conversely, sometimes I realize that an internet wiki post needs to be "taken private", moved to a company intranet.
And furthermore
  • sometimes wikis change their formatting, breaking preexisting pages

...the above is just evidence to say that "migration happens".

Q: what are the best ways to migrate wikis?

I performed several searches, and found a collection of tools and topic pages:

  • How to obtain the data
    • Copy and/or munge the files in which the first wiki stores its pages
      • sometimes ordinary text files
      • other times, funny file formats, like UseModWiki's .db files
      • other times, not files at all
        • e.g. Zwiki stores files in the Zope database
    • Access the files off the wiki / webserver itself

  • Converting from one wiki markup to another

Plus miscellaneous discussion:

My question: is there a "Best Known Method" to do such a migration?

I'm leaning towards

  1. hacking a wiki walker like GenericWikiToTWikiAddOn.
    • problem: I would like to mark the original pages in the first wiki as moved, with their destination; it seems that hacking the edit interfaces is more idiosyncratic than hacking the read interface
  2. dumping raw html from the first wiki into the second, (assuming the second supports html), since that avoids having to deal with the "Babel" of wiki markup languages. Can always manually convert markup, if page editted on new wiki.

-- AndyGlew - 23 Apr 2003

Answer

I think GenericWikiToTWikiAddOn would be a good approach, since it is easily parameterised for different Wiki syntaxes and avoids the issues of knowing about the storage format of another Wiki (which could be almost anything, particularly for exotic languages). Marking transferred pages sounds like a 'nice to have' - if you are retiring the old Wiki, you can just lock it against changes (rename the edit script, disable the Edit link, etc) while you are doing the transfer, and then put in a redirect to the new TWiki site, leaving the old Wiki in read-only mode for a while perhaps.

As for converting via HTML, this would lose quite a lot of the benefits of Wikiness. TWiki's syntax is quite powerful so you should be able to do what's needed by conversion - for any special features not in TWiki, you could code them in a plugin, e.g. DefaultPlugin, which is the normal place.

Re RenderOnceReadMostly, this has been implemented quite nicely in the CacheAddOn.

-- RichardDonkin - 28 Apr 2003  

Topic revision: r5 - 2004-12-12 - PeterThoeny
 
Twitter Delicious Facebook Digg Google Bookmarks E-mail LinkedIn Reddit StumbleUpon    
  • Download TWiki
TWiki logo Powered by Perl Hosted by OICcam.com Ideas, requests, problems regarding TWiki? Send feedback. Ask community in the support forum.
Copyright © 1999-2012 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.