MediaWikiToTWikiAddOn
MediaWiki to TWiki conversion tool
Introduction
This is a commandline tool to import MediaWiki pages and images
to TWiki. It processes a MediaWiki XML dump to extract the pages
and thus does not need a database access once the dump was created.
The conversion tool takes care of almost all peculiarities of MediaWiki
and TWiki. It does
not map MediaWiki's category system onto TWiki
as long as TWiki lacks a standard category system. There are however many
ways to implement categories in TWiki, one of which is the upcoming
ClassificationPlugin which implements true hierarchies and
semantic predicates to query categories and topics within. The mediawiki2twiki
tool allows to map the MediaWiki categories onto any TWiki category
system like the mentioned one using a plugin interface that comes with
the conversion tool.
One notion of caution: in general the conversion tool is able to
convert the wiki markup dialects. However, the MediaWiki's template
mechanism, comparable to TWiki's parametrized
INCLUDE
statement does
not match. The reason is buried in the different parsing priorities
within both parsers: while MediaWiki parses left-to-right, TWiki
does also parser inside-out, which means parameters to
INCLUDE
are
evaluate
before making the inclusion. The opposite is the case
in MediaWiki. In a way MediaWiki's tempaltes are called
"by reference" (passing the unparsed parameters) while TWiki evaluates
INCLUDE
passing parameters "by value". This means, that WikiApplications
written for MediaWiki won't be translatable to TWikiApplications
easily by this tool.
Documentation
The conversion tool is in
<path-to-your-twiki>/tools/mediawiki2twiki
.
Synopsis
mediawiki2twiki
--file <dumpfile>
[--<debug>]
[--<defaultweb> <webname>]
[--<dry>]
[--<exclude> <regex>]
[--<help>]
[--<images> <path>]
[--<include> <regex>]
[--<language> <language code>]
[--<match> <regex>]
[--<max> <number>]
[--<namespace> <name>]
[--<plugin> <perlfile>]
[--<topicmap> <fromTopic1=toTopic1,fromTopic2=toTopic2,...>]
[--<web> <target web>]
[--<webmap> <fromWeb1=toWeb1,fromWeb2=toWeb2,...>
Example call
mediawiki2twiki
--file dump.xml
--web MediaWiki
--language de
--topicmap 'Hauptseite=WebHome,Spezial.Allpages=WebTopicList'
--images /var/www/mediawiki/images
--defaultweb _mediawiki_default
--plugin MyConversionPlugin
--exclude '^(MediaWiki|Bild|Kategorie):'
This reads the file
dump.xml
, and creats a TWiki web called MediaWiki in our
current TWiki installation (see Setup). In this example, the source content is German.
The pages "Hauptseite" will be stored in the the
WebHome
topic. The
Special.Allpages
page will be stored in
WebTopicList"
. Images are taken from
the images subdirectory of our MediaWiki installation at
/var/www/mediawiki
.
We prepared a template web called
_mediawiki_defaul
that will be used when
creating TWiki webs. We have some perl code in
MyConversionPlugin.pm
that
defines some custom conversions only of relevance for our own content. Source
pages that match the regular expression
MediaWiki|Bild|Kategorie
will be
excluded from the translation process.
Options
The only mandatory option is the name of the MediaWiki dump file from which
content is extracted. Before you start extracting large amount of data you
should test the conversion result by using the -debug, -dry and -max.
more docu please
Installation Instructions
- Download the ZIP file from the Plugin web (see below)
- Unzip
MediaWikiToTWikiAddOn.zip
in your twiki installation directory. Content: File: | Description: |
data/TWiki/MediaWikiToTWikiAddOn.txt | |
lib/CPAN/lib/Parse/MediaWikiDump.pm | |
lib/TWiki/Contrib/MediaWikiToTWikiAddOn/Converter.pm | |
lib/TWiki/Contrib/MediaWikiToTWikiAddOn/EmptyPlugin.pm | |
lib/TWiki/Contrib/MediaWikiToTWikiAddOn/build.pl | |
lib/TWiki/Contrib/MediaWikiToTWikiAddOn.pm | |
pub/TWiki/MediaWikiToTWikiAddOn/schenck_logo.gif | |
tools/EmptyMediaWiki2TWikiPlugin.pm | |
tools/mediawiki2twiki | |
- Verify that the tool works fine by going to the
tools
subdirectory of your TWiki installation and type ./mediawiki2twiki --help
AddOn Info
Sponsored by
Related Topics: DeveloperDocumentationCategory,
AdminDocumentationCategory