It has been decided that the new wiki will be MoinMoin (see also the comparison of the wikis considered). This page serves to assemble all information relevant to writing the migration script.
Ideally, not just the current revisions at the moment of migration will be moved, but also the entire page history and user accounts. This is because we'd like to keep track of all the copyright holders of the content.
Migration script implementation
Modify PmWiki to convert its wiki syntax to intermediate XML. Then use a Python script to convert the XML to MoinMoin syntax. The modified PmWiki (pmwiki-preproc) will run separately from the one actually running the wiki, being called at the time of migration by the Python script.
The code is being kept in the wikimig branch in Bazaar.
- Migration errors:
DocumentationSet green box contains two lines
- Not worth fixing (preliminary code to fix it causes other problems). Warn instead.
DocumentationSet anchors don't work
Main.WhyFreeSoftware quote character around RMS' quote don't show right
Main:cn.HomePage <interwikilink wiki="www" url="www.gnewsense.org/" path="."> results in invalid link
Main.HomePage log a warning for absolute links (like http://www.gnewsense.org/index.php?n=Community.Community) that won't work after the conversion
Fixed by patching MoinMoin so it redirects PmWiki-style links to the respective converted page.
Main/WikiHomePage Translated links go to Main/HomePage, should be Main/WikiHomePage
Main/WikiHomePage "contribute" link starts with "/", so it's treated as a sub-page
Main:de.DesktopEnvironments #REDIRECT line doesn't work because of empty #acl line
Propose The link is outside the yellow box in the XML
- Won't fix. (The error happens somewhere in the pmwiki-preproc.php code.)
IceCat: text after Google Inc.s is converted to bold.
Won't fix. The italics markup and the subsequent apostrophe merge into bold markup . Might be a Moin bug that the entire rest of the page (including footer) is formatted as bold.
InstallingGNewSense: anchors don't work
Added warning if page links to anchors that are not defined. (On this particular page, the anchors are in the TOC and should be relaced with <<TableOfContents>> in Moin.)
HomePage: comment section is not migrated.
Add a processing instruction like #TITLE for translated page titles
Use "#PRAGMA title The Translated Title", which the theme code puts in the "<title>" element.
Warn about absolute http:// links to gnewsense.org (they aren't considered when searching for backlinks, for example, so should be avoided)
- If we have a fresh VM, bring up new wiki there.
Set up MoinMoin on server and test whether it's working.
- Delete pages, users that were created during testing.
Disable login on PmWiki (and put up a notice).
- Run migration.
- Make sure latest migration script sources are on the server.
- Migrate profiles: Set symlink to shared.d; in config.py, set area="profiles"; run with --import-users
- Migrate wiki: Set symlink to wiki/wiki.d and in config.py, set area="wiki"
- Migrate www: Set symlink to www/wiki.d and in config.py, set area="www"
Create SideBar page
Check InterWikiMap page
- Check if everything went as expected (check wikimig log, sample some pages, ...).
- Change Apache configuration (point www to Moinmoin).
Necessary access and tools:
- Read access to /var/www/ [DONE]
- scp to eccles for Michael ["host key verification failed"]
- Apache2 [DONE]
- Python [DONE]
- Write access to /srv/org.gnewsense.eccles [DONE]
- Read access to /var/log/apache2 [DONE]
- Reload (or restart) Apache [DONE]
- bzip2 [DONE]
- www-browser (elinks) [DONE]
- Change DNS for www from odyssey to eccles.