10. Seminar: 23.05.2013

Werbung
Arbeitsblatt 10 – Render-Service
Crossmedia Produktion, M.Sc. Sandra Michaelis (2011),
Prof. Dr. Michael Frank, Dipl.-Inf. Thomas Mosig (2013)
Das heutige Seminar widmet sich den Möglichkeiten aus Mediawikis (öffentliche oder selbst erstellte)
Druckausgaben zu erzeugen. Der Druck wird dabei nicht über die Browserfunktion durchgeführt,
sondern mit Hilfe eines Render-Services. Unter Linux ist es möglich einen Render-Service zu
installieren, der je nach Installation verschiedene Writer zum Erzeugen der gewünschten
Ausgabeformate bereitstellen kann. Zum Zweck der Anwendung ist viel unter http://pediapress.com/
zu finden.
Auf dem im MM-Pool installierten Oracle VM VirtoolBox Manager können Sie das Betriebssystem
Ubuntu starten, auf dem bereits ein Webserver (Apache), MySQL, sowie ein Mediawiki installiert sind.
Als Zugabe finden Sie am Ende einige Links zu Software, die entweder Dateiformate zum eBookFormat ePub konvertieren oder ePub in andere Formate konvertieren.
Ubuntu (Version 11.04 LTS) – Updateforderungen bitte heute ignorieren
Kopieren Sie sich den Ordner N:\mfrank\cmp_Sem10\Ubuntu_11.04\ in ein Unterverzeichnis
.\Ihr_Name\VirtualBox auf dem lokalen Laufwerk W:(Working). Starten Sie Oracle VM VirtualBox und
klicken Sie auf NEU. Wählen Sie einen Namen für Ihre virtuelle Maschine (z.B. Ubuntu11), den Typ
„Linux“ und die Version „Ubuntu“. Richten Sie sich 750 MB Hauptspeicher ein. Wählen Sie dann den
Menüpunkt „Vorhandene Festplatte verwenden“ und suchen Sie durch Klicken auf die Ordnerikone
rechts die Datei Ihrer virtuellen Maschine auf dem Laufwerk W: auf. Klicken Sie dann auf „Erzeugen“
und danach oben im Menü auf „Starten“.
Danach melden Sie sich mit dem Nutzernamen: „nutzer“ und dem Passwort: „passwort“ an. Unter dem
Menüpunkt „Geräte“ stellen Sie bitte die Option „bidirektional“ für die Unterpunkte „Gemeinsame
Zwischenablage“ und „Drag’n’Drop“ ein.
Als nächstes Öffnen Sie ein Terminal über:
Anwendungen > Zubehör > Terminal
Führen Sie nun folgende Befehle aus:
Shell > sudo bash
Bash wechseln
# “su” = zum User „root“ machen, “do bash” = in eine
Geben Sie das Passwort des Nutzers “nutzer” ein.
Zum Einfügen von unter Windows markiertem Text aus dem Arbeitsblatt am Kommandoprompt des
Terminals in Ihrer virtuellen Maschine ist es möglich die mittlere Maustaste zu verwenden.
Um Debian-Pakete mit der GNU Compiler Collection an das System anzupassen, ist die Installation
der folgenden Pakete notwendig:
Shell> apt-get install make binutils gcc
“J” drücken (wird im Laufe der folgenden Installationen öfter nötig sein)
Zum Parsen von MediaWiki-Artikeln wird das Paket mwlib benötigt. Diese MediaWiki-Bibliothek enthält
u.a. die folgenden Programme:
mw-show
Zeigt einen Artikel im Standard-Output-Kanal (stdout)
mw-render
Rendert MediaWiki-Artikel in verschiedene Formate
mw-zip
erstellt ein .zip-File, welches eine Liste mehrerer Artikel (sowie alle
dazu benötigten Templates, Bilder) enthält
mw-serve
Startet ein Server-Interface für mw-render und mw-zip
Um mwlib installieren zu können, müssen folgende Abhängigkeiten erfüllt werden:
wichtig:
Python
Die Version muss größer 2.5 aber kleiner als 3 sein, andere werden derzeit nicht unterstützt.
Perl
Perl wird benötigt um das Skript EasyTimeline.pl ausführen zu können und damit bestimmte Bilder
erzeugen zu können.
setuptools
Programme zur vereinfachten Installation von Python-Paketen.
PIL
PIL steht für “Python Imaging Library” und wird für das verbesserte Rendern von Bildern benötigt
g++
g++ ist die C++-Ausprägung der GNU Compiler Collection
optional:
LaTeX
LaTeX wird für mathematische Ausdrücke benötigt.
blahtexml
Blahtex ist ein C++ - Programm, welches mathematische Gleichungen in Form von TeX-Syntax in
MathML konvertieren kann.
texvc
texvc (TeX validator and converter) ist ein Program, welches mathematische Gleichungen in LaTeX
überprüft zu HTML, MathML oder PNG konvertieren kann.
Quellen: http://pypi.python.org/pypi/mwlib/, http://code.pediapress.com/wiki/wiki/mwlib-install
Die Installation der benötigten Pakete erfolgt mit dem nachfolgenden Befehl:
Shell> apt-get
setuptools
install
perl
python
python-dev
python-imaging
python-
Nach der Installation des Paketes python-setuptools ist das Kommando easy_install
möglich, dies vereinfacht das Installieren von Python-Paketen.
Shell> apt-get install python-pip
Für Grafiken müssen einige Grafikbibliotheken installiert werden, und PIL:
Shell> apt-get install libjpeg62 libjpeg62-dev libfreetype6 libfreetype6dev zlib1g-dev
Shell> pip install PIL
(Shell> easy_install Cython
# evtl. bei Mehrprozessorcomputern guenstig)
Shell> apt-get install libxml2-dev libxslt-dev
Shell> apt-get install python-lxml
Shell> pip install -i http://pypi.pediapress.com/simple/ mwlib
Shell> pip install -i http://pypi.pediapress.com/simple/ mwlib.rl
Shell> pip install -i http://pypi.pediapress.com/simple/ pyfribidi
(Shell> pip install
-i http://pypi.pediapress.com/simple/ mwlib.xhtml)
Shell> pip install
-i http://pypi.pediapress.com/simple/ mwlib.docbook
Mit dem Befehl mw-render --list-writers ist es nun möglich sich die renderbaren
Ausgabeformate des Standardpaketes mwlib anzusehen. Sollen zusätzliche Ausgabeformate
hinzugefügt werden, sind weitere Installationen erforderlich.
Um die Funktionen zu testen:
Shell> STRG+D # als User “Root” abmelden und in Account des Nutzers wechseln
Shell> mw-render -c :en -w odf -o Wiki.odt Wiki
Erklärung: mw-render = lokaler Renderservice
-c = --config
:en = http://en.wikipedia.org/wiki
-w = --writer
-o = --output
Wiki.odt = Dateiname, welcher im aktuellen Ordner angelegt wird
Wiki = Artikelname, welcher folgendermaßen herausgesucht wird:
http://en.wikipedia.org/wiki/<ARTIKELNAME>
Folgende Eingabe ist ebenfalls möglich:
Shell> mw-render -c http://en.wikipedia.org/w/ -w odf -o Wiki.odt Wiki
Aus dem englischen Wikipedia wird der Artikel Wiki mit dem mw-render und odf als Writer zu Wiki.odt
konvertiert.
Wechseln Sie in der grafischen Benutzeroberfläche, in der oberen Taskleiste, unter Orte in den
persönlichen Ordner und prüfen Sie das Ergebnis. Vergleichen Sie es dabei mit der originalen
Wikipedia-Seite.
Wiederholen Sie den Befehl:
Shell> mw-render -c :en -w odf -o <Dateiname>.odt <Artikelname>
Rendern Sie einen anderen, selbst gewählten Artikel. Beobachten Sie während des Rendervorgangs
den Inhalt des persönlichen Ordners.
Generieren Sie nun andere Formate, wie z.B. xml und xhtml.
Shell> mw-render -c :en -w docbook -o help.xml Help:Contents
Shell> mw-render -c :en -w xhtml -o help.xhtml Help:Contents
Shell> mw-render -c :en -w rl -o help.pdf Help:Contents
Nicht nur Artikel aus dem Mediawiki „Wikipedia“ können gerendert werden. Sie können auch eine
Ausgabe aus z.B. http://wiki.openstreetmap.org/ ausprobieren. Aber nicht alle öffentlichen Wikis und
nicht alle Artikel der Wikipedia lassen sich rendern. Möglicherweise muss eine Konvention eingehalten
werden oder ein Port offen sein. Hier ist noch Recherche notwendig.
Wenn Sie noch LaTeX installieren wollten, ginge das wie folgt. Aber es dauert lange und bringt keine
neuen Ausgabeformate mit sich:
Shell> apt-get install gs cjk-latex texlive-fonts-extra gettext latex-cjkall texlive ocaml python-pyfribidi libfribidi0 libfribidi-dev pythonpygments imagemagick mediawiki-math
Links zu anderen Konverterprogrammen am Beispiel des Formats ePub (engl.)

Calibre (http://calibre-ebook.com): a free tool for Windows, Mac OSX, and Linux that allows
you to convert to ePub from a wide variety of formats. Calibre currently does a better job than
Stanza Desktop at preserving styles and formatting of source documents.
 Adobe InDesign (http://www.adobe.com/products/indesign/): InDesign is a high-end publishing
tool for authors and publishers, and supports the creation of ePub files.
 Feedbooks (http://feedbooks.com/share/): You can log into Feedbooks and create your own
content, which will be made available in ePub, as well as other formats like PDF and Kindle. In
addition, any books you create and share will automatically be included in the "Free Books by
Feedbooks" section of Stanza's Online Catalog under the "User Created Books" area, so you
don't need to download and transfer the book separately.
 BookGlutton API (http://www.bookglutton.com/api): If you have your book in HTML format, you
can convert it into ePub using their online conversion API
 ePub Tools (http://code.google.com/p/epub-tools): Command-line tools suitable for batch
processing and integration into toolchains. Includes tools for conversion from Word, RTF,
DocBook, TEI, and FictionBook.
 Adobe PDFXML (http://labs.adobe.com/technologies/mars) - Per Adobe's blog, this is useful
for making small changes to existing EPUBs.
 eScape - ePub Creator (http://www.infogridpacific.com/igp/AZARDI/eScape%20-ODT2ePub) "It lets you instantly and effortlessly turn Open Office Writer documents (ODT) into perfect
ePubs..."
 eCub (http://www.juliansmart.com/ecub) - "a simple to use EPUB and MobiPocket ebook
creator"
 Sigil (http://code.google.com/p/sigil/) - "Sigil is a multi-platform WYSIWYG ebook editor. It is
designed to edit books in ePub format."
 Easy EPUB (http://www.easypress.com/products/aqpep/) - By simply uploading your InDesign
or Quark book files, EasyEPUB will quickly produce a fully compliant EPUB version of your
book within 5 minutes.
 DNAML's PDF2EPUB (http://www.pdftoepub.com/) - Convert PDFs to EPUBs in 6 easy steps.
The nice thing about this software is that it can handle headers and footers which are often
challenging when converting PDFs.
 ODFToEPub (http://www.pincette.biz/odftoepub/) - An OpenOffice extension that lets you save
a document as an ePub.
 Stanza Desktop (http://stanza.lexcycle.com): Stanza allows you to convert from a large variety
of formats like MS LIT, Mobipocket, Kindle, RTF, PDF, MS Word, and many more into ePub
(vgl. http://www.lexcycle.com/faq/how_to_create_epub)
http://mwlib.readthedocs.org/en/latest/installation.html
Extension Collection von 2011 (kann sich einiges geändert haben)
Öffnen Sie im Browser die lokal installierte Mediawiki-Seite (http://nutzervm/mediawiki). Sie werden
auf der Startseite drei Artikel finden (Crossmedia, Cross Media Bar, Cross Media Publishing). Ohne
die Installation der Extension Collection kann ein Export dieser Artikel in andere Formate nur über die
Kommandozeile erfolgen. Nach erfolgreicher Installation der Extension wird es möglich sein, über eine
Toolbox, Artikel als PDF herunterzuladen. Über die Funktion „Buch erstellen“ ist es möglich auf den
Buchgenerator zuzugreifen und Artikel in weitere Formate zu extrahieren. Dabei können mehrere
Artikel als Buch gebunden und Kapitel hinzugefügt werden. Außerdem können, nach weiteren
Anpassungen, ein Inhaltsverzeichnis, Referenzen und Artikellizenzen automatisch generiert werden.
Wechseln Sie in das Terminal (Anwendungen > Zubehör > Terminal). Für alle hier aufgelisteten
Befehle sind Root-Rechte erforderlich.
Shell> apt-get install mediawiki-extensions-collection
Bei der Installation wurden die Abhängigkeiten mitinstalliert (mediawiki-extensions-base, php5-curl,
libjs-jquery-ui, libcurl3)
Shell> vim /var/lib/mediawiki/LocalSettings.php ## Datei mit Editor öffnen
An das Ende der Datei die folgenden Zeilen einfügen:
Dazu mit „i“ in den „Insert-Modus“ wechseln.
require_once(‘extensions/Collection/Collection.php‘);
$wgCollectionFormats = array (
‘rl‘ => ‘PDF‘,
‘odf‘ => ‘ODT‘
);
$wgCollectionMWServeURL = ”http://nutzer-virtual-machine:8899”;
Verlassen Sie mit ESC :w (= write, Datei schreiben) und :q (= quit) diese Datei.
Die Ausgabeformate xhtml und docbook können nach obigem Schema hinzugefügt werden.
Im Browser ist nun nach dem Aktualisieren der Seite (links unten) eine Toolbox zu sehen:
Um den Render-Service zu starten, führen Sie folgende Befehle als Nutzer „root“ aus:
Shell> mkdir /data; mkdir /data/mwcache; mkdir /data/mwcache/logs;
Shell> mw-serve -–cache-dir=/data/mwcache/mwlibcache/ -logfile=/data/mwcache/logs/mwserve.log –-mwrenderlogfile=/data/mwcache/logs/mwrender.log -–mwziplogfile=/data/mwcache/logs/mwzip.log –-mwpostlogfile=/data/mwcache/logs/mwpost.log &
Shell> service apache2 restart
Testen Sie nun die Ausgabe der verschiedenen Formate und verwenden Sie dabei die schon in das
Wiki integrierten Artikel, welche Sie über die Startseite erreichen.
Herunterladen