Was ist neu in Magento 2.2?

Gut 15 Monate nach Version 2.1 hat Magento ein Update seiner Webshop-Software herausgebracht: Magento 2.2 ist am 26.09.2017 erschienen. Was sich mit dem neuen Minor-Release getan hat, habe ich beim Magento Meetup Austria erzählt. Die Slides dazu finden Sie bei Slideshare.

Unterstützung bis 26.09.2019

Da jede Minor-Version (das heißt 2.0.x, 2.1.x, 2.2.x, …) zwei Jahre lang nach Erscheinen unterstützt wird, können HändlerInnen die ihren Shop auf dieser Vesion laufen haben bis September 2019 mit Updates rechnen.

Viele Fehler-Behebungen in Magento 2.2

Magento hat die Zeit genutzt, um unter tatkräftiger Mithilfe der Community viele Fehler zu beheben. Insgesamt 428 Bugfixes zählte Ryan Hoerr in der Änderungsliste für die kommerzielle Version Magento Commerce. Davon steuerte die Community 71 Fixes bei.

Einbindung von externen Services

Wie ich bei meinem Besuch auf der Imagine-Konferenz berichtet habe kündigte Magento dieses Jahr Features an, die über externe Services realisiert werden.

Diese Dienste sind nun mit Magento 2.2 verfügbar bzw. werden es bald sein:

  • Social (der Produkt-Katalog kann einfach auf Facebook veröffentlicht werden),
  • Business Intelligence (auch als Advanced Reports bezeichnet),
  • Shipping (in 2.2.2)

Details zu den Services finden Sie in meinem Blogpost bei LimeSoda.

Weiters kann mit Magento Commerce 2.2 der Betrugs-Erkennungs-Service Signifyd eingebunden werden.

B2B-Modul

Wahrscheinlich die wichtigste Verbesserung von Magento 2.2 neben der höheren Stabilität ist das B2B-Modul. Es steht Commerce-Kunden ohne zusätzliche Kosten zur Verfügung. Dabei handelt es sich um ein Modul, das Magento Inc. programmiert hat. Man bindet es direkt in den Code am eigenen Server ein.

Die Erweiterung reichert Magento mit typischen B2B-Features an:

  • Beliebig verschachtelbare Hierarchien von Firmen- und User-Subaccounts mit Rechteverwaltung
  • Firmenspezifische Preislisten und Produktkataloge
  • Preisanfragen („Request for Mode“) mit Abwicklung der Korrespondenz direkt in Magento 2
  • Schnellbestellungen
  • Und vieles mehr

Erhöhte Sicherheit

Magento verbesserte die Code-Basis in einigen Bereichen, um die Sicherheit zu erhöhen und potentiellen Sicherheitslücken vorzubeugen. Aufrufe der PHP-Funktion unserialize() wurden entfernt. Die ProgrammiererInnen weiteten zudem den Schutz gegen Cross-Site-Scripting-Attacken (auch bekannt als XSS) aus.

Bessere Geschwindigkeit und Skalierbarkeit

Das Team arbeitet regelmäßig an Verbesserungen in der Performance.

In diesem Release tragen folgende Änderungen zu einer besseren Geschwindigkeit bzw. Skalierbarkeit bei:

  • Indexing ohne Auswirkungen auf das Frontend
    Wenn Magento so genannte Indizes berechnet, führte das oft dazu dass Kunden die Seite langsamer präsentiert bekamen. Das soll nun nicht mehr der Fall sein.
  • Unterstützung von saint & grace mode in Varnish
    Wer Varnish in seinem Shop im Einsatz hat, darf sich über eine höhere Hit-Ratio und die Unterstützung der Modi saint & grace freuen.
    Ersteres heißt, dass mehr Anfragen vom schnellen Varnish bedient werden und der Request seltener vom langsameren PHP/Magento-Teil bedient werden muss.
    Zweiteres bedeutet, dass Varnish den KundInnen weiterhin eine Seite anzeigen kann – selbst wenn der PHP/Magento-Part im Hintergrund gar nicht funktioniert. Zudem kann Varnish noch eine (vielleicht leicht veraltete) Seite anzeigen kann, falls PHP/Magento nicht schnell genug die aktuelle Seite liefert. Das tut man, weil es im Zweifelsfall besser ist dem Kunden eine alte Version zu zeigen als ihn ganz ziehen zu lassen. Im Hintergrund fordert Varnish trotzdem die neue Seite an und cacht sie. Beim nächsten Aufruf sieht ein Kunde dann die neue Seite.
  • Größere Warenkörbe / Bestellungen
    Bestellungen mit 300 Bestellposten oder mehr konnten bisher in Magento 2 Probleme bereiten. Die Bestell-Abschlüsse von solch großen Orders wird nun schneller durchgeführt.

Aktualisierter Technologie-Stack

Magento 2.2 verwendet nun neuere Versionen der zugrunde liegenden Technologien:

  • PHP 7.1 wird nun unterstützt. Der Support für PHP 5.6 wurde hingegen eingestellt. So kann man von den neuen Sprach-Features von PHP 7 profitieren.
  • Varnish 5 ist jetzt kompatibel mit Magento. Dafür musste der Support für Varnish 3 gehen.
  • MySQL 5.7 und (in der Commerce-Version) Redis 3.2 sind neu in der Palette der unterstützten Versionen.
  • Die in Commerce eingebaute Suche stellt den Support für Solr ein. Der Code befindet sich momentan noch im Produkt. Man soll aber nur noch ElasticSearch verwenden.
  • Composer und die Packages von Zend Framework 2 und 1 wurden aktualisiert. Community-Beiträge reduzierten auch die Verwendung von Zend Framework 1. Mit der Zeit soll es komplett aus dem Core verschwinden.

Pipeline Deployment

Mit Magento 2 ist es komplizierter als in Magento 1, Code auf Kunden-Server auszuliefern ohne dass die Seite dabei längere Zeit im Wartungsmodus ist. Damit Integratoren es wieder leichter haben, implementierte Magento mit dem Pipeline-Deployment einen neuen Deployment-Prozess.

Ziel ist, denjenigen die einen Shop programmieren eine gute Standard-Prozedur an die Hand zu geben. EntwicklerInnen müssen nicht mehr ihr eigenes Süppchen kochen. Somit kann man auf diese Basis zurück greifen und mit geringer Downtime Änderungen am Webshop online zu bringen.