Aufbau einer Wiki-Instanz
Auf einer Website lassen sich beliebig viele Wiki-Instanzen erzeugen. Die Wiki Software, also die Wiki-Engine, muss nur einmal vorhanden sein. Jede Wiki-Instanz entspricht einem eigenen Wiki mit eigener Konfiguration. Die Wikis einer Website lassen sich jedoch per Config-Datei beliebige gruppieren, sodass die Seiten der verschiedenen Wikis untereinander verlinkt werden können.
Eine Wiki-Instanz entspricht einem ASP-File, welches den nachfolgenden Aufbau hat. Der Aufruf dieses ASP-Files per URL im Browser entspricht dem Aufruf des enstprechenden Wikis der Website.
ASP-File einer Wiki-Instanz
Die folgenden Verzeichnisse sind für das Beispiel definiert:
- /wiki_app/
- enthält die Wiki-Engine (alle *.inc Dateien usw.)
- /demo/
- enthält das ASP-File der Demo Wiki-Instanz index.asp
- /demo/shared/
- enthält alle Dateien, die mit allen Wiki-Instanzen geteilt werden
- /demo/shared/layout/
- enthält die Dateien, die das Layout der Seite erzeugen (layout.inc, styles.css)
- /demo/shared/wiki_data/
- enthält die Config-Datei und die Datei mit den Registrierten Usern
index.asp im Verzeichnis /demo/
<%@ Language=VBScript %>
<% option explicit %>
<!--#include file="../demo/shared/wikidefaults.inc" -->
<!--#include file="../demo/shared/layout/layout.inc" -->
<%
' Wiki configuration
WIKI_ID = "Demo"
WIKI_ROOT = "../"
TOOLBAR_POSITION = ""
SHOW_BLIND_LINKS = true
%>
<!--#include file="../wiki_app/lang_de.inc" -->
<!--#include file="../wiki_app/wikiengine.inc" -->
Beschreibung
Die markierten includes sind nötig, um eine Wiki-Instanz zu bilden. Alle Pfade sind relativ zum ASP-File index.asp:
- wikidefaults.inc
- definiert alle konfigurierbaren Variablen und besetzt sie mit Standardwerten, welche im ASP-File oder per Config-Datei überschrieben werden können.
- lang_de.inc
- Enthält alle sprachabhängigen Texte. Durch das Austauschen dieser Datei kann das Wiki in einer beliebigen anderen Sprache betrieben werden.
- wikiengine.inc
- Enthält die Wiki-Engine, welche die eigentliche Wiki-Anwenung programmiert.
- layout.inc
- Ist eine Datei, in der das Seitenlayout des Wikis programmiert ist. Alle Wiki-Instanzen, die dasselbe Aussehen haben sollen, können dasselbe layout.inc verwenden.
- index.asp
- Hier müssen ein paar Wiki-spezifische Einstellungen vorgenommen werden, die wichtigsten sind oben aufgeführt.
Konfiguration der Wiki-Instanz
Viele Einstellungen lassen sich in der Config-Datei tätigen. Einige müssen jedoch im ASP-File einer Wiki-Instanz gemacht werden, damit die Config-Datei überhaupt gefunden wird und das Wiki dort seine spezielle Einstellungen finden kann. Die folgenden zwei Einstellungen sind zwingend:
Zwingende Einstellungen
- WIKI_ROOT = "../"
- Pfad des Wurzel-Verzeichnisses relativ zum ASP-File. Von diesem Wurzel-Verzeichnis aus werden alle anderen Dateien gesucht. Da sich in diesem Beispiel das ASP-File im Verzeichnis /demo/ befindet, erreicht man das Wurzelverzeichnis mit der Angabe "../".
- WIKI_ID = "Demo"
- Eindeutiger Name für das Wiki. Unter diesem Namen findet das Wiki seine Einstellungen in der Config-Datei. Ausserdem werden aus diesem Namen einige Arbeits-Verzeichnisse abgeleitet, wenn sie nicht explizit an anderer Stelle (Wikidefaults.inc, Config-Datei, ASP-File) definiert sind.
Wiki-Defaults
In der Datei /demo/shared/wikidefaults.inc werden Wiki-Einstellungen vorgenommem, welche für alle Wiki-Instanzen einer Website gelten sollen. Sie sieht z.B. wiefolgt aus:
wikidefaults.inc
<!--#include file="../../wiki_app/wikiglobals.inc" -->
<%
'---------------------------------------------------------------------
' Common definitions
WEBSITE_ID = "My Name"
HTML_PUBLISHER = "My Name: http://www.mysite.com"
' paths relative to WIKI_ROOT:
WIKI_CONFIG = "demo/shared/wiki_data/wikiconfig.txt"
WIKI_USERS = "demo/shared/wiki_data/wikiusers.txt"
CACHE_ROOT = "demo/shared/wiki_cache/"
INDEX_ROOT = "demo/shared/wiki_index/"
JSMATH_PACKET = "jsMath/easy/load.js"
'MATHJAX_PACKET = "MathJax/MathJax.js"
'MATHJAX_PACKET = "http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"
%>
Einstellungen
- WIKI_CONFIG = "demo/shared/wiki_data/wikiconfig.txt"
- Pfad zur Config-Datei relativ zu WIKI_ROOT. Wenn diese Variable nicht definiert wird, wird keine Config-Datei eingelesen und es erscheint eine Fehlermeldung.
- WIKI_USERS = "demo/shared/wiki_data/wikiusers.txt"
- Pfad relativ zu WIKI_ROOT zu einer Datei, in der Benutzer mit ihren Zugriffsrechten auf die Wikis aufgelistet werden. Wird diese Variable nicht definiert erscheint eine Fehlermeldung.
- CACHE_ROOT = "demo/shared/wiki_cache/"
- An diesem Ort werden die ins HTML-Format umgewandelten Wiki-Seiten zwischengespeichert. Diese Seiten werden angezeigt, solange die zugehörige Wiki-Seite nicht verändert wird. Dadurch erspart man sich das Umwandeln von Wiki nach HTML bei jedem Aufruf.
- INDEX_ROOT = "demo/shared/wiki_index/"
- An diesem Ort werden die Such-Indizes der Seiten abgelegt.
Es empfiehlt sich aus Datenschutzgründen, die obigen Ordner und Dateien in einem Verzeichnis auf dem Server abzulegen, das per Browser nicht erreichbar ist!
- JSMATH_PACKET = "jsMath/easy/load.js"
- Falls das Mathematik-Modul installiert werden soll, muss dieser Pfad angegeben werden.
Weitere Einstellunen
- ENABLE_EDIT = true
- Wenn das Wiki nicht editiert werden soll, kann dieser Wert auf false gesetzt werden.
- ENABLE_UPLOAD = true
- Aktiviert die Upload-Funktion.
- EDIT_LOCKED = false
- Ermöglicht das Editieren per mit #LOCKED gesperrter Seiten.
- TEXTEDIT_LINES = 25
- Gibt die Grösse des Editier-Fensters in Anzahl Zeilen an.
- TOOLBAR_POSITION = "top"
- Gibt die Position (top, middle, bottom) des Wiki-Toolbar an. Mit "" kann der Toolbar auch deaktiviert werden, zum Beispiel wenn die Funktionen in einem Menu auf der Seite zur Verfügung gestellt werden.