Magento Backend-Performance verbessern

Backend-Dashboard

Leider kann es durch falsch programmierte Extensions vorkommen, dass diese die Performance beeinträchtigen. Eine Lösung für das Problem zu finden kann recht komplex sein. Mit ein paar Hilfsmittel kann man aber etwas Abhilfe schaffen.

Als ich auf mein Problem gestoßen bin, bin ich mit Hilfe einer „Profiler“-Extension auf Spurensuche gegangen. Für den Anwendungsfall bietet sich die Extension AOE-Profiler wirklich gut an, was ich im nächsten Abschnitt zeigen möchte.

AOE Profiler

Installation und Benutzung

Der AOE-Profiler kann über das Repository auf Github heruntergeladen und installiert werden (Dateien in das Projekt kopieren). Nach der Installation müssen noch ein paar kleinere Einstellungen vorgenommen werden, damit die Extension auch funktioniert.

folgende Datei muss hierzu zuerst umbenannt und dann bearbeitet werden.

die XML ist die Konfigurationsdatei für die Extension und es kann mit dieser festgelegt werden wann der Profiler ein Log aufzeichnet. Damit nicht bei jederAnfrage ein Log erstellt wird, kann man einen sogenannten „Trigger“ auf den Wert „parameter“ stellen.

Dies bedeutet, dass man mittels einer GET-Variable („?profile=1“) das Profiling, für die jeweilige URL, auslösen kann. Dies verhindert, dass bei jedem Seitenaufruf ein neues Profile-Log erstellt wird.

Man kann in der Konfigurationsdatei noch weitere Filter einstellen und damit bestimmte URLs ausschließen. Die Konfigurationsdatei ist hierfür gut dokumentiert.

Auswertung

nachdem man nun die langsame Seite ausfindet gemacht hat und den Parameter gefunden hat, kann man sich das Log anschauen. Dies findet man im Backend unter „System -> AOE Profiler“ anschauen. Das Log wird in Form eines Baumes dargestellt.

Im nun dargestellten Baum kann man gut die Zeit und den Speicher auswerten und sich gezielt in den langsamen Bereich rein klicken und dort auf Spurensuche gehen.

Langsame Extensions finden

Ich konnte mit dieser Methode zwei Extensions ausfindet machen, die bei jedem Aufruf auf Updates geprüft haben, was die Ladezeiten deutlich verringert hat. Nach dem Deaktivieren und Patchen der Extensions wurde die Ladezeit im Backend um 2 – 3 Sekunden schneller, was einen deutlichen Unterschied ausgemacht hat.

Magento Update auf 1.9.3 „Soap internal error“

Beim Update auf die Magento Version 1.9.3 ist es leider wieder zu Problemen und Fehlern gekommen, die durchaus den Betrieb stören können. Wer noch die SOAP-Schnittstelle nutzt kann hier auf den folgenden Fehler stoßen.

Magento Upgrade 1.9.3 Sales Soap Sales Order

Der Fix steht auf der verlinkten Seite. Hierzu muss ein im „Handler“ eine weitere Bedingung eingefügt werden.

Muss die folgende Funktion erweitert werden.

Die Datei sollte ggf. mit einer eigenen Extension überschrieben werden, damit der Core nicht direkt gefixt werden muss. Andernfalls muss das Update beim nächsten Update wieder eingespielt werden, sofern dies nicht gefixt wurde.

Edit: Anscheinend wurde der Fehler mit dem Update 1.9.3.1 behoben. 

 

Sophos UTM9 crash dumps füllen Festplatte

In seltenen Fällen kann es passieren, dass die Festplatte der UTM voll läuft. Dies wird dadurch verursacht, dass abstürzende Dienste einen „crash dump“ erzeugen, welcher auf der System Partition abgelegt wird. Um dies zu kontrollieren kann man sich per SSH auf der UTM einloggen. Der SSH-Login muss zuerst unter „Verwaltung -> Systemeinstellungen -> Shell-Zugriff“ freigeschaltet werden.

Nach dem Login auf der UTM kann man in den Ordner

wechseln. Dieser Ordner enthält alle Dumps, die das System angelegt hat. Die Dumps sind hauptsächlich für den Support gedacht. Sollte es wirklich so sein, dass die Festplatte fast voll ist können auch größere und Ältere Dumps einfach gelöscht werden.

Diese Änderungen und Löschaktionen sollten nur von Leuten durchgeführt werden, die sich mit Linux auskennen und wirklich wissen was sie tun. 

CSSD Crash

Dieser Beitrag resultiert daraus, dass ich ein Problem mit dem CSSD Dienst hatte. Anscheinend war es so, dass sich die Antiviren-Pattern nicht mehr korrekt geupdatet haben und dadurch der Dienst abgestürzt ist.

Nach einem Beitrag im Forum war ein manuelles Update die Lösung.

Mit dem obigen Befehl lässt sich das Update manuell durchführen. Das Update sollte an dieser Stelle einwandfrei durchlaufen.

Sophos Forum CSSD Crash

einige Fehler werden auch nach Meldung durch Sophos recht schnell wieder behoben. Sollte das manuelle Update nicht funktionieren gibt es die Möglichkeit die Scan-Engine zu wechseln. Die Engine kann unter „Verwaltung -> Systemeinstellungen -> Scan-Einstellungen“ von Sophos auf Avira zum testen gewechselt werden. Danach sollte man erstmal im Auge behalten, ob die Dumps weiterhin auftreten und man weiterhin Probleme hat.

Linux Man-Page in PDF umwandeln

Falls ihr auch mal wieder das Problem habt, dass ihr in Ruhe eine Man-Page auf eurem Kindle oder anderem E-Book Reader lesen wollt, gibt es eine einfache Möglichkeit. Man kann mit dem Tool ps2pdf die Man-Page einfach in eine PDF umwandeln.

Der Befehlt ps2pdf ist im Normalfall schon auf einem Linux-System installiert und kann verwendet werden. Sollte dieser nicht zu finden sein kann er mit apt oder einem anderem Paketmanager gesucht und installiert werden.

Dies kann sehr hilfreich sein, wenn die Man-Page man wieder ein bisschen länger ist und man hierfür doch ein wenig mehr Zeit benötigt.

Eine andere Möglichkeit ist hier natürlich mit dem internen Text-Browser im Kindle die Man-Page über Google zu suchen und aufzurufen. Ich finde dies aber teilweise recht anstrengend und schlecht lesbar.

Magento – Statischer Block verschwindet im CMS nach Update auf 1.9.2.2

Ich bin eben auf ein ärgerliches Problem gestoßen nachdem ich das Update auf Magento 1.9.2.2 durchgeführt habe. Nach dem Update wurden die Blocks, die in den CMS-Seiten eingebettet waren, nicht mehr angezeigt.

Dies war durchaus ärgerlich, da es sich hier um die AGB und Widerrufsbelehrung gehandelt hat. Wenn man mal den Ansatz gefunden hat kann man das Problem recht schnell beheben. Man muss hier unter in der neuen Version neue Rechte für die CMS-Blöcke setze:

System -> Berechtigungen -> Blocks

einen neuen Eintrag einfügen. Dieser muss den Namen „cms/block“ haben und auf „Allowed“ gesetzt werden. Schon funktioniert das einbetten von statischen Blöcken wieder.

magent_patch_1_9_2_2

Ich hoffe hier gibt es nicht noch mehr Überraschungen.

Aktualisierung 18.02.16

Ok es gab doch noch ein paar Überraschungen. Es gibt noch weitere Felder, die hier mit in die Berechtigungen aufgenommen werden müssen.

magesetup/imprint_content
magesetup/imprint_field

Hie müssen analog die selben “Blockberechtigungen” eingerichtet werden.

Warum Unit-Tests?

Ja die Frage warum man Unit-Tests verwenden sollte ist recht spannend, da es viele Gründe dafür aber auch einige wenige Gründe dagegen gibt. Aber fangen wir erstmal von vorne an:

Was ist ein Unit-Test?

Mit einem Unit-Test kann man kleinere Bereiche (Funktionen) eines Programms automatisiert testen. Dies hat den Vorteil, dass man so sicherstellen kann, dass immer das erwartete Ergebnis, bei der getesteten Funktion, zurück kommt.

Aber warum sollte man dies tun? Ganz einfach man muss nicht jedes Mal alle Funktionen neu testen und das Ergebnis händisch überprüfen. Wenn ein Unit-Test korrekt implementiert ist kann man davon ausgehen, dass hier der erwünschte Wert, geschweige denn das erwünschte Verhalten aus einer Funktion zurück gegeben wird.

Tools

Damit man Unit-Tests durchführen kann braucht man ein Tool, welches diese ausführt. Hier gibt es in jeder Programmiersprache verschieden Tools. Unter PHP ist dies PHPUnit und unter Java zum Beispiel JUnit. Auch für Javascript es hier Tools wie Jasmine, QUnit und so weiter.

 

Es gibt hier auch noch verschiedene Arten von Tests. Manchmal ist es sinnvoll nicht kleinere Units zu testen, sondern die Abläufe einer Software. Am Beispiel eines Shops wäre dies, dass man beispielsweise eine Bestellung ausführt. Hierzu muss man den Prozess durchlaufen und alle benötigten Felder füllen. Hierfür bietet sich eine Kombination aus Selenium und einem Unit-Test Tool an. Meist gibt es hier auch schon Schnittstellen um beides miteinander zu verbinden.

Bestehende Projekte/Code testen?

Wenn man so an das Agenturleben denkt kommt es hier ja eher vor, dass man bestehende Projekte hat, die gewachsen sind und teilweise noch prozedural programmiert sind. Diese lassen sich in der Regel schlecht testen, da es hier keine kleineren Teile (Units) gibt, die man auch gut testen kann. Sollte das Projekt Klassen und Funktionen verwenden, kann man eines der Tools von oben wählen.

Manchmal ist es hier auch sinnvoll nachträglich verschiedene Teile in Klassen und Funktionen auszulagern, um diese testen zu können und die Strukturen ein wenig aufzuräumen und zu verbessern.

Fazit

Unit-Tests können einem sehr das Leben erleichtern, da man bestehende Funktionen testen und absichern kann. Dies ist sehr hilfreich wenn man größere Teile eines Projektes umbauen muss. Nach den Umbauarbeiten kann man durch die Tests weiterhin sicherstellen, dass die Funktionen das korrekte Ergebnis liefern.

Ein weiterer Vorteil ist, dass man beim Schreiben der Unit-Tests tiefer über die Funktionen nachdenkt und teilweise weitere Fehler findet und diese direkt beheben kann.

PHPStorm dünne Schrift nach Update auf 9.0.1 oder Java8 (Subpixel-Antialiasing)

Nach dem Update auf PHPStorm 9.0.1 oder die EAP-Version kann es zu Problemen mit dem Font-Rendering kommen, wodurch sich die Schriften in der IDE sehr dünn darstellen (meist Linux und OSX (Retina)).

Ich nutze OSX 10.10 mit Java6. Beim Update auf Java8 hat man hier das Selbe Problem, allerdings bei allen Schriften in der kompletten IDE.

Font Antialiasing on Linux and PHPStorm

Zu diesem Thema gibt es auch Tickets bei Jetbrains. Nach dem Update kann man das Problem, unter Java6, beheben indem man in den Einstellungen den Haken „General -> Appearance -> Use anti-aliased font“ setzt. Danach sollte die Schrift wieder normal dargestellt werden. Hier ein Vorher-Nachher-Vergleich:

Vorher
phpstorm_font_problem

Nachher
phpstorm_font_problem_anti

Das Font-Rendering ist wesentlich dicker und besser zu lesen. Leider funktioniert der Haken unter Java8 nicht. Die Schriften bleiben trotzdem dünn und unleserlich.

Ich hoffe ich konnte euch fürs Erste bei dem Problem ein bisschen weiter helfen und es gibt schnell einen Fix für das Problem.

Edit: Es gibt hierzu noch einen kleinen Nachtrag. Ich habe ein Ticket bei Jetbrains gefunden, welches das Problem beschreibt. Das Problem ist, dass das Subpixel antialiasing in Java 7 und 8 nicht mehr vorhanden ist, geschweige denn funktioniert.

https://youtrack.jetbrains.com/issue/IDEA-117324#

Es wird hier weiterhin Java 6 empfohlen oder ein Custom Build von Java8 von Jetbrains, was aber auch nicht richtig zu funktionieren scheint.

Edit

Mit der PHPStorm Version 10 hat Jetbrains die Java-Runtime selbst gefixt und die Fehler sind behoben. Die neue Version wird mit den IntellJ-Produkten ausgeliefert.

„Mein Mac wird nicht langsamer im Gegensatz zu Windows und hat keine Viren“

Ja ich denke die Überschrift sagt hier schon recht viel… Es gibt immer sehr interessante Aussagen, die von Mac-Benutzern/Jüngern kommen, die sehr von OSX und iOS überzeugt sind. Ich persönlich arbeite mit Windows und Mac und bin da nicht so parteiisch, wie die Meisten die lediglich mit einem Mac arbeiten und komplett in der Welt von Apple involviert/versunken sind.

„Mac wird im Gegensatz zu Windows nicht langsamer“

Wer hat diese Aussage denn noch nicht gehört. Nur leider stimmt das so nicht ganz. Die Frage ist doch: „Wann wird ein MAC oder PC langsamer“. Ein MAC sowie PC wird ganz einfach dann langsamer wenn zu viele Programme/Prozesse laufen und diese die eingebaute Hardware auslasten.

Dies wird Meistens durch im Hintergrund laufende Programme verursacht. Viele Programme werden hier schon über den Autostart geladen und im Hintergrund ausgeführt.

Nun ist doch die Frage warum OSX-Benutzer genau diese Aussage öfters bringen. Hierfür gibt es einfach mehrere Gründe.

  1. Unter Windows werden oft mit Installationsprogrammen weitere Programme installiert, die hier als Werbung oder Zusatzoption mit angeboten werden. Hier sollte man wirklich beim Installieren drauf achten, dass man sich nichts mit installiert und ggf. wenn man sich nicht sicher ist, drauf achten ob irgendwelche Zusatzhaken gesetzt werden. Dies macht den Rechner irgendwann natürlich langsamer wenn immer mehr Programme im Hintergrund laufen.
  2. Meistens gibt es hier von der Hardware einen recht großen Unterschied. Einen Mac gibt es nur mit einer recht hochwertigen Ausstattung, ergo merkt man hier das „langsamer“ werden erst später, als wenn bei einem günstigen Rechner mit Windows. Meistens haben diese dann auch nicht die Leistung von einem MAC. (Kauft sich ja auch nicht jeder einen Mac für 2500€ – 3500€).

Also auch unter OSX muss man ab und an aufräumen und Programme aus dem Autostart nehmen, damit diese nicht andauernd im Hintergrund laufen und dadurch den Akku, geschweige denn auf die generelle Performance, beeinträchtigen.

http://www.maceinsteiger.de/how-to/autostart-von-programmen/

Es gibt noch erweiterte Möglichkeiten allerdings möchte ich hier erstmal nicht darauf eingehen, da man dabei auch einiges kaputt machen kann.

Für MAC brauche ich kein Antiviren- Programm

Also genau genommen ist das mit dem Antiviren-Programm so eine Sache. Wenn man weiß was man tut braucht man es wohl nicht. Für den 0815 Benutzer wäre dies trotzdem ratsam. Es ist ja schon so, dass OSX durchaus über gute Sicherheitsmechanismen verfügt, allerdings gibt es genau so viele Sicherheitslücke, um diese zu umgehen und es tauchen immer neue auf. Das Problem ist … „Wenn du kein Antiviren-Programm verwendest woher weißt du dann, dass du keine Viren hast?“.

Wir sollten hier auch mal ein bisschen über den Tellerrand hinaus schauen. In Firmennetzwerken ist nicht unbedingt das Problem, dass sich ein Mac direkt infizieren könnte. Es besteht allerdings die Gefahr, dass durch diesen MAC Schadsoftware in das Netzwerk eingebracht wird, da hier keinerlei oder nur eine unzureichende Prüfung stattfindet. Manche mögen nun sagen das Problem kann auch durch manipulierte USB-Sticks kommen. JA STIMMT. Deswegen sollten man hier auch sehr vorsichtig sein. Die Möglichkeiten wachsen und es gibt immer neue Möglichkeiten, um in Netzwerke einzudringen und dies zu infizieren.

Ich glaube man muss an dieser Stelle einfach ein bisschen weiter denken. Leider zeigen aber auch Antiviren-Tests, dass diese unter OSX teilweise nur sehr schlecht funktionieren und teilweise auch keine wirkliche Sicherheit bieten. Es sollten aktuelle Tests zu rate gezogen werden und geschaut werden, welches Programm im Moment am besten funktioniert.

Apple und seine Jünger

Eins muss man Apple auf jeden fall lassen. In Sachen Marketing hat Apple alles richtig gemacht. Apple hat es geschafft Menschen so von Produkten zu überzeugen, dass diese teilweise blind alles hinnehmen was präsentiert wird. Ob es nun eine Neuerung ist oder nicht. Marketing Technisch TOP.

Update

Mit El-Capitan wurden bei OSX weitere Sicherheitsmechanismen eingeführt, welche das Ändern von System Dateien verhindern. Dies kann sehr hilfreich sein allerdings auch nervig, wenn man Dateien in den Verzeichnissen benötigt.

El-Capitan Security-Integrity-Protection (SIP)

hier ein Artikel über die Funktion von SIP.

Fazit

Es ist nicht immer alles Gold was glänzt und man sollte auch immer die Gegenseite kennen um urteilen zu können. Vor allem sollte man sich nicht aller Bildzeitung mit dem Thema auseinander setzen, sondern selbstkritisch die Fakten zusammen tragen und selbst überlegen und einfach mal ausprobieren.

Bower und Grunt

Auch in der Frontend-Entwicklung haben sich einige Technologien und Tools durchgesetzt. Hierzu gehören Bower und Grunt. In Kombination bieten beide Tools einen großen Mehrwert für jeden Entwickler.

Bower

Bower ist ein Paket-Manager, welcher hauptsächlich für Frontend verwendet wird (Javascripte, CSS, etc.). Bower kann hier über den Note-Package-Manager (NPM) installiert werden. Alle Infos können natürlich auch auf der Bower Website nachgelesen werden. Mit folgendem Kommando kann Bower installiert werden.

Danach sollte, sofern alles korrekt funktioniert hat, der Befehl „bower“ zur Verfügung stehen. Wenn ihr den Befehl ohne Parameter eingebt bekommt ihr hier die Help-Ausgabe mit allen verfügbaren Parametern und Optionen.


bower_commands

Einer der wichtigsten Befehle ist hier install. Mit dem install Befehl können nun neue Pakete in einem Projekt installiert werden. Hier ein paar Beispiele wie man Pakete installieren kann.

Während der Installation werden die Pakete im Ordner bower_components abgelegt und eine Datei bower.json erzeugt, sofern die noch nicht vorhanden ist. In dieser Datei befinden sich alle Module und Abhängigkeiten, sowie allgemeine Informationen.

Nachdem man sich nun alle benötigten Pakete in sein Projekt geladen hat kommt nun die Frage „wie binde ich das nun alles ein“. Klar man könnte nun hin gehen und alle JS-Dateien per Hand im HTML einbinden. Aber dies wäre ja langweilig. Hierfür nutzen wir Grunt und das Plugin grunt-bower-concat.

Grunt

Aber erstmal zu Grunt. Grunt ist ein Javascript Task-Runner. Mit diesem netten Tool ist es möglich sich eigene Tasks zu schreiben, welche verschiedene Aufgaben wie zum Beispiel Javascript-Minifying oder ähnliches übernehmen können.  Ihr fragt euch gerade vielleicht noch „warum brauche ich nun noch ein Tool“. Ganz einfach. Mit Grunt kann man allgemeine Aufgaben sehr gut vereinfachen und somit seinen Code aufräumen und schlanker machen, bevor man diese online stellt.

Auch Grunt kann hier über npm installiert werden.

Danach sollte der Befehl „grunt“ zur Verfügung stehen.

Bei einem neuen Grunt-Projekt spielen hier 2 Dateien eine größere Rolle. Einmal die Datei Gruntfile.js und die package.json. Die Datei Gruntfile.js ist um Grunt zu konfigurieren, neue Plugins zu laden oder neue Tasks zu erstellen.

Die Datei package.json ist hier hauptsächlich für npm um neue Module zu installieren, welche von Grunt genutzt werden können. Ein Beispiel package.json sieht wie folgt aus:

Die angegeben Module werden hier automatisch in den Ordner node_modules installiert und können dann von Grunt geladen werden und stehen zur bereit. Besonders interessant ist hier das Modul grunt-bower-concat, welches wir uns gleich noch genauer anschauen werden.

Grunt-Templates (Scaffolding)

Grunt-Init ist ein weitere Tool um aus bestehenden Templates ein Projekt zu erstellen. Ich möchte hier nun erstmal nicht weiter darauf eingehen, da wir dies hier erstmal per Hand machen. Wen dies interessiert der kann sich hier weitere Informationen holen.

Grunfile.js (Konfiguration)

Damit die Tasks von Grunt gefunden und ausgeführt werden müssen diese, wie schon erwähnt, in der Konfigurations-Datei angelegt und geladen werden. Hier zeige ich euch nun mal meine Datei, für ein kleines Projekt um dies ein wenig anhand des Beispiels zu erläutern.

Die Konfiguration teilt sich hier in die folgende Teile auf:

Unter dem Bereich initConfig werden Optionen zu den einzelnen Modulen konfiguriert. Für „grunt-bower-concat“ wird hier beispielsweise angegeben wo die fertige Datei am Ende hin geschrieben werden soll (dest, cssDest).

Mit loadNpmTasks können die in der package.json angegeben Module geladen werden. Zuletzt müssen diese noch Registriert werden, damit Grunt die Pakete korrekt und in der richtigen Reihenfolge ausführt.

Das war es für den Anfang eigentlich schon.

Grunt-Bower-Concat

Dem einen oder anderen sollte ggf. schon klar sein was das Modul am Ende tut. Grunt-Bower-Concat schaut am Ende nach welche Pakete installiert sind und sucht sich hier die Javascript- und CSS-Dateien automatisch zusammen und packt diese zu EINER Datei zusammen. Dies ist sehr praktisch, da man dadurch sehr viele Requests einsparen kann und mit dem Minifying die Dateien auch direkt noch kleiner bekommt.

Ein kleiner Tipp am Rande: Man sollte hier ein bisschen aufpassen was man so installiert, da die fertige Datei „bower.min.js“ unter Umständen sehr groß werden kann. Hier sollte man auch regelmäßig aufräumen.

Als letztes werden hier noch die JS- und CSS-Dateien komprimiert um eine bessere Performance zu erhalten. Es gibt noch sehr viele andere Möglichkeiten wie man Grunt nutzen kann. Ich denke hier lohnt es sich einfach ein bisschen auf der Website rum zu schauen und sich ein bisschen inspirieren zu lassen.

Fazit

Ich persönlich finde Grunt und Bower sehr hilfreich, da beide Tools einem viel Arbeit abnehmen und man auch schnell „mal eben“ neue Libs ausprobieren und installieren kann.

Magento Sicherheitslücken beheben

Immer wieder kommt es bei Magento, wie aber auch anderen System zu Sicherheitslücken. Diese sollten schnellstmöglich, sofern vorhanden, durch einen Patch behoben werden. Leider kommt dies meist viel zu kurz oder die Systeme sind gar nicht mehr update fähig. Sehr oft hört man auch die Aussage

Es ist ja bisher auch nichts passiert!

Oder:

Meine Seite ist doch viel zu klein!

Meistens kommen solche Angriffe übrigens, die meisten auf mittelständische Unternehmen, auch nicht angemeldet und treffen einen genau dann wenn man es überhaupt nicht gebrauchen kann. Hier sollte auf jeden fall mehr Sorgfalt an den Tag gelegt werden. Meistens sind die Konsequenzen weitreichend und sehr nervig zu beheben. Ist ein Shop erstmal kompromittiert ist es ohne Backup oder Versions-Kontrolle fast unmöglich diesen wieder einwandfrei herzustellen, geschweige denn ist die Sicherheitslücke. Man müsste hier in fast jeder Datei mit Schadcode rechnen.

Zudem sollte man hier auch beachten, dass die meisten Angreifer hier automatisierte Systeme haben, welche das Web durchsuchen und die Shops auf Sicherheitsprobleme testen und diese direkt ausnutzen.

Ihr Magento-System sollte daher regelmäßig auf Updates geprüft werden. Dies kann man recht einfach im Update-Manager durchführt werden. Diesen Findet man im Backend unter dem Punkt:

System -> Connect Manager -> Magento Connect Manager

Magento Connect Manager

Wenn man alles updaten will kann man hier den Punkt Mage_All_Latest verwenden, welcher alle Pakete updated. Wie man hier an den gelben Balken sehen kannst habe ich mein Testsystem schon etwas länger nicht mehr geupdated, wo diese Funktion sehr hilfreich ist.

Message-Center (Posteingang)

Im Magento Message-Center werden auch schon wichtige Informationen zu wichtigen Updates angezeigt. Diese sollten wirklich ernst genommen werden und schnellstmöglich installiert werden.


Magento Message Center

Einzelne Patches können hier weiter unten auf der Seite runtergeladen und mit Hilfe von „patch“ eingespielt werden.

Als Beispiel:

Hierfür wird natürlich der Patch-Befehl benötigt.