Magento 2.3 ist da!
Mit Magento 2.3 ist das erste Minor-Release veröffentlicht worden, seitdem der dezente Hinweis „An Adobe Company“ Teil des Magento Logos ist. Zugleich gab es auch für ältere Versionen von Magento Open Source (2.2, 2.1 und 1.x) Updates, die unter anderem wichtige Security-Verbesserungen enthalten. Wir stellen die wichtigsten neuen Features von Magento 2.3 vor und fassen zusammen, was sich in Magento sonst noch verändert und verbessert hat.
Inhaltsverzeichnis
Die wichtigsten Neuerungen in Magento 2.3
Hier liefern wir einen kleinen Überblick über die wichtigsten Fakten zum neuen Release, die wir teilweise bereits in unserer Vorschau auf Magento 2.3 beleuchtet haben.
Neue Features
Magento 2.3 bringt gleich eine ganze Reihe neuer Features mit, die Entwicklern und Shopbetreibern in ihrer täglichen Arbeit sehr helfen werden. Neben dem PWA Studio für die Entwicklung von Progressive Web Apps auf der Grundlage von Magento und sehr begrüßenswerten Vereinfachungen im Datenbank-Schema stehen künftig auch eine GraphQL-Schnittstelle und die Möglichkeit der Lagerverwaltung mit mehreren Standorten (Multi-Source Inventory) zur Verfügung. Die tiefe Integration des Amazon Sales Channels in das Magento Backend bleibt allerdings Nutzern von Magento Commerce vorbehalten – und das vorerst ausschließlich als Early Access Program. Dafür steht Elasticsearch künftig auch in Magento Open Source out of the box zur Verfügung.
PWA Studio
Mit dem PWA Studio erhält Magento von der Version 2.3 an eine eigene Entwicklungsumgebung für Progressive Web Apps. Damit lässt sich die maßgeblich von Google entwickelte und vorangetriebene PWA-Technologie komfortabel auf der Basis von Magento einsetzen, um plattformunabhängige Apps für Onlineshops zu entwickeln. PWAs müssen auf den Endgeräten der Nutzer nicht mehr eigens installiert werden, funktionieren dabei dank JavaScript und intelligentem Caching aber trotzdem auch bei schwacher Internetverbindung beziehungsweise offline. Technisch funktioniert das durch die Kombination von ReactJS für Rendering und Event-Handling, Redux für das State-Management, Apollo für die effiziente API-Interaktion, Jest und Storybook für Component-Testing, Webpack für optimierte Builds und Google Workbox für Benachrichtigungen und Offline-Funktionalitäten. Entwickler finden hierfür bereits umfangreiches Material in den Magento DevDocs, um sich in das Projekt einzuarbeiten und auf GitHub am PWA Studio mitzuwirken.
Deklaratives Schema
Damit Entwickler in Zukunft für die Installation von oder Upgrades auf die jeweils neu erschienene Magento Version nicht mehr DB-Skripte für die Anpassungen in der Datenbank schreiben müssen, hat Magento nun ein deklaratives Schema eingeführt, mit dem es genügt, den gewünschten Endzustand der Datenbank zu deklarieren, so dass Magento die nötigen Schritte selbst ausführen kann und aufseiten der Entwickler keine redundanten Operationen mehr durchgeführt werden müssen. Ausführliche Informationen dazu finden sich ebenfalls in den DevDocs. Einstweilen wird es auch noch möglich sein, Datenbanken wie gewohnt mit eigenen Skripten zu pflegen, allerdings dürfte damit über kurz oder lang Schluss sein.
GraphQL API
Als Alternative zu den Schnittstellen REST und SOAP für die Frontend-Entwicklung verfügt Magento von der Version 2.3 an über eine zusätzliche Graph API für Frontend-Entwickler – insbesondere für den Einsatz in den Bereichen RWD und PWA. Wie genau die Arbeit mit der neuen Schnittstelle in der Praxis funktioniert, stellt Magento in seinem GraphQL Developer Guide und im Wiki zum entsprechenden GitHub Repository dar. In Zukunft soll die GraphQL API in einem Community Projekt weiterentwickelt werden.
Multi-Source Inventory (MSI)
Mit dem Multi-Source Inventory (MSI) enthält Magento nun ein sehr wertvolles neues Feature für Händler, deren Warenbestände an mehreren Orten verteilt lagern. Denn Magento kann nun out of the box mehrere Lagerstandorte parallel verwalten. Mithilfe des MSI können Shopbetreiber eigene Algorithmen hinterlegen und so definieren, welcher Standort für welche Produkte bei welchen Bestellungen zuständig sein soll. Über passende Schnittstellen wird die unkomplizierte Anbindung an Warenwirtschaftssysteme ermöglicht. Das MSI ist ein eigenes Modul, das bei Bedarf aktiviert werden kann. Die zugrundeliegende Funktionalität ist in enger Zusammenarbeit mit der internationalen Magento Community entstanden ist – nicht zuletzt während der Magento Community Days beim Magento Hackathon in 2017 München (wir berichteten).
Elasticsearch nun auch in Magento Open Source
Die leistungsfähige Suchmaschine Elasticsearch ist nun auch in Magento Open Source out of the box enthalten, während die alte, auf MySQL basierende Suche schon bald aus dem System entfernt werden soll. Damit können nun alle von der leicht anpassbaren, erweiterbaren und skalierbaren Suche mit integrierten Suchvorschlägen und -empfehlungen profitieren. Zudem hat Elasticsearch ein Update erhalten.
Wichtige Verbesserungen
Neben den genannten neuen Features enthält Magento 2.3 auch eine ganze Reihe von signifikanten Verbesserungen. Insbesondere die REST APIs wurden gründlich überarbeitet, aber auch im CMS-Bereich hat sich einiges getan. Hinzu kommen wichtige Security-Verbesserungen und zahlreiche kleinere Anpassungen, die im Hinblick auf Performance, Workflow und Usability deutliche Fortschritte bringen. Updates gab es neben der integrierten Elasticsearch Version auch für Redis und MySQL. Neu ist auch die Kompatibilität von Magento mit PHP 7.2.
Verbesserte REST APIs
Ab Magento 2.3 können alle integrierten REST APIs asynchron und mit Bulk Endpoints verwendet werden, was die Interaktion mit externen Systemen stabiler und performanter macht. Zum einen müssen damit Requests, die über diese Schnittstellen an Magento gestellt werden, künftig nicht erst vollständig abgearbeitet werden, bis die nächste Anfrage verarbeitet werden kann. Zum anderen lässt die neu hinzugefügte Bulk-API-Funktionalität nun auch die stapelweise Verarbeitung mehrerer Entitäten auf einmal zu. Diese beiden praktischen Verbesserungen an den REST Schnittstellen funktionieren hervorragend im Zusammenspiel mit den Message Queues, Warteschlangen für die asynchrone Kommunikation. Eine weitere gute Nachricht in diesem Zusammenhang: Besagte Queues für das Abarbeiten von Aufgaben im Hintergrund stehen nun nicht mehr ausschließlich in der kostenpflichtigen Variante Magento Commerce, sondern auch in Magento Open Source zur Verfügung, was der Performance in Frontend und Backend sehr zugute kommt.
Content-Management
Im Bereich CMS-Funktionen ist ebenfalls einiges verbessert worden: Der integrierte Editor TinyMCE wurde auf die Version 4.6 aktualisiert und kann dank eines integrierten Adapters unkompliziert durch einen anderen Editor ersetzt werden. Zudem können Banner nun mit Bordmitteln komfortabel per WYSIWYG-Editor erstellt werden. Verbesserte dynamische Blöcke und der neue Page Builder (zunächst als Beta-Modul in einem Early Access Program und dann ab Magento 2.3.1 fest integriert) bleibt derweil den Nutzern von Magento Commerce vorbehalten.
Security-Verbesserungen
Auch im Bereich Security bringt Magento 2.3 eine Reihe ansehnlicher Verbesserungen mit. So ist es nunmehr möglich, Backend-User mit fein austarierten Berechtigungen für das Löschen von Caches auszustatten, um möglichen Performance-Einbußen vorzubeugen. Auch gibt es in Zukunft eine Möglichkeit für die Zwei-Faktor-Authentisierung (2FA), also den Identitätsnachweis eines Nutzers mithilfe einer Kombination zweier unterschiedlicher, voneinander unabhängiger Komponenten. Zudem wurde Google reCAPTCHA v2 inklusive unsichtbarer Variante integriert, so dass Bots und Nutzer auch ohne Usability-Beeinträchtigung letzterer zuverlässig voneinander unterschieden werden können. Und die aktuellsten Security-Updates für das System sind in diesem Minor-Release natürlich auch enthalten.
Weitere Verbesserungen und Bugfixes
Weitere Verbesserungen gab es in den Bereichen Import und Export, im Testing und im Release-Prozess sowie (durch JavaScript-Bundling) in der Performance des Frontends. Die Geschwindigkeit in der Indexierung soll durch das parallele Ausführen von Prozessen und das Zerlegen in Shards um über 60 Prozent reduziert worden sein.
Außerdem enthält auch dieses Release eine Vielzahl größerer und kleinerer Bugfixes. So wurden zahlreiche Probleme gelöst, unter anderem mit dem Preisfilter auf der Kategorieseite, mit der Anzeige von konfigurierbaren Produkten sowie den dazugehörigen Preisen und Steuern, mit unlöschbaren Produkten im Warenkorb, mit dem Ändern der Hintergrundfarbe von Produktbildern und mit dem Schließen der Anzeige von Produktbildern im Vollbild auf iPhones. Unsere Entwickler des deutschen Sprachpakets für Magento 2 freuen sich derweil besonders über die Verbesserungen im Bereich von bislang nicht oder nur umständlich übersetzbaren Strings.
Detaillierte Informationen über die Änderungen und Verbesserungen der neuen Version können den Release Notes zu Magento 2.3 entnommen werden. Darin sind von Community-Mitgliedern eingebrachte Fixes nun mit einem entsprechenden Hinweis versehen. Und neuerdings können sich auf den Seiten zu den Magento Contributors alle, die als Community Mitglieder oder Partner an Magento mitarbeiten, anhand von Bestenlisten inklusive Punktesystem ständig mit ihren Mitstreitern vergleichen. Falls sie sich dafür interessieren sollten. Und über das neue Magento Community Portal können Entwickler sich nun noch komfortabler vernetzen und sich über den Fortschritt der unterschiedlichen Community-Projekte informieren.
Eingeschränkte Rückwärtskompatibilität
Für Entwickler hat Magento in den DevDocs übersichtlich und ausführlich zusammengestellt, an welchen Stellen die Änderungen von Magento 2.2 zu Magento 2.3 zu Kompatibilitätsproblemen führen können.
Was werden die nachfolgenden Releases enthalten?
Für das Jahr 2019 hat Magento bereits eine Reihe von zusätzlichen Features für die Magento 2.3.x Releases in Aussicht gestellt. Magento Payments, das derzeit nur für einen eingeschränkten Nutzerkreis zur Verfügung steht, soll bereits im ersten Quartal für ganz Nordamerika geöffnet werden – und wird wohl langfristig auch global verfügbar gemacht. Auch die feste Integration des neuen Page Builders in die Enterprise Variante Magento Commerce ist für das Frühjahr angekündigt. Noch in der ersten Hälfte des kommenden Jahres soll der Google Ad Channel integriert und allgemein verfügbar werden, während der Amazon Sales Channel vorerst in den USA, Kanada, Mexiko und Australien out of the box in Magento nutzbar sein wird, bevor er in der zweiten Jahreshälfte global verfügbar gemacht werden soll. Aktuelle Informationen zu den kommenden Features stellt Magento laufend auf einer Seite zur Produktverfügbarkeit bereit.
Magento 2.3 jetzt ausprobieren!
Magento Open Source 2.3 kann hier wie üblich direkt von der Website des Herstellers heruntergeladen werden. Was sich an der Bedienung des Backends geändert hat und wie die neuen Features genutzt werden können, hat Magento im Change Log zum User Guide zusammengestellt.
Und wer Magento 2.3 sofort testen möchte, ohne das System erst installieren zu müssen, kann das ganz einfach in unserem offenen Demoshop tun (User: demoshop, Passwort: [demoshop_password]). Das Frontend findet sich hier.
Weitere Releases für ältere Versionen
In Sachen Security und PHP-Kompatibilität gibt es auch für alle, die ältere Magento Versionen einsetzen, wieder einmal Neues. Denn gemeinsam mit dem Release von Magento Open Source 2.3.0 wurden nun auch die Versionen 2.2.7 und 2.1.16 mit PHP 7.1 Support, die Version 1.9.4.0 mit PHP 7.2 Support und der Security-Patch SUPEE-10975 ohne integrierte Unterstützung für eine höhere PHP-Version verfügbar gemacht. Für alle Magento Shops gilt wie immer bei sicherheitsrelevanten Updates: Ein Upgrade auf die jeweilige aktuelle Version oder das Einspielen des Patches muss umgehend durchgeführt werden, um potenzielle Risiken so schnell wie möglich auszuräumen. Weiter Informationen dazu haben wir in einem gesonderten Blog-Beitrag zusammengefasst.