Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
git-svn-id: http://svn.foswiki.org/trunk/MediaWikiToFoswikiContrib@2349 0b4bb1d4-4e5a-0410-9cc4-b2b747904278
- Loading branch information
MichaelDaum
authored and
MichaelDaum
committed
Feb 4, 2009
1 parent
33ffab3
commit fe0310d
Showing
1 changed file
with
130 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,130 @@ | ||
%META:TOPICINFO{author="micha" date="1231873060" format="1.1" version="1.2"}% | ||
---+!! !MediaWikiToTWikiAddOn | ||
<!-- | ||
One line description, required for extensions repository catalog. | ||
* Set SHORTDESCRIPTION = <nop>MediaWiki 2 TWiki Conversion Tool | ||
--> | ||
%SHORTDESCRIPTION% | ||
|
||
%TOC% | ||
|
||
---++ Introduction | ||
<table style="float:right"> | ||
<tr> | ||
<td><img src="%ATTACHURLPATH%/wikiringlogo40x40.png"></td> | ||
<td><a href="http://wikiring.com" title="Make your Wiki ring!" style="text-decoration:none"> | ||
Powered by <br /> <nop>WikiRing Consultants </a> | ||
</td> | ||
</tr> | ||
</table> | ||
|
||
This is a commandline tool to import <nop>MediaWiki pages and images | ||
to TWiki. It processes a <nop>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 <nop>MediaWiki | ||
and TWiki. It does _not_ map <nop>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 upcomming | ||
<nop>ClassificationPlugin which implements true hierarchies and | ||
semantic predicates to query categories and topics within. The mediawiki2twiki | ||
tool allows to map the <nop>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 <nop>MediaWiki's template | ||
mechanism, comparable to TWiki's parametrized =INCLUDE= statement does | ||
*not* match. The reason is burried in the different parsing priorities | ||
within both parsers: while <nop>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 <nop>MediaWiki. In a way <nop>MediaWiki's tempaltes are called | ||
"by reference" (passing the unparsed parameters) while TWiki evaluates | ||
=INCLUDE= passing parameters "by value". This means, that <nop>WikiApplications | ||
written for <nop>MediaWiki won't be translatable to <nop>TWikiApplications | ||
easily by this tool. | ||
|
||
|
||
---++ Documentation | ||
The conversion tool is in =<path-to-your-twiki>/tools/mediawiki2twiki=. | ||
|
||
---+++ Synopsis | ||
<verbatim> | ||
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,...> | ||
</verbatim> | ||
|
||
---+++ Example call | ||
<verbatim> | ||
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):' | ||
</verbatim> | ||
|
||
This reads the file =dump.xml=, and creats a TWiki web called <nop>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 <nop>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 <nop>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. | ||
|
||
%RED%more docu please%ENDCOLOR% | ||
|
||
|
||
---++ Installation Instructions | ||
* Download the ZIP file from the Plugin web (see below) | ||
* Unzip ==%TOPIC%.zip== in your twiki installation directory. Content: | ||
| *File:* | *Description:* | | ||
%$MANIFEST% | ||
* Verify that the tool works fine by going to the =tools= subdirectory | ||
of your TWiki installation and type =./mediawiki2twiki --help= | ||
|
||
|
||
---++ <nop>AddOn Info | ||
Sponsored by <a href="http://www.schenck-rotec.net"><img src="%ATTACHURLPATH%/schenck_logo.gif" border="0" title="Schenck-RoTec"/></a> | ||
|
||
| <nop>AddOn Author: | TWiki:Main.MichaelDaum | | ||
| Copyright ©: | 2006-2009, Michael Daum http://michaeldaumconsulting.com | | ||
| License: | GPL ([[http://www.gnu.org/copyleft/gpl.html][GNU General Public License]]) | | ||
| <nop>AddOn Version: | v1.0 | | ||
| Change History: | <!-- versions below in reverse order --> | | ||
| 20 Jul 2007 | initial release | | ||
| Dependencies: | %$DEPENDENCIES% | | ||
| <nop>AddOn Home: | Foswiki:Extensions/MediaWikiToTWikiAddOn | | ||
| Feedback: | Foswiki:Extensions/MediaWikiToTWikiAddOnDev | | ||
|
||
|
||
|
||
%META:FILEATTACHMENT{name="schenck_logo.gif" attachment="schenck_logo.gif" attr="h" comment="" date="1184958431" path="schenck_logo.gif" size="882" stream="schenck_logo.gif" tmpFilename="/var/tmp/CGItemp4701" user="ProjectContributor" version="1"}% | ||
%META:FILEATTACHMENT{name="wikiringlogo40x40.png" attachment="wikiringlogo40x40.png" attr="h" comment="" date="1189787359" path="wikiringlogo40x40.png" size="2571" stream="wikiringlogo40x40.png" tmpFilename="" user="ProjectContributor" version="1"}% |