How to: Eine Komponente aktivieren oder deaktivieren
Aufgabe
Sie wollen eine installierte Komponente stilllegen, ohne sie zu entfernen — zur Fehlereingrenzung, weil ein Merkmal vorerst nicht gebraucht wird, oder um vor einer Aktualisierung Ruhe herzustellen. Oder umgekehrt: eine stillgelegte wieder in Betrieb nehmen.
Lösungsweg im Überblick
DokuWiki hält den Ein/Aus-Zustand in conf/plugins.local.php. Diese Datei enthält nur Abweichungen: Ein Plugin ohne Eintrag ist aktiv. Erst $plugins['<kennung>'] = 0; schaltet es ab. Die Datei wird von der Erweiterungsverwaltung geschrieben — bearbeiten Sie sie nur, wenn Sie keinen Bildschirmzugang haben.
Templates kennen kein Ein/Aus. Ein Template ist aktiv, weil es in der Einstellung template steht; „deaktivieren„ heißt dort, ein anderes auszuwählen.
Durchführung
Am Bildschirm
- Administration → Erweiterungsverwaltung → Installierte Erweiterungen (
?do=admin&page=extension). - Die Komponente in der Liste aufklappen.
- Deaktivieren bzw. Aktivieren wählen.
Der Zustand steht danach in conf/plugins.local.php.
Auf der Kommandozeile
php bin/plugin.php extension disable wkblog php bin/plugin.php extension enable wkblog php bin/plugin.php extension list # Statusspalte: d = deaktiviert
Ein Template wechseln
Administration → Konfiguration (?do=admin&page=config), Einstellung template. Das ausgewählte Template ist aktiv; alle anderen installierten sind es nicht. Ein Template lässt sich nicht abschalten, ohne ein anderes auszuwählen — ohne Template kann DokuWiki keine Seite zeichnen.
Ergebnis prüfen
Ein deaktiviertes Plugin verschwindet aus der Erweiterungsverwaltung nicht, sondern wird dort als deaktiviert geführt (Kommandozeile: Status d). Der belastbarere Nachweis ist die Wirkung: Der Menüeintrag, die Auszeichnung oder der Dienst aus der Tabelle zur Funktionsprüfung ist weg. Bei einer speichernden Komponente prüfen Sie zusätzlich ?do=wkcore_diag (mit $conf['allowdebug'] = 1): Ihr Dienst darf dort nicht mehr aufgeführt sein.
Hinweise
Was das Deaktivieren bewirkt — und was nicht
| Betroffen | Wirkung |
|---|---|
| Programmcode | Wird nicht mehr geladen. Ereignisse werden nicht mehr abonniert, Dienste nicht mehr angemeldet, Auszeichnungen nicht mehr erkannt. |
| Seiteninhalt | Bleibt unverändert. Die Auszeichnung einer abgeschalteten Komponente steht weiterhin im Quelltext und erscheint auf der gerenderten Seite als Rohtext, sobald der Seitencache erneuert wird. |
| Einstellungen | Bleiben in conf/local.php stehen und wirken sofort wieder, wenn Sie die Komponente erneut aktivieren. |
| Daten | Bleiben vollständig erhalten — Datenbanken unter data/dwdo/, Dateien unter data/meta/ und data/<kennung>/. Deaktivieren löscht nichts. |
| Zeitgesteuerte Arbeit | Fällt aus. Aufräumarbeiten, die eine Komponente an gewöhnlichen Seitenaufrufen aufhängt — etwa das Verfallenlassen alter Zugriffsvermerke —, laufen nicht mehr. Sie holen das nicht nach; sie setzen bei der Wiederinbetriebnahme dort ein, wo sie stehen. |
acl, authplain, extension, config und usermanager. Ihr Zustand steht in conf/plugins.required.php und überschreibt jede lokale Einstellung. Diese Datei wird bei einer DokuWiki-Aktualisierung überschrieben — ändern Sie sie nicht.
Abhängigkeiten
Eine Komponente abzuschalten, auf die andere aufsetzen, wirkt nach oben durch. Die Suite ist darauf ausgelegt: Ein fehlender Dienst führt in der Regel nicht zu einem Fehler, sondern zu einer fehlenden Fähigkeit. Der Unterschied zwischen hart und weich entscheidet, welches von beiden eintritt.
| Sie schalten ab | Was dann geschieht |
|---|---|
wkcore | Die Dienstvermittlung fällt weg. Jede andere Komponente dieses Hauses verliert damit die Dienste der anderen. Speichernde Komponenten verlieren ihren Zugang zu storage.sqlite und blenden ihre speichernden Funktionen aus, statt beim Absenden zu scheitern. |
wkstorage | wkdostorage, wkvault, wkresource und wkrequest haben keine Datenbank mehr. Die vorhandenen Dateien werden nicht angefasst. |
wkdostorage | Der gesamte DevOps-Teil verliert Projekte, Arbeitsaufträge, Beziehungen und Vermerke. |
wkdocore | Es gibt keinen Projektkontext mehr; die Naben der DevOps-Komponenten verschwinden. |
wkdoworkitems | wkdoboards hat nichts anzuzeigen und keine Regeln anzuwenden, wkdoqueries nichts abzufragen. |
wksqliteds | wkblog wird bewegungslos: Der Blog führt seine gesamte Speicherung über benannte SQL-Routinen aus und hat keinen Ersatzweg. |
wkfluentui | Oberflächen werden schlichter: wkacmenu liefert eine flache, nicht sortierbare Liste statt eines bedienbaren Baumes; wkrequest zeichnet einfaches HTML; Werkbank-Abzeichen und Befehlspalettenbefehle entfallen. Funktion und Rechte bleiben unberührt. |
wki18n, wkimage, wkopengraph, wksourceview, wkvault, wkidentity | Sind für andere Komponenten durchweg optional. Es entfällt jeweils genau die eine Fähigkeit, die sie beisteuern. |
Die vollständige Aufstellung, welche Abhängigkeit hart und welche weich ist, steht in der Abhängigkeitstabelle.
wkidentity, ob Sie sich danach noch anmelden können. Ist enforce_login gesetzt, verlangt die Anmeldung einen zweiten Faktor; das Abschalten nimmt diese Anforderung zwar weg, doch das Wiederherstellen eines verlorenen Faktors läuft über dieselbe Komponente. Ein zweites Administratorkonto ist hier keine formale Voraussetzung, aber der Unterschied zwischen einer Wiederherstellung über das Wiki und einer über das Dateisystem.
Verwandte Themen
- Komponentenmatrix — Abhängigkeiten, Funktionsprüfung und Datenbestand je Komponente.
- Eine Komponente entfernen — wenn die Komponente dauerhaft weg soll. Die Deaktivierung ist dort der erste Schritt.
- Meldungen über fehlende Dienste — was zu tun ist, wenn nach dem Abschalten Hinweise auftauchen.
- Eine Komponente installieren — Voraussetzungen und Installationsreihenfolge.