Privates Blog von Christian Münch

Meet Magento 2016

Cover Image

Nachdem ich letztes Jahr aufgrund der Geburt meines Sohnes bei der Meet Magento nicht teilnehmen konnte, stand dieses Jahr der Veranstaltung nichts im Weg. So ging es zusammen mit drei Kollegen wieder auf nach Leipzig. Diesmal fand die Veranstaltung im Pentahotel Leipzig statt. Wie immer war die Veranstaltung wieder sehr gut besucht.

Meet Magento 2016 Anmeldung
Lange Schlangen gab es bei der Anmeldung.

Aus meiner Sicht passt das Pentahotel besser zur Meet Magento Veranstaltung als die vorherigen Hotels. Das lag aber nicht nur am Teppich :-) .

Sicherheitspatch SUPEE-6285 Nebenwirkungen

Cover Image

Der Shoplift-Bug hat Wirkung gezeigt. Magento scheint nun Sicherheitsproblemen mehr Beachtung zu schenken und häufiger Patches bereitzustellen. Das ist auch gut soweit. Wie immer kam die Patch-Meldung in einer für deutsche Verhältnisse ungünstigen Zeit gegen 19 Uhr Abends. Das heißt für Entwickler die Agenturen tätig sind immer, dass am nächsten Tag entsprechend alle Kundensysteme mit einem Patch zeitnah versorgt werden müssen (Kunden mit Supportvertrag natürlich bevorzugt).

Das eine oder andere mal (je nach Größe des Patches) kann das auch zu Problemen in Kundensystemen führen. Wenn der Shopbetrieb nicht direkt betrofffen ist, dann finde ich sollte aber der Sicherheitsaspekt im Vordergrund stehen und zuerst der Patch ausgerollt werden und im Nachgang die Krankheiten die der Patch für das Systm mitbringt, behoben werden.

Magento 2 Kurs in London

Cover Image

Für vier Tage hatte ich das Vergnügen zusammen mit meinem Kollegen Matthias dem Kurs Fundamentals of Magento 2 Development in London beizuwohnen. Sonntags ging es bereits los um direkt morgens fit in den Tag zu starten.

Der Kurs fand im Euston House einem Training-Center statt. Vorort gab es die Möglichkeit in gut augestatteten Räumen (incl. WLAN) in angenehmer Atmosphäre und reichlich Kaffee tiefer in die Entwicklung des Magento 2 Systems einzutauchen.

Der Kurs wurde von dem uns allen bekannten und geschätzten Vinai Kopp geleitet. Die besondere Herausforderung für den Kursleiter bestand darin, dass Magento 2 noch nicht wirklich final fertiggestellt ist. Dadurch fehlt allen Beteiligten die Praxiserfahrung mit dem System selbst. Das machte uns aber während des Kurs nichts aus. Es entstand ein spezielle Situation: Jeder konnte von jedem lernen.

Magento 2: Type definition cannot be abstract

Cover Image

In Magento 2 werden alle Dependency Injection Einstellungen nun in einer di.xml Datei erzeugt. Alle XML Daten werden nun in der neuen Magento Version zwingend gegen eine XSD Datei validiert. Das passiert zur Laufzeit als auch in modernen IDEs wie PHPStorm. Ebenso praktisch ist eine automatische Code-Completion.

PHPStorm meldete mir folgendes:

The type definition cannot be abstract for element argument

Zusätzlich funktionierte in diesem Fall die Code-Completion nicht mehr.

phpstorm_xsd_error

Microsoft veröffentlicht Linux Editor

Cover Image

Was ist denn da los? Habe ich mich verlesen? Nein, unsere aller Liebling Microsoft deren Firmenchef ehemals Linux als “Krebsgeschwür” bezeichnete veröffentlicht nun Software für das freie Betriebssystem.

Da fällt mir dann direkt Linux Torvalds ein.

“If Microsoft ever does applications for Linux it means I’ve won.” — Linus Torvalds

Nachdem wir nun den Krieg gewonnen haben, können wir natürlich die Software auch mal ausprobieren. Die Software kann auf der eigenes dafür eingerichteten Seite https://code.visualstudio.com/ heruntergeladen werden.

Magento Sicherheitslücke jetzt schließen!

Cover Image

Quelle: Critical Security Advisory: Remote Code Execution (RCE) Vulnerability | Magento

Der Wichtigkeit halber will ich an dieser Stelle auch nochmal auf das Beheben der Sicherheitslücke (Patch SUPEE-5344) hinweisen.

Die meisten von uns sollten den Patch bereits im Februar eingespielt haben. Remote Execution Lücken müssen immer direkt gepatched werden da damit quasi alles denkbar böse möglich ist.

Wer seinen oder die betreuten Shops noch nicht gepatched hat sollte dies sofort tun und am besten sofort das System auf mögliche Kompromitierungen untersuchen da der Shop so quasi mehrere Monate ungeschützt im Netz verfügbar war.

Magento Stammtisch in Mainz / Ökosystem / Magento 2

Cover Image

Am 08. April war es wieder soweit. Der Magento Stammtisch Rhein-Main tagte wieder. Diesmal in den Räumlichkeiten meines Arbeitgebers netz98 in Mainz.

Für Getränke und gute Stimmung war gesorgt. Los ging es mit dem Thema “Magento 2 aus Business Sicht” von meinem Kollegen Ralf Lieser der sich schon länger mit Magento 2 beschäftigt (z.B. mit Themen wie Ein Einblick in die aktuelle Beta von Magento 2 oder Magento 2 – Service Layer steigern Effizienz). Aus den geplanten 10-15 Minuten wurde dann fast eine Stunde was an den regen Diskussionen zum Thema lag.

Kurzbericht zum 35. Treffen der PHPUG Rheinhessen

Cover Image

Am 11.11. in Mainz war es soweit… das 35. Treffen PHPUG Rheinhessen fand in den Räumen meines Arbeitgebers netz98 statt. Das Thema lautete diesmal “SPL”. Wer länger mit PHP arbeitet der kommt irgendwann mit der Standard PHP Libray in kontakt.

Wir hatten vor einiger Zeit schon eine sehr tolle Vorstellung über Iteratoren und an diesem Abend waren die Datenstrukturen dran. Mittles Live-Coding wurden alle Strukturen einmal genau angeschaut. Schön an der UG ist immer der lebhafte Austausch. So gab es auch Kritik an der Benamung und der internen C-Implementierung der SPL Klassen wodurch auch kontrovers diskutiert wurde ob man nicht lieber jede Klasse durch User-Land-Code ersetzt.

Magento 2 Setup-Tool mit abweichendem MySQL Port nutzen

Cover Image

Ich habe meine lokale Entwicklungumgebung seit einigen Wochen dockerisiert und in dem Zug alle meine MySQL Datenbanken auf einzelne Docker-Container aufgeteilt die ich bei bedarf starte und nach getaner Arbeit auch wieder stoppe.

Seit ein paar Tagen arbeite ich an einer Portierung meines Tools n98-magerun auf Magento 2. Als ich das Setup-Tool startete wunderte ich mich, dass man keinen abweichenden Datenbank TCP Port definieren konnte. In meinem Fall laufen alle Magento Datenbanken unter 127.0.0.1 Port 33310. Ein Blick in den Quellcode sorgte allerdings schnell für Ernüchterung. Ein abweichender Port scheint momentan nicht unterstützt zu sein.