Inhalte aus einem MediaWiki als PDF exportieren mit der Collection Extension

image

Schon seit längerem beschäftigt mich die Frage, wie man den Inhalt eines Wikis mit vernünftigem Aufwand und in guter Qualität ausdrucken kann (vgl. Wie druckt man ein MediaWiki aus?). Inzwischen habe ich eine Lösung gefunden, die zumindest in meinem eigenen Setup sehr gut funktioniert.

Der Schlüssel zur Lösung ist die Extension Collection, welche von PediaPress entwickelt wird. Wie bei den meisten MediaWiki-Extensions ist zwar etwas Handarbeit erforderlich, im Prinzip ist die Installation aber nicht schwierig. Die Skripts der Extension kann man als Snapshot herunterladen (richtige MediaWiki-Version auswählen!), anschliessend sind noch einige Einträge in den LocalSettings.php sowie im Skin-File erforderlich. Wenn man das README.txt beachtet, kann eigentlich nichts schiefgehen.

Der Clou an der Sache ist, dass man die Phython-Libraries mwlib und mwlib.rl, welche für das Parsen der Wiki-Seiten und die Konvertierung in ein PDF zuständig sind, nicht unbedingt auf dem eigenen Server installieren muss, sondern dass man den Server von PediaPress benutzen kann. Für Wikis mit beschränktem Traffic reicht dies vollkommen aus.

image In der Anwendung ist Collection sehr elegant: In der Navigation erscheint ein neuer Befehl, mit dem man beliebige Seiten in eine Kollektion aufnehmen kann. Lässt man sich später die Kollektion anzeigen (vgl. obigen Screenshot), so kann man noch die Reihenfolge der Seiten anpassen und Kapitel einfügen. Anschliessend lässt sich aus der gesamten Kollektion ein einziges PDF generieren. Alternativ kann man auch ein Textdokument im OpenOffice.org-Format erzeugen, das man dann nicht nur drucken, sondern ggf. auch noch editieren kann.

Wie druckt man ein MediaWiki aus?

image

MediaWiki eignet sich hervorragend, um im Team-Work Informationen zusammenzutragen, zu strukturieren und zu überarbeiten. Aber was, wenn man das Resultat in Form eines PDFs exportieren oder ausdrucken möchte? Die Frage beschäftigt mich schon länger, und die perfekte Lösung habe ich noch nicht gefunden. Im Moment zeichnen sich zwei Favoriten ab:

  • PDF Book: Diese Extension erlaubt es, alle Seiten einer bestimmten Kategorie in einem einzigen Arbeitsgang als PDF zu exportieren. Dabei wird automatisch ein Inhaltsverzeichnis erstellt, pro Wiki-Seite wird ein Kapitel angelegt. Diese Lösung setzt allerdings voraus, dass HTMLDOC auf dem Server installiert ist.
  • Collection: Bei dieser Extension wird das PDF aus einer sogenannten Collection erstellt. Eine Collection ist vergleichbar mit einer persönlichen Bookmark-Sammlung, die direkt im Wiki abgelegt ist. Auf der Website WikiEducator kann man das in einem öffentlichen Beta-Test selbst ausprobieren. Und wie einer Medienmitteilung der Wikimedia-Foundation vom letzten Dezember zu entnehmen ist, handelt es sich bei dieser Extension um eine Entwicklung, welche strategische Bedeutung für MediaWiki hat und im Verlaufe des Jahres 2008 auch auf Wikipedia eingebaut werden soll. Vielversprechend ist auch die Ankündigung, dass bis Mitte 2008 zusätzlich ein Export im OpenDocument-Format möglich werden soll. Was mich dagegen irritiert ist die Tatsache, dass die Collection-Extension zwei Python-Libraries voraussetzt, während MediaWiki ja in PHP geschrieben ist. Ob diese Lösung auch für einfache Shared-Hosting-Accounts mit LAMP-Umgebung funktioniert?

Neben den beiden erwähnten Extensions gibt es noch eine ganze Reihe anderer Ansätze (vgl. die Liste der alternativen Parser sowie die Data Extracation Extensions), die mir allerdings – aus verschiedensten Gründen – weniger überzeugend scheinen. Gibt es tatsächlich keine Extension, die allein mit den Mitteln von PHP den Export einer ganzen Kategorie im PDF-, OpenDocument- oder RTF-Format erlaubt?