Lebenszyklus der Komponenten
Jede Erweiterung dieses Hauses ist ein gewöhnliches DokuWiki-Plugin oder ein gewöhnliches DokuWiki-Template. Dieser Bereich beschreibt, wie Sie eine davon installieren, aktivieren, aktualisieren und wieder entfernen — mit dem Nachweis, woran Sie in jedem Schritt erkennen, dass er gewirkt hat.
Erste Schritte
Eine Komponente installieren — der vollständige Weg von einer frischen DokuWiki-Instanz bis zur nachgewiesen laufenden Komponente.
Voraussetzungen prüfen → Abhängigkeiten zuerst → Paket beziehen → Installieren → Erstkonfiguration → Ergebnis prüfen
Häufige Aufgaben
| Ihre Frage | Antwort |
|---|---|
| Ich habe eine frische DokuWiki-Instanz — wie bekomme ich eine Komponente sauber hinein? | Eine Komponente installieren |
| In welcher Reihenfolge muss ich mehrere Komponenten installieren? | Die Abhängigkeiten zuerst |
| Wo schalte ich eine Komponente ab, und was fällt dadurch weg? | How to: Eine Komponente aktivieren oder deaktivieren |
| Wie spiele ich eine neue Fassung ein, ohne Daten zu verlieren? | Eine Komponente aktualisieren |
| Wie komme ich auf den Stand von vorher zurück? | Wenn es schiefgeht |
| Wie entferne ich eine Komponente, und was bleibt danach liegen? | Eine Komponente entfernen |
| Was gilt genau für diese eine Komponente? | Komponentenmatrix |
| Die Installation hat nicht gewirkt — woran liegt das? | Fehlerdiagnose |
Aufbau einer Installation
Was eine Installation berührt, liegt an vier Orten. Sie zu kennen ist die halbe Miete: der erste wird beim Installieren geschrieben, die drei übrigen überleben eine Deinstallation.
<html>
<div style="display:grid;grid-template-columns:repeat(2,minmax(200px,1fr));min-width:460px">
<div style="border-right:1px solid #e3e6ec;border-bottom:1px solid #e3e6ec;padding:10px 12px">
<div style="font:600 12px/1.4 system-ui,sans-serif;color:#3b4252">1 lib/plugins/<kennung>/</div>
<div style="font:11px/1.5 system-ui,sans-serif;color:#5b6472">der Programmcode — das Einzige, was eine Deinstallation entfernt</div>
</div>
<div style="border-bottom:1px solid #e3e6ec;padding:10px 12px">
<div style="font:600 12px/1.4 system-ui,sans-serif;color:#3b4252">2 conf/</div>
<div style="font:11px/1.5 system-ui,sans-serif;color:#5b6472">Ein/Aus in plugins.local.php, Einstellungen in local.php, eigene Dateien einzelner Komponenten</div>
</div>
<div style="border-right:1px solid #e3e6ec;padding:10px 12px">
<div style="font:600 12px/1.4 system-ui,sans-serif;color:#3b4252">3 data/dwdo/</div>
<div style="font:11px/1.5 system-ui,sans-serif;color:#5b6472">SQLite-Datenbanken der Komponenten, samt data/dwdo/backup/</div>
</div>
<div style="padding:10px 12px">
<div style="font:600 12px/1.4 system-ui,sans-serif;color:#3b4252">4 data/meta/, data/<kennung>/</div>
<div style="font:11px/1.5 system-ui,sans-serif;color:#5b6472">Seitenmetadaten und schreibbare Inhalte einzelner Komponenten</div>
</div>
</div>
</html>
| Ort | Was dort liegt | Beim Entfernen |
|---|---|---|
| 1 | Der Programmcode. Der Verzeichnisname ist die Kennung der Komponente und darf nicht abweichen. | wird gelöscht |
| 2 | conf/plugins.local.php hält Ein/Aus, conf/local.php die Einstellungen. Einzelne Komponenten legen eigene Dateien daneben. | bleibt liegen |
| 3 | Die Datenbanken. Angelegt wird data/dwdo/ von wkstorage, gefüllt von den Komponenten, die darauf aufsetzen. | bleibt liegen |
| 4 | Seitenmetadaten und schreibbare Inhalte — Textbausteine, Themes, Anmeldegeheimnisse. | bleibt liegen |
Welche Komponente welchen dieser Orte benutzt, steht in der Komponentenmatrix.
Was hier geregelt ist
- Ein Verfahren für alle Komponenten. Installation, Aktivierung, Aktualisierung und Entfernung laufen für jede Komponente dieses Hauses gleich ab. Was sich unterscheidet — Abhängigkeiten, Erstkonfiguration, Funktionsprüfung, Datenbestand — steht je Komponente in einer Matrix, nicht in siebenundzwanzig Anleitungen.
- Kein Eingriff in DokuWiki. Keine Komponente ändert etwas unterhalb von
inc/,doku.php,lib/exe/,lib/scripts/odervendor/. Eine DokuWiki-Aktualisierung ersetzt deshalb genau das, was sie ersetzen soll. - Nachweisbare Ergebnisse. Jeder Schritt nennt das Zeichen, an dem Sie ihn als gelungen erkennen. Eine Komponente, die installiert aussieht, aber nicht lädt, ist der häufigste Fehlerfall überhaupt — er sieht aus wie Erfolg.
- Vorwärts gerichtete Migrationen mit Sicherung. Schemaänderungen laufen automatisch und einmalig; vor der ersten Änderung wird die Datenbankdatei kopiert. Eine Rücknahme ist das Zurückspielen dieser Kopie, kein Rückwärtsschritt im Schema.
Grundbegriffe
Eine Komponente ist ein DokuWiki-Plugin oder -Template dieses Hauses. Ihre Kennung ist der Wert des Feldes base in plugin.info.txt bzw. template.info.txt; sie bestimmt zugleich den Verzeichnisnamen, den Namen im Erweiterungsmanager und den Schlüssel in der Konfiguration.
Die Komponenten sind nicht ineinander verbaut, sondern melden ihre Dienste bei wkcore an und holen sich die Dienste anderer von dort. Eine fehlende Komponente führt daher in der Regel nicht zu einem Fehler, sondern zu einer fehlenden Fähigkeit — die Oberfläche ist schlichter, ein Merkmal ist nicht da. Welche Abhängigkeit hart und welche weich ist, entscheidet, ob eine Komponente ohne die andere gar nicht arbeitet oder nur weniger kann; beides steht je Komponente in der Abhängigkeitstabelle.
Administration
- Eine Komponente installieren — Voraussetzungen, Bezugsquelle, Installationswege, Erstkonfiguration, Funktionsprüfung.
- How to: Eine Komponente aktivieren oder deaktivieren — wo der Schalter sitzt, was er bewirkt und was er nicht bewirkt.
- Eine Komponente aktualisieren — Sicherung, Updateweg, Migrationen, brechende Änderungen, Verifikation, Rücknahme.
- Eine Komponente entfernen — Deaktivierung, Entfernung, verbleibende Daten, sichere Bereinigung.
- Komponentenmatrix — je Komponente: Abhängigkeiten, Erstkonfiguration, Funktionsprüfung, Datenbestand, Migrationen, Reste.
Fehlerdiagnose
Für Entwickler
- Komponentenmatrix — Dienstnamen, Konfigurationsschlüssel und Speicherorte je Komponente.
README.mdim Verzeichnis jeder Komponente — deren eigene, maßgebliche Angaben zu Voraussetzungen und Installation.docs/im Verzeichnis jeder Komponente — Überblick, Tutorial, How-to, Referenz und Fehlerdiagnose der Komponente selbst.
Verwandte Themen
- Erweiterungen dieses Hauses — die Startseite mit allen Komponenten und ihrer eigenen Dokumentation.
- Komponentenmatrix — die maßgebliche Aufstellung je Komponente.
- Fehlerdiagnose — Symptome rund um Installation und Aktualisierung.