Hastur:Conversion

From Hastur
Jump to: navigation, search

There are about a dozen PhpWiki installations administered by different users on the server. They mostly deal with games of one sort or another, and it would be nice to merge them into a common wiki. PhpWiki is no longer actively maintained and lacks many of the nice feature of MediaWiki. Therefore, a conversion script has been developed to handle the conversion process.

PhpWikis

These wikis still use PhpWiki:

  • d20 World of Darkness
  • D20 Steampunk (101)
  • D20 System (no wiki)
  • Dragonstar: 543 -45
  • Drow (319). Note: try to get Abbe to remove his Swedish pages (or create a separate namespace for them)
  • Exalted (143)
  • Hastur
  • Malleus (67)
  • Oscar (273)
  • Xyberpunk (106)
  • Slayers (241
  • T3 (1286)
  • Zoroaster (299)

The numbers in parenthesis include the default pages. The negative number (if any) lists the number of excluded pages from the PhpWiki page source. Even if we ignore about 50 pages documentation per wiki, there are still over 3000 pages to convert!

Conversion script

The script can be used to migrate wikis, but it would still benefit from code cleanup.

Features

This list is incomplete.

  • Guess name of new pages (i.e. add space in page names).
  • Page name transformation, i.e. HomePage => Dragonstar for the Dragonstar Wiki.
  • The ability to add one or more templates to a page, i.e. {{Dragonstar}} for a pseudosite thingy.
  • The ability to add one or more categories to a page.
  • Check for existing pages, and avoid overwriting them.
  • Specifiy which user owns the new page.
  • A special category and/or template added on converted pages with problems (uses plugins, etc).
  • Exclude list to ignore all the default pages in a PhpWiki installation.
  • A log page with hyperlinks must be created for all imports.

Sample use

This imports the Horror wiki into the Codex.

wikiport.pl \
  --header="{{Horror}}" \
  --footer="{{Horror footer}}" \
  --config=hastur.ini \
  --default \
  --page-list=Horror-LIST.csv \
  --log="Project:Import (Horror)" \
 import \
 Horror 

See the POD for command line options.

See also

External links