Ich habe ein paar Anläufe mit Magento 2 gemacht, aber aufgrund von zahlreichen Bugs immer wieder aufgegeben und neuere Versionen abgewartet. So habe ich nun endlich – 1 Jahr nach Veröffentlichung von Magento 2 – den ersten kleinen Magento Shop auf Basis der Version 2.1.2 fertig gestellt.

Wer Magento 1 bereits kennt, der wird vieles im System direkt wieder erkennen, sei es im Frontend der Aufbau des Kundenbereichs oder im Backend das Dashboard oder die grobe Strukturierung/Benennung der Menüpunkte.

Backend

Wenn man hingegen etwas tiefer in das Backend hinein klickt, wird man einiges an anderen Orten suchen müssen (Google hilft!), zum Beispiel ist einiges an Punkten, die in Magento 1 noch unter System -> Configuration zu finden waren, nun unter Inhalt -> Design -> Konfiguration gelandet.

Wer Magento zum ersten Mal sieht, der mag sich denken „was in aller Welt ist DAS für ein kompliziertes System???“ – nun ja, wer ein Schlachtschiff will, der bekommt ein Schlachtschiff! Und kein Schlauchboot. Dass es aber trotzdem sehr große Schlauboote gibt und man viele Schlauboote sehr weit aufpumpen kann, ist ein anderes Thema 😉 😀

Die Magento 2 Dokumentation ist im Gegensatz zu Magento 1 wirklich ausführlich und detailliert. Auch ist im Netz inzwischen einiges an Fragen und Antworten zu fast jedem Thema vorhanden, sodass man mit genügend Geduld und Wille zur Recherche die nötige Hilfe findet.

Was mir leider nicht so gut gefallen hat, ist der Punkt der Multisite-Schachtelung. Während es bei Magento 1 noch sehr klar zu sehen war, welcher Punkt auf welcher Ebene (Global, Website, Store, Store View) greift und wo ein in der Hierarchie höher liegender Parameter gilt, so ist dies insbesondere unter Inhalte -> Design -> Konfiguration überhaupt nicht mehr klar und deutlich definiert. Zudem funktionieren einige sehr grundlegende Dinge (favicon.ico-Upload, Email Logo Upload) schlichtweg nicht. Die Fehler sind bekannt, behoben und funktionieren in einer darauf folgenden Version (Magento 2.1.3) immer noch nicht. Man merkt daran einfach, dass das System nach mehr als einem Jahr nach der Version 2.0.0 immer noch „neu“ ist. Wer nicht gewillt oder fähig ist, um solche Kleinigkeiten drumherum zu arbeiten, der wartet wohl besser noch ein wenig ab, denn die Fehler sind bekannt und werden in einem späteren Release von Magento gewiss gefixt sein.

Unter der Haube sind die Änderungen gravierend, wer mit dem Magento 1 Dateisystem vertraut war, der wird sich in Magento 2 etwas neu orientieren müssen. Wenn man in Magento 1 mit Magento-Connect schon eine Schnittstelle mit CLI (Command line interface) im System integriert hatte, die man aber nicht zwingend nutzen musste, so ist bei Magento 2 der sichere Umgang mit dem CLI über SSH Grundvoraussetzung.

Updates

Trotzdem lassen sich in Magento 2 komplette Systemupdates per Klick über das Backend lösen! Ich dachte zuerst ich sehe nicht richtig, soll der Update-Vorgang jetzt tatsächlich so einfach werden wie bei WordPress? Backup, Klick und fertig?!? Offensichtlich ja, der Punkt ist unter System -> „Web setup Wizard“ zu finden:

Bei der aufwändigen Einrichtung des Shops bis an diesen Punkt konnte ich es zuerst nicht recht glauben, dass gerade das Update jetzt ganz einfach laufen sollte – bis ich selbst das erste Update von Magento 2.1.2 auf 2.1.3 per Klick im Admin-Backend durchgeführt habe. Ein umfangreicher Systemcheck prüft zunächst Dinge wie z.B. die PHP-Version, Memory-Limits, Cronjobs, Abhängigkeiten von Modulen usw.

Wenn hier etwas nicht stimmen sollte, kann man den Update-Prozess im Backend übrigens nicht erzwingen! Nachdem automatisiert Backups vom System, Media-Ordnern und der Datenbank angelegt wurden, läuft der Update-Prozess per Klick automatisch durch. Das hat mich wirklich nachhaltig beeindruckt!
Ein kleiner Test im Frontend zeigt, dass das System auch noch funktioniert, aber die Theme Einstellungen (logo, custom code usw.) trotz korrekter Einbindung einfach auf das Magento-Luma-Theme zurückgesetzt wurden. Ärgerlich, aber immerhin relativ schnell zu beheben.

Wer von Magento 1 ein Upgrade vornehmen will, der kommt um die umfangreiche Migration leider nicht herum, auch muss das Theme dabei neu gecodet werden, da Magento2 diesbezüglich etwas anders funktioniert.

Performance

Magento 1 wurde oft vorgeworfen in Sachen Performance nicht die hellste Kerze auf der Torte zu sein. Flexibilität wirkt sich immer schlecht auf die Performance aus, insofern ist der Vorwurf aus meiner Sicht nicht ganz gerechtfertigt, ein Schlachtschiff ist und bleibt ein Schlachtschiff und keine Rennyacht! Natürlich erhofft man sich bei einem grundlegenden Neubau, wie Magento2 einer ist, ein paar Verbesserungen auf der Performance-Seite. In meinen kleinen Tests ohne große Optimierungen konnte ich leider keine weltbewegenden Verbesserungen feststellen, das empfohlene Memory-Limit liegt mit 768M deutlich höher als noch bei Magento 1.x (265M), bei Nutzung des Web-Wizards (z.B. bei Updates per Klick im Backend) werden sogar 2GB empfohlen! Stolze Anforderungen …

Gerade ohne spezielle Speed-Optimierungen im Code ist Magento 2 gefühlt genauso behäbig wie Magento 1 – eine einfache Kategorieseite benötigt fast 80 JS-Dateien und insgesamt 110 Serverabfragen … hier sind andere Shopsysteme in ihrer Grundkonfiguration deutlich schlanker und performanter unterwegs, aber ich bin mir sicher, auch hier lässt sich einiges in Sachen Optimierung herausholen.

So bringt die Standardkonfiguration von Magento 2 wie schon bei Magento 1 keine gzip-Kompression oder Nutzung von Browser-Caches mit, was einen enormen Performance-Schub bringen kann. Siehe dazu auch mein Beitrag zu den Grundlagen der Webseiten Performance-Optimierung.

Deutsche Herausforderungen

Jeder E-Commercer in Deutschland weiß, dass die EU so manch spannende Herausforderung an die Shopbetreiber stellt, die von US-Softwareherstellern wie Magento nicht standardmäßig implementiert werden. Das Sprachpaket von splendidinternet ist jedoch sehr gut und vollständig, die Installation geht aber leider wie fast alles „unter der Haube“ in Magento 2 nur über die SSH-Konsole.

Auch die Einfügung von rechtlichen Pflichtangaben wie Lieferfristen, Steuer, Versandkosten ließen sich relativ bequem über ein * hinter dem Währungssymbol und einem ensprechenden Text in der Fußzeile umsetzen. AGB lassen sich problemlos einfügen,  unnütze Features wie Wunschliste, Vergleichsliste, Email an Freund senden, Bewertungen, Newslettersystem (besser ein eigenes ausgereiftes System wie phpList nutzen statt die eingebauten Newslettersysteme) ließen sich zum Großteil über entsprechende Einstellungen unter System -> Konfiguration abschalten, nur die Vergleichsliste ist sehr komplex mit einigen Eingriffen in Template-Dateien zu lösen – oder „quick and dirty“-style im CSS mit display:none; – nicht elegant aber funktioniert. Hey Magento, eine einfache disable-Option im Backend hätte es auch getan!

 

Soweit der erste Eindruck.