WaBis

walter.bislins.ch

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.
Weitere Infos zur Seite
Erzeugt Montag, 22. Juni 2009
von wabis
Zum Seitenanfang
Geändert Samstag, 18. Juli 2015
von wabis