Verbesserte Overrideverwaltung
From Joomla! Documentation
Anleitung
für die verbesserte Overrideverwaltung
Einleitung
Dieses Projekt fügt zu Joomla! eine Einrichtung zur Aktualisierungprüfung hinzu, dass heißt wenn eine Kerndatei eines Template Overrides verändert oder aktualisiert wird, erhält der Benutzer eine Nachricht, dass eine der Kerndateien seines Template Override sich mit der Aktualisierung verändert hat, um Sicherheitsprobleme oder den Verlust der Funktionsfähigkeit zu vermeiden, außerdem können sie ihren Override anpassen bevor irgendjemand etwas bemerkt.
Link für die Projektpaketquelle: https://github.com/joomla-projects/gsoc18_override_management
Erhalte einen Vorsprung mit der verbesserten Overrideverwaltung
Hinweise
Bitte lies zuerst, falls du neu in der Joomla! Entwicklung bist und noch nicht viel über die Templateverwaltung und Overrides weißt:
Jetzt, wo du mit der Verwendung des Template Managers und den Typen von Overrides in Joomla! vertraut bist, können wir uns die Merkmale des Projekts näher anschauen.
- Unterstützte Overrides
- Diff View
- Override - Quick Icon Notification Plugin
- Installer - Override Plugin
- Aktualisiert - Overrideverlauf
Von dieser Funktion unterstützte Typen von Overrides
Es unterstützt keine js und css overrides und keine alternativen Layouts, in denen Dateinamen zu etwas anderem verändert wurden.
Diff view zwischen Kern- und Overridedateien
Diese Funktion zeigt den Unterschied zwischen den Kern- und den Overridedateien an. Wenn irgendeine Overridedatei zur Bearbeitung geöffnet wird, sind zwei Schaltflächen oder Schalter in der rechten oberen Ecke der Seite zu sehen, ob die Kerndatei angezeigt werden soll.
Diese Schalter:
Hier können die Ansichten diff view und Anzeige der Kerndateien umgeschaltet werden. Im nächsten Bild sieht man den Standort der Kerndatei und den diff view im Templatemanager.
Die Kerndatei kann nicht verändert werden.
Wie diff view funktioniert
Wenn man zur Bearbeitung auf eine beliebige Overridedatei klickt, wird die Funktion getCoreFile aufgerufen, welche den Parameter path der Overridedatei in dem Template erhält. Beispiel: /html/layouts/joomla/form/field/user.php zeigt die Datei und den Clientpfad der Datei und ob diese zu Site oder Administrator gehört. Diese Informationen zu Grunde gelegt gibt es den Pfad der Kerndatei aus, falls sie existiert. Um die Unterschiede zwischen den Kern- und Overridedateien zu zeigen nutzten wir die Bibliothek unter jsdiff
Override - Quick Icon Notification Plugin
Ein quick icon notification Plugin, welches die Benachrichtigungen im cpanel und die Summe der aktualisierten Overrides von allen Templates zeigt. Werden Overrides aktualisiert zeigt das quick icon so was Ähnliches wie im Beispiel unten:
Mit einem Klick darauf wird man auf die Templates umgeleitet, dort ist eine Liste deiner Templates mit Beschreibung enthalten. Es erscheint eine neue Spaltenüberschrift Overrides, welche die Anzahl der zum Template gehörenden geänderten Overrides zeigt. Wurde nichts im Template Override verändert zeigt es ein Up to date Emblem.
Wie das quick icon funktioniert
Ein AJAX Aufruf von TemplateController.php gibt die Informationen zurück und zeigt eine Benachrichtigung wenn solche Overrides aktualisiert werden.
Warnung
Das Plugin quick icon notification funktioniert nur wenn das installer/override Plugin aktiv ist. Wenn installer/override deaktiviert ist, wird eine Fehlermeldung in quick icon erscheinen.
Mit einem Klick auf quick icon wird man auf das installer/override Plugin umgeleitet wo man die Einstellungen für das Plugin ändern kann.
Installer - Override Plugin
Dieses Plugin ist das Kernelement dieser Funktion. Es ermöglicht es, die richtigen aktualisierten Overrides während der Erweiterungsinstallation und Aktualisierung von Joomla! zu finden.
Wie das Plugin installer override funktioniert
Dieses Plugin arbeitet bei sechs Ereignissen:
- onExtensionBeforeUpdate
- onExtensionAfterUpdate
- onInstallerBeforeInstaller
- onInstallerAfterInstaller
- onJoomlaBeforeUpdate
- onJoomlaAfterUpdate
Es sammelt md5_file() die Hashwerte aller Overrides Kerndateien vor und nach einem Update und vergleicht dann beide Werte miteinander. Dann findet es die richtig veränderter oder aktualisierte Datei. Schließlich wird die Information in der Tabelle #__templates_overrides abgelegt.
Aktualisierter Overrideverlauf
Die Funktion erreicht man über den Reiter aktualisierte Dateien in einem Template. In einer Listenansicht werden alle aktualisierten Overrides, die zu diesem Template gehöreen, gezeigt.
Es gibt viele vorhandene Möglichkeiten diese Liste zu verwalten. Hier kann ein Klick gesetzt werden, ob der Status des Datenverlaufs ungeprüft oder geprüft ist. Außerdem gezeigt werden das Erstelldatum, das Datum der letzten Veränderung und einige Aktualisierungsaktionen, etwa Joomla! Update, Erweiterungsupdate oder Erweiterungsinstallation.
Anmerkung
Diese Informationen beziehen sich nur auf die Vergangenheit, wenn also die aktualisierten Overrideveränderungen geprüft wurden, kann der nun unnötige Verlauf gelöscht werden.
Schau Dir das Video-Tutorial an, um mehr über das Feature zu lernen