Aufgabe 01 - Erweiterungspunkte finden
Aufgabe 01 - Erweiterungspunkte finden
Abschnitt betitelt „Aufgabe 01 - Erweiterungspunkte finden“Worum geht es?
Abschnitt betitelt „Worum geht es?“Sie untersuchen ein installiertes Content Management System auf seine Erweiterungspunkte und entscheiden für konkrete Anforderungen, an welcher Stelle und auf welcher Stufe man eingreift (siehe Kapitel CMS und Backend-Systeme erweitern). Nicht das Programmieren steht im Mittelpunkt, sondern die Entscheidung davor - die im Berufsleben teurer ist als der Code, der ihr folgt.
Was Sie dafür brauchen
Abschnitt betitelt „Was Sie dafür brauchen“- Kapitel CMS und Backend-Systeme erweitern, vollständig.
- Ein installiertes CMS in der eigenen Umgebung (Stand aus der 4. Klasse) mit Zugriff auf das Dateisystem.
Welche Kompetenzen Sie erwerben und zeigen
Abschnitt betitelt „Welche Kompetenzen Sie erwerben und zeigen“- Sie ordnen eine Anforderung dem passenden Erweiterungspunkt zu.
- Sie wählen zwischen Konfigurieren, Erweitern, Überschreiben und Forken und begründen die Wahl mit dem Wartungsaufwand.
- Sie beurteilen, ob eine bestehende Erweiterung update-sicher gebaut ist.
Pädagogische Einordnung
Abschnitt betitelt „Pädagogische Einordnung“- Reproduktion: Erweiterungspunkte des Systems benennen und im Dateisystem auffinden (Teil A).
- Reorganisation und Transfer: Anforderungen den Erweiterungspunkten zuordnen und die Stufe bestimmen (Teil B).
- Reflexion, Problemlösung und Urteilsbildung: fremden Code auf Update-Sicherheit prüfen und die Entscheidung begründen (Teile C und D).
Arbeitsaufträge
Abschnitt betitelt „Arbeitsaufträge“Die Übung ist auf etwa zwei Stunden ausgelegt. Teil D ist der Expertenteil.
Teil A - Bestandsaufnahme
Abschnitt betitelt „Teil A - Bestandsaufnahme“- Erstellen Sie eine Übersicht Ihres CMS: Version, Verzeichnis des Kerns, Verzeichnis der Erweiterungen, Verzeichnis der Themes/Templates, Ort der Konfiguration.
- Listen Sie die installierten Erweiterungen mit Version und Zweck auf. Markieren Sie, welche davon aktuell tatsächlich gebraucht werden.
- Finden Sie in der Dokumentation Ihres Systems für jeden der vier Erweiterungspunkte (Inhaltsmodell, Hooks/Events, Templates, Schnittstellen) die zuständige Stelle und notieren Sie den Link.
- Ermitteln Sie, welche Dateien des Kerns bei einem Update ersetzt werden. Prüfen Sie mit einem Vergleich gegen eine unveränderte Kopie der gleichen Version, ob in Ihrer Installation Kern-Dateien verändert wurden.
Teil B - Anforderungen zuordnen
Abschnitt betitelt „Teil B - Anforderungen zuordnen“Ordnen Sie jede der folgenden Anforderungen einem Erweiterungspunkt zu, bestimmen Sie die niedrigste ausreichende Stufe (konfigurieren / erweitern / überschreiben / forken) und begründen Sie beides in je zwei Sätzen:
- Auf der Startseite sollen die drei neuesten Projekte statt der neuesten Beiträge erscheinen.
- Jeder Beitrag braucht ein Feld „Auftraggeber”, das in der Übersicht filterbar ist.
- Beim Veröffentlichen eines Beitrags soll eine Nachricht an einen Chat-Kanal gehen.
- Ein Formular soll Eingaben zusätzlich gegen eine eigene Regel prüfen (Projektnummer im Format
P-2026-001). - Eine mobile App soll die Projektliste als JSON abrufen können.
- Autorinnen und Autoren dürfen Beiträge einreichen, aber nicht veröffentlichen.
- Die Schriftgröße der Überschriften im gekauften Theme ist zu klein.
Teil C - Ein Hook in der Praxis
Abschnitt betitelt „Teil C - Ein Hook in der Praxis“- Finden Sie in Ihrem CMS einen Filter und eine Aktion und beschreiben Sie beide: Wann werden sie aufgerufen, was bekommen sie, was erwartet das System zurück?
- Hängen Sie sich mit einer minimalen eigenen Erweiterung (eigenes Verzeichnis, Metadaten, Präfix) an eine Aktion beim Speichern von Inhalten und schreiben Sie einen Eintrag ins Log. Belegen Sie das Ergebnis mit dem Logauszug.
- Bauen Sie absichtlich den typischen Filter-Fehler ein: etwas tun, aber nichts zurückgeben. Beschreiben Sie, was passiert und warum es keine Fehlermeldung gibt.
- Beantworten Sie in drei Sätzen: Warum gehört eine Bildkonvertierung nicht in eine Aktion, die beim Speichern läuft, und wohin dann?
Teil D - Expertenteil: Update-Sicherheit beurteilen
Abschnitt betitelt „Teil D - Expertenteil: Update-Sicherheit beurteilen“- Wählen Sie eine installierte Erweiterung eines Drittanbieters aus, die im Quellcode vorliegt.
- Prüfen Sie sie anhand von fünf Kriterien und belegen Sie jedes mit einer Codestelle: eigene Präfixe, keine Änderungen am Kern, Ausgaben maskiert, Berechtigungsprüfung serverseitig, Aufräumen bei Deinstallation.
- Ermitteln Sie Lizenz und Herkunft der Erweiterung. Beantworten Sie: Dürften Sie sie ändern und die geänderte Fassung weitergeben? Woran erkennen Sie das?
- Verfassen Sie ein Kurzgutachten von etwa 15 Zeilen: Würden Sie diese Erweiterung in einem Kundenprojekt einsetzen? Falls ja, unter welchen Bedingungen; falls nein, welche Alternative und welcher Mehraufwand.
- Beschreiben Sie in vier bis fünf Sätzen, wie Sie das nächste CMS-Update einspielen würden, ohne den laufenden Webauftritt zu gefährden.
Wissenscheck
Abschnitt betitelt „Wissenscheck“- Warum ist eine geänderte Kern-Datei nicht nur ein Wartungs-, sondern ein Sicherheitsproblem?
- Was unterscheidet eine Aktion von einem Filter?
- Warum gewinnt ein Child-Theme gegen das Theme, und warum ist das kein Zufall, sondern Absicht?
- Warum reicht „einmal am Eingang säubern” bei Ausgaben nicht aus?
- Warum ist ein ausgeblendeter Menüpunkt keine Berechtigung?
- Was ist die Rangfolge Konfigurieren - Erweitern - Überschreiben - Forken, und wonach richtet sie sich?
- Wozu braucht man eine Testumgebung, um Updates zeitnah einspielen zu können?
Eine Datei erweiterungspunkte.md mit den Teilen A bis C sowie gutachten.md mit Teil D. Die minimale Erweiterung aus Teil C liegt als eigenes Verzeichnis im Repository.