Essay
MediaWiki: Wiki-CMS der Zukunft

Mittlerweile nutzen die unterschiedlichsten Einrichtungen die Vorzüge von Wikis. Denn die offenen Redaktionssysteme erlauben ein einfaches vernetztes Zusammenarbeiten. Wikis taugen hervorragend als Organisationshilfe für Dokumentationen, Projekte und als leicht einsetzbare Groupware. Vor allem die Benutzerfreundlichkeit und kurze Einarbeitungszeit geben den Wiki-Systemen Auftrieb. Wir stellen das bekannte Open Source System MediaWiki vor.

Was sind Wikis und wofür kann man sie nutzen?

Unter den CMS-Systemen gehören Wikis zur spannendsten Sorte, denn die Möglichkeiten vernetzten Arbeitens mit Hilfe einer Wiki-Engine sind noch lange nicht ausgeschöpft. Das Großartige an der Wiki-Technik ist, dass in der Regel jeder Besucher der Website diese auch selbstständig verändern kann, ohne seinen Browser zu verlassen. Wiki-Webseiten lassen sich schnell und einfach verändern. Oft reicht ein Klick auf »Diese Seite bearbeiten« und los geht’s. Trotz der Veränderungen geht der vorherige Eintrag jedoch nicht verloren, da jede Artikelseite eine eigene History besitzt und ein Artikeleintrag nicht gelöscht wird, sondern in der Hierarchie bei der Veränderung nach hinten rutscht. Dadurch kann jeder Besucher minutiös mitverfolgen, wie sich der jeweilige Artikel verändert hat. Demzufolge können Artikel nicht mutwillig zerstört werden, da Administratoren mit Hilfe der Rollback-Funktion den alten Artikel wiederherstellen können.

Besuchen Sie doch einfach einmal die freie Enzyklopädie unter http://de.wikipedia.org. Dort können Sie so gut wie jede Webseite verändern, korrigieren oder erweitern. Die Wikipedia-Website ist weltweit das größte Mammut-Projekt, das mittels Wiki-CMS realisiert wird. Das zugrunde liegende Wiki-System wird daher kontinuierlich weiter ausgebaut und ist selbst als Open-Source-Software frei als Download erhältlich.

(Screenshots: MediaWiki im Einsatz — vielfach einsetzbar als Hilfe für eine Enzyklopädie, eine Rezepte-Community, ein Weblog-Manual oder eine offene Filmdatenbank.)

Durch ihre offene Architektur und leichte Handhabung eignen sich Wikis vor allem für den Einsatz von Wissensdatenbanken, für Projektdokumentationen und offene Foren. Im Gegensatz zu Foren lassen sich nämlich Einträge kategorisieren und dadurch strukturieren.

Der Netlabel Catalogue stellt sich vor

(Screenshot: Das Netlabel-Catalogue-Wiki ist ein Verzeichnis für Netlabels und wächst konstant dank seiner Besucher.)

Auch der Netlabel Catalogue unter http://www.phlow.de/netlabels/ fußt auf der MediaWiki-Software. Zuerst basierte das Verzeichnis für Netlabels auf einem redaktionell orientierten CMS, zu welchem nur Redakteure Zugang besaßen. Doch das konstante Wachstum der Netlabel-Szene vergrößerte den redaktionellen Arbeitsaufwand exponentiell. Deswegen musste sich das Projekt öffnen, um nicht hilflos zu veralten.

Mittlerweile gibt es den Netlabel Catalogue fast ein Jahr als Wiki und er wächst weiterhin konstant. Dafür sind seine Besucher verantwortlich. Die Netlabels können sich selbst eintragen und die Website-Admins überprüfen lediglich jeden Tag mit Hilfe der Funktion Recent Changes, welche Seiten verändert und hinzugefügt wurden. Dank der Talk-Funktion können die Redakteure mit den Benutzern kommunizieren und eventuelle Änderungswünsche vorbringen.

Konfiguration und Administration

Zur Zeit ist für den Netlabel Catalogue die Version 1.3.13 der MediaWiki-Software im Einsatz. In diesem Artikel besprechen wir jedoch den Einsatz von Version 1.4.5. Nach der Installation (siehe Kasten) präsentiert sich das MediaWiki im standardisierten Look. Bevor Sie jedoch das Design Ihren Wünschen anpassen, sollten noch einige Funktionen an- beziehungsweise ausgeschaltet werden. Zu den wichtigsten Dateien zur Steuerung des Wikis gehören die beiden Dateien LocalSettings.php und DefaultSettings.php. Während sich erstere im Wurzelverzeichnis befindet, finden wir DefaultSettings.php im Unterverzeichnis includes. Mit diesen Dateien steuert man das Verhalten als auch die Darstellung des Wikis.

MediaWiki: 10-Schritt-Installation

Für die Installation der MediaWiki-Software, die Sie unter http://wikipedia.sourceforge.net herunterladen können, benötigen Sie PHP ab Version 4.1.2 und MySQL ab 4.0.x. Die Installation selbst ist denkbar einfach.

  1. Entpacken Sie das heruntergeladene komprimierte Archiv.
  2. Entscheiden Sie sich, ob das Wiki in einem Unterverzeichnis oder im Wurzelverzeichnis liegen soll (in diesem Beispiel entscheiden wir uns für das folgende Unterverzeichnis: www.ihre-domain.de/wiki-web/).
  3. Laden Sie die Inhalte des entkomprimierten Archiv-Ordners auf den Server in das Verzeichnis Ihrer Wahl hoch.
  4. Machen Sie das config-Verzeichnis beschreibbar mit chmod 777.
  5. Rufen Sie die Installationsroutine über www.ihre-domain.de/wiki-web/config/ auf.
  6. Nachdem das Installations-Script erfolgreich Ihre Server-Umgebung getestet hat, geben Sie die Zugangsdaten zu Ihrer Datenbank ein.
  7. Sollten Sie sich für die deutschsprachige Version entscheiden, so wählen Sie am besten das Unicode-Format, da es einen größeren Zeichensatz umfasst und die zukunftsweisende Kodierungsform ist.
  8. Geben Sie alle anderen Daten wie Benutzer, Passwort etc. ein und klicken Sie anschließend auf Install.
  9. Nach erfolgreicher Installation verschieben Sie per FTP-Programm die Datei LocalSettings.php vom Config- in das oberste Wiki-Verzeichnis. Das ist in unserem Fall www.ihre-domain.de/wiki-web/.
  10. Das Wiki sollte nun startklar sein. Rufen Sie es unter www.ihre-domain.de/wiki-web/ auf.

Bilder hochladen

MediaWiki bietet eine komfortable Möglichkeit, Bilder für Artikelseiten hochzuladen. Außerdem erlaubt die Software auch das automatische Erstellen von Thumbnails. Um Uploads zu erlauben, muss zuvor in LocalSettings.php das Doppelkreuz vor der Einstellung

$wgDisableUploads = false;

gelöscht werden. Nun sollte ein Link namens Hochladen in der linken Werkzeugleiste erscheinen. Sollte das bei einem Reload der Startseite nicht der Fall sein, liegt das am Caching von Webseiten seitens der MediaWiki-Software. Damit Hochladen erscheint, klicken Sie einfach auf Bearbeiten und ändern eine Kleinigkeit an der Webseite. Jetzt sollte der Upload von Bildern bei den Werkzeugen erscheinen. Damit Bilder hochgeladen werden können, müssen Sie sicherstellen, dass das Image-Verzeichnis beschreibbar ist (CHMOD 777). Die Arten der Dateien, die hochgeladen werden dürfen, bestimmen Sie mit der folgenden Variable.

$wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg' );

Damit die in der Datei DefaultSettings.php vorliegenden Einstellungen überschrieben werden, kopieren Sie die obige Zeile in die Datei LocalSettings.php. Erlauben Sie zum Beispiel den Upload von PDF-Dateien, fügen Sie einfach die Dateiendung in einfachen Anführungsstrichen hinzu. Die Endungen müssen jeweils durch ein Komma getrennt werden. Unsere neue Einstellung sähe dann so aus:

$wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg', 'pdf' );

Die maximale Größe einer Datei, die hochgeladen werden darf, legen Sie mit der Zeile

$wgUploadSizeWarning = 150000;

fest.

MediaWiki – Aufbau der Benutzeroberfläche

Um im Netlabel Catalogue einen Eintrag anzulegen oder zu verändern, müssen sich die Benutzer erst einmal anmelden oder registrieren. Die Werkzeuge für den eigenen Zugang, die Einstellungen und die eigene Profilseite befinden sich in der obersten Reihe (1). Gleich darunter (2) befinden sich die Werkzeuge zum Bearbeiten von Artikeln. Neben dem obligatorischen Button Edit zum Bearbeiten eines Artikels — der Netlabel Catalogue basiert auf der englischsprachigen Version — kann man sich über History die Entstehungsgeschichte des Artikels anschauen, sofern vorhanden. Admins können Artikel auch sperren, löschen oder verschieben. Normalen Wiki-Nutzern stehen diese Funktionen nicht zur Verfügung. In der linken Leiste des Wikis befindet sich die Hauptnavigation (3). Wichtigste Seite ist hierbei die Recent Changes/Letzte Änderungen-Funktion. Sie bietet einen schnellen Überblick über die zuletzt veränderten Webseiten.

(Screenshot: Klarer Aufbau, zahlreiche Funktionen – Die MediaWiki-Benutzeroberfläche.)

Die Suchfunktion erklärt sich im ersten Moment nicht von selbst. Wird in der Suche (4) ein Begriff eingegeben, der identisch mit einem Artikelnamen ist, katapultiert die Software den Besucher direkt zum Artikel. Möchte man jedoch zum Beispiel nicht nach dem Eintrag TokyoDawn suchen, sondern alle Einträge im Wiki nach dem Begriff durchforsten, muss man anstelle von Go/Los auf Search/Suchen klicken. Direkt unter der Suchfunktion befinden sich die Werkzeuge (5). Ist der Upload von Bildern erlaubt, erscheint hier der Link zur Hochladen-Funktion. Unter Special Pages/Spezial Seiten gibt es zahlreiche Hilfsseiten. Dazu gehören zum Beispiel das Benutzerverzeichnis, Statistiken, unkategorisierte Seiten, Wartungsseite oder beliebte Seiten. Die Spezialseiten sind immens wichtig für die Pflege und erleichtern dem Admin das Auffinden, Steuern und Bearbeiten der Inhalte.

Rechtevergabe – Wer darf was?

Sehr wichtig im Umgang mit einem Wiki ist die Frage der Rechtevergabe – also wer Seiten verändern und wer welche Seiten sehen darf. Die Rechtevergabe im MediaWiki erfolgt hierbei nach dem Whitelist-Prinzip. Das bedeutet, alle Seiten, die nicht als freigegeben in die Whitelist aufgenommen wurden, können nicht gesehen oder bearbeitet werden. Wenn es keine weiße Liste gibt, so bestehen keine Beschränkungen, es sei denn, der Admin hat Seiten im MediaWiki vor Veränderungen geschützt.

Um zu verhindern, dass unangemeldete Benutzer Seiten editieren oder anlegen dürfen, fügen Sie in LocalSettings.php den folgenden Befehl ein:

$wgWhitelistEdit = true;

Ob alle Seiten des Wikis gelesen werden dürfen, entscheidet man mit

$wgWhitelistRead = false;

Dürfen nur angemeldete Benutzer alle Seiten lesen, dann muss ausdrücklich angegeben werden, welche Seiten angezeigt werden sollen, falls man nicht angemeldet ist. Möchte ein unangemeldeter Besucher eine geschützte Seite sehen, wird er zuerst aufgefordert, sich zu registrieren beziehungsweise anzumelden. Mit dem folgenden String wird nur die Hauptseite und eine Testseite für alle freigegeben.

$wgWhitelistRead = array ("Hauptseite", "Testseite");

Soll nur ein festes Redaktionsteam die Möglichkeit besitzen, Seiten zu bearbeiten, müssen Sie die Möglichkeit, neue Accounts anzulegen, auf Sysops beschränken. Das legen Sie im folgenden Befehl mit 'user' => 0 fest:

$wgWhitelistAccount = array ( 'user' => 0, 'sysop' => 1, 'developer' => 1 );

Hat man die obigen Einstellungen vorgenommen, muss man als Administrator neue Benutzer anlegen. Dazu gibt man in der Adresszeile des Browsers händisch die URL www.ihre-domain.de/ihr_wiki/index.php/Spezial:Userlogin ein. Anschließend geben Sie in der Maske einen Usernamen und die E-Mail des neuen Nutzers ein und klicken auf über E-Mail. Ein zufällig generiertes Passwort wird dem neuen Nutzer zugeschickt, mit welchem er sich anschließend einloggen kann.

Artikel formatieren mit der MediaWiki-Syntax

Um Artikel zu formatieren, zu gliedern und optisch aufzuwerten, gibt es zahlreiche Wiki-Tags. Zu den wichtigsten Vertretern gehören natürlich die Tags, die auch schon per Icon-Werkzeugliste vorhanden sind. Artikel können aber noch maßgeblich mit den folgenden Befehlen formatiert werden.

(Screenshot: Erste Starthilfe – die Format-Icons oberhalb der Texteingabe.)

Um einem Link zu einem Artikel einen eigenen Namen anstelle des Artikelnamens zu geben, trennt man den Link per »|"-Zeichen:

[[Buchkritiken 2005|Neue Bücher]] ergibt Neue Bücher und verweist auf den Artikel Buchkritiken 2005. Um externe Webseiten zu verlinken, muss der Link lediglich innerhalb eckiger Klammern platziert werden. Im Gegensatz zu den Wiki-internen Links braucht man bei der Umbenennung des Links kein Trennzeichen. Aus [http://www.netlabels.org Netlabel Catalogue] wird Netlabel Catalogue.

Um Seiten einer Kategorie zuzuordnen, fügt man am besten am Anfang des Artikels den Kategorie-Befehl ein:

[[Kategorie:Techno]] sortiert den Artikel der Kategorie »Techno« zu. Um einen Link innerhalb eines Artikels zu einer Kategorieseite zu setzen, stellt man dem Wiki-Tag einen Doppelpunkt voran. Das sieht dann so aus: [[:Kategorie:Wikipedia]].

Um Bilder einzubinden und zu formatieren, gibt es zahlreiche Möglichkeiten. Werden externe Bilder verlinkt, reicht allein schon ein Direktverweis auf das Bild, um es im Artikel anzeigen zu lassen. Hat man jedoch für sein Wiki die Upload-Funktion aktiviert, bieten sich zahlreiche weitere Möglichkeiten der Formatierung. Neben Thumbnails, die durch [[Bild:gesicht.png|thumb|Text der Bildbeschreibung]] aktiviert werden, kann man Texte natürlich auch an Bildern vorbeifließen lassen. Dies geschieht per Attribut left oder right. Der Wiki-Befehl sieht dann wie folgt aus: [[Bild:Gesicht.png|left|Ein Gesicht]]. Eine tolle Funktion, um mehrere Bilder darzustellen, ist das <gallery>-Tag:

<gallery>
Bild:Party.jpg|Party
Bild:Club.jpg|Club
Bild:DJ.jpg|DJ
</gallery>

Manchmal möchte man eine Artikel-Seite, wie zum Beispiel die Startseite des Wikis, optisch aufwerten. Auch wenn es nicht den Webstandards entspricht, kann man sich hierbei mittels einer Tabelle weiterhelfen, um zum Beispiel ein zweispaltiges Layout im Artikel zu erstellen. Dieses generiert man einfach mit der folgenden Syntax:

{|
|Zelle 1
|Zelle 2
|}

Mit Hilfe von Tabellen kann man Wiki-Webseiten optisch hervorragend gliedern, sollte sie aber nur an Stellen einsetzen, an denen es wirklich wichtig ist. Zahlreiche Formatierungsmöglichkeiten mit festgelegter Breite, Farben und Tabellenrändern findet man unter http://de.wikipedia.org/wiki/Wikipedia:Tabellen.

MediaWiki – Den Look verändern

Als allererstes möchte man seinem Wiki ein eigenes Logo verpassen. Das Original-Logo ist 135×135 Pixel groß und liegt als PNG-Datei mit dem Namen wiki.png im Verzeichnis skins/common/images/. Damit das Logo durch Ihr eigenes ersetzt wird, überschreiben Sie das vorgegebene Logo einfach. Achten Sie jedoch darauf, dass das Logo die gleichen Maße hat. Ansonsten könnte es unschöne Layout-Fehler geben.

Möchten Sie lieber eine GIF- oder JPG-Datei sowie einen eigenen Namen für das Logo verwenden, müssen Sie in LocalSettings.php den folgenden Befehl anpassen:

$wgLogo = "$wgStylePath/common/images/wiki.png";

In den Standardeinstellungen fußt das MediaWiki auf dem Monobook-Template, einer Skin, die hervorragend auf die verschiedensten Browser und ihre Macken eingestellt ist. Um das Aussehen des Wikis zu verändern, gibt es zwei Möglichkeiten. Einerseits verändert man das Aussehen über die CSS-Dateien im Verzeichnis skins, andererseits steuert man den eigentlichen Seitenaufbau über das Monobook-Template MonoBook.php. Die wichtigste CSS-Datei ist hierbei main.css im skins/monobook/-Ordner.

Um die hervorragend abgestimmte CSS-Datei nicht unnötig zu zerschießen, können wir uns eines Tricks bedienen. Wird einem Tag via CSS ein Parameter übergeben, kann dieser in darauffolgenden Zeilen wieder überschrieben werden. Denn die Browser orientieren sich an den zuletzt angegebenen Parametern. Das bedeutet, dass, wenn dem Link-Tag in Zeile 10 die Farbe blau übergeben wird und anschließend in Zeile 20 auf grün umgestellt wird, dann erscheint sie grün im Browser. Ein Beispiel:

a {color: green; font-weight: normal}
h1 {font-size: 12px}
a {color: blue; font-weight: bold}

Anstelle eines Links in grün werden Links in fetter Blauschrift angezeigt. Darum öffnen Sie die main.css-Datei und navigieren Sie den Cursor ans Ende des Stylesheets. Sollen Links andersfarbig, Schriften kleiner oder größer oder zum Beispiel Abstände zwischen Headlines geändert werden, ändern wir sie am Ende dieser Datei und überschreiben die vorherigen Einstellungen. Treten nun ungewollte Fehler in der Darstellung auf, müssen wir lediglich unsere Änderungen anpassen oder zurücknehmen. Da sie sich alle am Ende des Stylesheets befinden, sind Modifikationen leicht behoben. Möchten wir zum Beispiel keine Hintergrundgrafik, überschreiben wir den Befehl

body {
  font: x-small sans-serif;
  background: #f9f9f9 url("headbg.jpg") 0px 0px no-repeat;
  color: Black;
  margin: 0;
  padding: 0;
}

einfach mit

body {
  background: #00f9f9;
}

und entledigen uns des aufgeklappten Buches im Hintergrund. Unsere Seite brüllt uns nun in einem quietschigen Türkiston an.

Das Monobook-Template

Um die Ausgabe des Seitenaufbaus zu steuern, muss man das eigentliche Template MonoBook.php verändern. Hierbei handelt es sich um ein HTML-Dokument, das mit den Inhalten über Platzhalter angefüllt wird. Da uns in der Navigation der Unterpunkt Spenden stört und wir einen Navigationspunkt News anzeigen lassen wollen, müssen wir dazu die Datei DefaultSettings.php öffnen und die Variable $wgNavigationLinks samt der dazugehörigen Parameter in die Datei LocalSettings.php kopieren. Um den Link der Spenden-Seite zu eliminieren, löschen wir einfach die folgende Zeile:

array( 'text'=>'sitesupport', 'href'=>'sitesupport-url' ),

Um einen neuen Navigationspunkt zu erstellen, geben wir in der Browserzeile die URL www.ihre-domain.de/wiki-ordner/index.php/IhrWiki:News ein und erstellen einen neuen Artikel. Achten Sie darauf, dass der Artikel mit dem Namen Ihres Wikis beginnt: IhrWiki:News. Anschließend fügen Sie in LocalSettings.php eine weitere Zeile ein.

array( 'text'=>'news', 'href'=>'news' ),

Haben Sie sich für eine deutschsprachige Version entschieden, muss in der Sprachdatei LanguageDe.php im Verzeichnis languages/ noch die Variable

"news" => "News",

hinzugefügt werden. Sollte der neue Menüpunkt nicht auf der Website erscheinen, ändern Sie die Artikelseite, damit der Cache erneuert wird. Sie sollte nun erscheinen.

Zusammenfassung

MediaWiki ist ein mächtiges Wiki-System, das jedoch auch unerfahrenen Webmastern einen schnellen Einstieg durch eine leichte Installation bietet. Da das MediaWiki aufgrund der Wikipedia immer weiter verfeinert und getestet wird, wird es auch in Zukunft zu einem der besten Wikis zählen. Weitere Anleitungen und Instruktionen befinden sich auf den folgenden Seiten.