Technische Plattformen für Wikis
Inhaltsverzeichnis |
Die Software
Die Wiki-Software ist ein Script (zum Beispiel in php), welches auf einem Server ausgeführt wird. Dabei gliedert sich das Wiki in einzelne kleine Dokumente, die so genannten Wiki-Seiten. Diese Dokumente (bzw. Artikel) bestehen aus einfachem Text, welcher in einer Datei auf dem Server oder auch in einer Datenbank gespeichert wird. Auf dem Server passiert auch die Datenaufbereitung für den Browser, bei welcher dann die Rohdaten durch Html ersetzt werden.
Rollen innerhalb des Wikis
Innerhalb eines Wikis können verschiedene Rollen eingenommen werden, welche sich dann auch eventuell auf unterschiedlichen Ebenen abspielen. So kann man an einem Wiki rein passiv teilnehmen, d.h. nur als Leser, oder auch aktiv als Autor, oder als WikiAdmin oder auch als WebAdmin. Diese verschiedenen Rollen sollen jetzt etwas genauer betrachtet werden. [Wiki]
Wiki Leser - Server
Der Leser stellt seine Anfrage nach einem Artikel an das Wiki-System, welches den entsprechenden Artikel heraussucht und nach Rohdatenaufbereitung zur Verfügung stellt.
Wiki Autor - Server
Durch einen edit-Button kann man eine Wiki-Seite bearbeiten. Hierbei wird dieselbe Seite nochmals geladen, diesmal aber als Rohdaten. Im Allgemeinen sind keine besonderen Programmierkenntnisse erforderlich, um bei einem Wiki als Autor mitzuarbeiten. Spezielle Kenntnisse sind nur bei bestimmten Inhalten erforderlich (siehe auch den Abschnitt über Plugins).
Wiki Admin - Server
Die Hauptaufgabe des WikiAdmins ist, den reibungslosen Ablauf zu gewährleisten und die Inhalte zu pflegen. Daher hat der WikiAdmin auch mehr Rechte als ein normaler User, da er z.B. bei Streitigkeiten eventuell einen User sperren muss, oder auch eventuell eine Seite löschen muss.
Web Admin - Server
Die Aufgabe des WebAdmins besteht darin, das Wiki-System zu installieren, zu warten und ggf. upzudaten. Er kann direkt auf die Wiki-Dateien zugreifen, ohne Umweg über die Wiki-Schnittstelle nehmen zu müssen. Dies kann bei einem fehlerhaften Dateisystem oder einer fehlerhaften Datenbank nötig werden.
Schichtenmodell
Durch die verschiedenen Rollen ergibt sich das folgende Schichtmodell:
- Die unterste Ebene (Infrastruktur, Server, Betriebssystem) wird von System-Admin gepflegt.
- Die Schnittstelle zur Inhaltsgestaltung befindet sich im Client-Bereich
- Die System- und Web-Admins haben direkten Zugriff zum Server
- Die Wiki-Admins, Leser und Autoren benutzen webbasierte Oberfläche
Plugins
Es gibt eine Vielzahl von Plugins, mit welchen die Funktionalität eines Wikis erweitert werden kann. Exemplarisch sollen hier einige ausgewählte Plugins vorgestellt werden. Für die Plugins ist es im Allgemeinen notwendig auf dem Server zusätzliche Programme zu installieren. Die Kommunikation zwischen Plugin und System übernimmt ein php-Konfigurationsskript im Ordner Extensions im Mediawiki Installationsverzeichnis.
-Formeln
Eines der gebräuchlichsten und bekanntesten dürfte das Plugin zum Erstellen mathematischer Formeln in Stile von LaTeX sein. Das zusätzliche Programm, welches man benötigt und welches dann die
-Formeln in eine Bilddatei übersetzt, heißt texvc und wird im Erweiterungspaket von Mediawiki bereits mitgeliefert.
Bei diesem Plugin ist die Syntax der Formeln genauso wie man sie auch in der Seitenbeschreibungssprache
benutzt. So ergibt
<math>\mathbb{R}_c\subseteq U_N:=\bigcup_{i\in\mathbb{N}}I^1(w_i)</math>
das Folgende:
Und (als Beispiel für eine etwas komplexere Formel) ergibt
<math> h_* (p) := \begin{cases}h(w) & \mbox{falls } w \sqsubseteq p \mbox{ und } w \in Def(h)\\ \mathrm{div} & \mbox{falls } w \not\sqsubseteq p \quad\forall w \in Def(h)\end{cases}</math>
das Folgende:
Es sind so gut wie alle Möglichkeiten der Formatierung wie unter
mit dem Paket der amerikanischen mathematischen Vereinigung (AMS=American Mathematical Society) realisierbar.
Wird erzeugt von
<lilypond>
\version "2.14.2"
<<
\new MensuralVoice = "discantus" \transpose c c' {
\override Score.BarNumber #'transparent = ##t {
c'1\melisma bes a g\melismaEnd
f\breve
\[ f1\melisma a c'\breve d'\melismaEnd \]
c'\longa
c'\breve\melisma a1 g1\melismaEnd
fis\longa^\signumcongruentiae
}
}
\new Lyrics \lyricsto "discantus" {
San -- ctus, San -- ctus, San -- ctus
}
>>
</lilypond>
Daneben kann man natürlich auch unsere moderne Notenschrift darstellen. So ergibt
<lilypond>\relative c' { f d f a d f e d cis a cis e a g f e }</lilypond>
als Ergebnis
Nimmt man an Stelle der Umgebung lilypond die Umgebung lilymidi, so kann man die geschriebene Musik nach anklicken als Midi sogar hören!
Es ist also möglich Musik online zu schreiben, ohne daß man ein Notensatzprogramm auf dem eigenen Rechner erforderlich ist. Zugegebenermaßen ist die Sprache von Lilypond etwas gewöhnungsbedürftig.
Als Beispiel für eine etwas längere Partitur sei auf eine Ausgabe von Paganinis Moses-Fantasie (bearbeitet für Violoncello und Klavier) verwiesen: Paganini
Graphen
Auch um Graphen darzustellen gibt es ein Plugin: graphviz. Graphviz selbst ist ein Programm zur Visualisierung von Graphen. Desweiteren benötigt man auf dem Server noch andere Grafikprogramme wie z.B. Imagemagick oder dergleichen.
wird erzeugt von:
<graphviz>
digraph G {
size ="4,4";
main [shape=box]; /* this is a comment */
main -> parse [weight=8];
parse -> execute;
main -> init [style=dotted];
main -> cleanup;
execute -> { make_string; printf}
init -> make_string;
edge [color=red]; // so is this
main -> printf [style=bold,label="100 times"];
make_string [label="make a\nstring"];
node [shape=box,style=filled,color=".7 .3 1.0"];
execute -> compare;
}
</graphviz>




