Technische Plattformen für Wikis

Aus Wiki2011
Wechseln zu: Navigation, Suche

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

WikiLeserServer.png

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

WikiAutorServer.png

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

WikiAdminServer.png

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

WebAdminServer.png

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:

Schichtenmodell.png

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.

LaTeX.png-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 LaTeX.png-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 LaTeX.png benutzt. So ergibt

<math>\mathbb{R}_c\subseteq U_N:=\bigcup_{i\in\mathbb{N}}I^1(w_i)</math>

das Folgende:


\mathbb{R}_c\subseteq U_N:=\bigcup_{i\in\mathbb{N}}I^1(w_i)

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:


 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}

Es sind so gut wie alle Möglichkeiten der Formatierung wie unter LaTeX.png mit dem Paket der amerikanischen mathematischen Vereinigung (AMS=American Mathematical Society) realisierbar.



\version "2.14.2"
</p>
<pre> <<
   \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
   }
 >>
</pre>
<p>

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 \relative c' { f d f a d f e d cis a cis e a g f e }

Nimmt man an Stelle der Umgebung lilypond die Umgebung lilymidi, so kann man die geschriebene Musik nach anklicken als Midi sogar hören!

\relative c' { f d f a d f e d cis a cis e a g f e }

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.

This is a graph with borders and nodes. Maybe there is an Imagemap used so the nodes may be linking to some Pages.

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>

Navigation

zurück zur Einleitung

  1. Web 2.0 und Kollektive Inhaltsproduktion
  2. Wikis als Beispiel für kollektive Inhaltsproduktion im Web 2.0
  3. Technische Plattformen für Wikis
  4. Wikipedia
  5. Wikipedia - ein Praxistest
  6. Literaturverzeichnis
Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Werkzeuge