# Dokumentation – Semantic MediaWiki "Opera Camerarii"
## Technisches
### Hosting und Systeminformationen
* Gehostet auf der Wikifarm des ZPD, welche auf der Kallimachos-VM läuft
* Genutzte Versionen (MediaWiki / Semantic MediaWiki / ...) sind unter [Spezial:Version](kallimachos.de/camerarius/index.php/Spezial:Version) abrufbar
* Update der Versionen und Umbau der Hostingarchitektur ist angedacht, jedoch derzeit noch ohne konkreten Terminplan
### Extensions
Unter [Spezial:Version](kallimachos.de/camerarius/index.php/Spezial:Version) werden sämtliche Extensions angezeigt, die auf der WikiFarm installiert und aktiviert sind.
In folgender Tabelle werden ausschließlich Extensions aufgelistet, welche aktiv in "Opera Camerarii" verwendet werden.
| Extension | Kommentar
| -------- | --------
| Semantic Compound Queries | Benötigt für kombinierte Abfragen
| Semantic Drilldown | Verwendet für die Drilldown-Ansichten
| Semantic MediaWiki | /
| Semantic Result Formats | Verwendet für "spezielle" Anzeigeformate (z.B. Baumdarstellung der [Schlagworte](http://kallimachos.de/camerarius/index.php/Kategorie:Register))
| Data Transfer | Wurde für CSV-Importe bei der Befüllung des Wikis genutzt.
| Echo | Benachrichtungen (via Mail oder über die UI) bei z.B. User-Kommentaren
| Page Forms | Formulare zur Eingabe / Korrektur von Daten
| Replace Text | Wurde für "Seach and Replace"-Operationen genutzt.
| Arrays | Stellt Array-Datenstruktur in MediaWiki bereit
| CommentStreams | Grundlage der Kommentarfunktion im Wiki
| Header Tabs | Wird nur für die Anzeige im internen Skin verwendet.
| Maps | Ermöglicht die Kartenanzeigen (in aktuellen SMW-Versionen mit "Semantic Result Formats" gemerged!)
| ParserFunctions | Erlaubt u.a. Stringmanipulationen. Nur an wenigen Stellen eingesetzt
| Variables | Erlaubt das Verwenden von Variablen im MediaWiki
| ConfirmEdit | Wird in diesem Wiki primär für das Bereitstellen von Captchas für die Benutzerverwaltung genutzt
| Bootstrap | Wird vom Skin "Tweeki" automatisch mitinstalliert
| WikiEditorCamerarius | Fork der [WikiEditor](https://www.mediawiki.org/wiki/Extension:WikiEditor)-Erweiterung mit angepasstem Zeichensatz
Alle der verwendeten Extensions werden auch unter aktuellen MediaWiki / Semantic MediaWiki-Versionen unterstützt bzw. deren Funktionalität wurden in Semantic MediaWiki selbst oder in anderen Extensions übernommen (siehe z.B. *Maps*-Extension)
## Präsentation
* Die interne Editionsansicht nutzt den Standard-MediaWiki-Skin [Vector](https://www.mediawiki.org/wiki/Skin:Vector). Dieser sollte per default für eingeloggte Benutzer bestimmter Gruppen ausgewählt sein (falls er nicht manuell gewechselt wird, was jedoch nur für Benutzer mit gesonderten Rechten möglich ist).
* In dieser Ansicht werden alle Formulare angezeigt, welche für die Datenbearbeitung notwendig sind. Auch diverse Attribute und Felder, welche nur für Bearbeiter interessant sind, werden hier angezeigt.
* Die Präsentationsansicht (welche nicht eingeloggte Besuche der Seite sehen) nutzt den auf Bootstrap basierenden [Tweeki](https://github.com/thaider/Tweeki)-Skin.
* Weitere Anpassungen an der Oberfläche (wie z.B. die Anzeige und Funktionalität des Feedback-Buttons / "Scroll Up"-Buttons oder das Einblenden / Ausblenden verschiedener Informationen) erfolgen über:
* http://kallimachos.de/camerarius/index.php/MediaWiki:Common.js
* http://kallimachos.de/camerarius/index.php/MediaWiki:Common.css
* Die hier durchgeführten Anpassungen sind rein visueller Natur und greifen nicht in die grundlegende Funktionsweise des Wikis ein!
## Datenmodell
* Das Datenmodell orientiert sich stark am "vorgegebenen" Aufbau von MediaWiki + Semantic MediaWiki
* Eine Seite kann über eine [Vorlage](http://kallimachos.de/camerarius/index.php/Spezial:Vorlagen) erstellt werden, welchem eine [Formular](http://kallimachos.de/camerarius/index.php/Spezial:Formulare) zur Befüllung zugeordnet werden kann
* Eine Seite **kann** einer oder mehreren Kategorien zugeordnet sein.
* Gesetzte [Attribute](http://kallimachos.de/camerarius/index.php/Spezial:Attribute) besitzen einen bestimmten Datentyp, der auch deren Anzeige beeinflusst.
* Bestimmte Seiten können in einem [Konzept](http://kallimachos.de/camerarius/index.php/Spezial:Konzepte) zusammengefasst werden. Hierdurch können Abfragen performanter gestellt werden.