Sie befinden sich hier: start » de » Interne Dokumentation » DokuWiki-Erweiterungen (WvdS) » Lebenszyklus der Komponenten » How to: Eine Komponente aktivieren oder deaktivieren

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

  1. Administration → Erweiterungsverwaltung → Installierte Erweiterungen (?do=admin&page=extension).
  2. Die Komponente in der Liste aufklappen.
  3. 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.
Fünf mitgelieferte DokuWiki-Plugins lassen sich nicht abschalten: 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.

Prüfen Sie vor dem Abschalten von 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

de/wiki/dwe/lifecycle/enable.txt · Zuletzt geändert: von 0.0.0.0