Installierte Plugins

Auf dieser Seite sind Plugins beschrieben, die zusätzlich zu den Standardplugins installiert wurden. Hier sind jedoch lediglich vorgenommene Änderungen und Installationshinweise beschrieben, Nutzung und Funktionen der Plugins sind auf der Seite Hilfe und Dokumentation (Abschnitt Plugins) erläutert.

ckgedit

Dieses Plugin stellt neben dem Standard-Dokuwiki-Editor einen komfortableren WYSIWYG-Editor zur Verfügung, um die Artikelbearbeitung auch weniger computerversierten Personen zu ermöglichen.

In diesem Plugin müssen die vier Softlinks aus dem Verzeichnis lib/plugins/fckg/fckeditor/userfiles gelöscht werden. Diese werden dann bei der ersten Benutzung des Wikis korrekt neu erzeugt.

Die Benutzung des ckg-Editors (früher: FCK-Editor) ist im Artikel CKG-Editor beschrieben.

inclform

Über das Plugin inclform werden die Berechnungsformulare in die einzelnen Wiki-Seiten eingebunden.

In der Datei conf/dokuwiki.php wird der Dateipfad definiert, unter dem die Formulare zu finden sind. Diese Konfiguration ist normalerweise schon vorgenommen. Sollten die Berechnungsformulare trotzdem nicht angezeigt werden, prüfen Sie, ob in der genannten Datei der Eintrag

$conf['formdir'] = 'data/media/berechnungen';

vorhanden ist. Beachten Sie, dass diese Einstellung nicht über den normalen Verwaltungsbereich möglich ist und direkt von Hand in der Datei vorgenommen werden muss.

Damit die Synchronisation neuer Berechnungsformulare mit der Online-Variante funktioniert, muss außerdem die Datei conf/mime.conf mit dem Inhalt

php text/php

editiert werden. Beachten Sie, dass Sie diese Einstellung auf keinen Fall in über das Internet bearbeitbaren Wiki-Versionen vornehmen, da dies ein schweres Sicherheitsrisiko darstellen kann. Aus diesem Grund ist diese Funktion auch auf den Einsatzleiterwiki-Servern deaktiviert und es können keine neuen oder geänderte Berechnungsformulare hochgeladen werden! Weitere Informationen zur Definition erlaubter Dateitypen finden Sie hier in der offiziellen DokuWiki-Dokumentation.

Die Benutzung des inclform-Plugins ist im Artikel inclform beschrieben.

sync

Das sync-Plugin musste geringfügig modifiziert werden; während der Synchronisation werden normalerweise alle Artikel im eigenen sowie im entfernten Wiki gegen Bearbeitung gesperrt. Damit soll verhindert werden, dass während der Synchronisation eine Änderung stattfindet, da nach erfolgter Sychronisation alle zwischenzeitlich von Hand geänderten Artikel wieder überschrieben wären. Da der Zugriff auf das Wiki unter sync.einsatzleiterwiki.de nur lesend erfolgen kann, ist eine Artikelsperre nicht möglich, da hierzu Bearbeitungsrechte notwendig wären.

Da in das geschlossene Wiki nur von einer Person Änderungen eingetragen werden und dies ebenfalls über Synchronisation erfolgt, ist ein Bearbeitungskonflikt auszuschließen. Aus diesem Grund wird die Funktion zur Sperrung der Artikel entfernt, da eine Synchronisation mit nur lesenden Rechten nicht möglich wäre.

Im Quelltext in der Datei lib/plugins/sync/admin.php müssen folgende Bereiche wie folgt auskommentiert werden:

/* Lock-Funktion aus Kompabilitätsgründen entfernen
function _lockFiles(&$synclist){
if(!$this->_connect()) return array();
// lock the files
$lock = array();
foreach((array) $synclist as $id => $dir){
if($dir == 0) continue;
if(checklock($id)){
$this->_listOut($this->getLang('lockfail').' '.hsc($id),'error');
unset($synclist[$id]);
}else{
lock($id); // lock local
$lock[] = $id;
}
}
// lock remote files
$ok = $this->client->query('dokuwiki.setLocks',array('lock'=>$lock,'unlock'=>array()));
if(!$ok){
$this->_listOut('failed RPC communication');
$synclist = array();
return array();
}
$data = $this->client->getResponse();
foreach((array) $data['lockfail'] as $id){
$this->_listOut($this->getLang('lockfail').' '.hsc($id),'error');
unset($synclist[$id]);
}
return $lock;
}
*/

/* Lock-Funktion aus Kompabilitätsgründen entfernen
if($type == 'pages')
$lock = $this->_lockfiles($synclist);
*/

/* Lock-Funktion aus Kompabilitätsgründen entfernen
if($type == 'pages'){
foreach((array) $synclist as $id => $dir){
unlock($id);
}
$this->client->query('dokuwiki.setLocks',array('lock'=>array(),'unlock'=>$lock));
}
*/

Die Benutzung wird im Artikel sync-Plugin: Datenbestand des lokalen Wikis mit dem Einsatzleiterwiki-Server synchronisieren beschrieben.

Tracedump:

newBaseSize: 16pt
newBaseSizeInPt: 16