Beiträge

Shopware 6 Early Access Version 2 ist online

Seit dem 21.10.2019 ist nun Shopware 6 Early Access online. Mit diesem Update wurde vieles für Entwickler geändert. Aber auch Shopware hat intern einen Meilenstein mit diesem Update erreicht.
Im ersten Shopware Early Access Release wurde schon einiges hinzugefügt nun wurde das erweitert.

In diesem Blog Beitrag werden wir nicht alle Neuheiten von Shopware 6 EA2 vorstellen.
Falls Sie mehr Informationen zu den neusten Änderungen haben wollt, könnt ihr hier einmal nachschauen.

Plugin-Funktionen

In Shopware 6 unterscheiden sich die Plugins von Symfony Bundles durch die hinzugefügten Lifecycle-Events.
Es gibt 7 verschiedene Lifecycle-Events.

  • install() – wird aufgerufen, wenn das Plugin installiert wird.
  • postInstall() – wird aufgerufen, wenn das Plugin installiert wurde.
  • update() – wird aufgerufen, wenn das Plugin geupdatet wird.
  • postUpdate() – wird aufgerufen, wenn das Plugin geupdatet wurde.
  • activate() – wird aufgerufen, wenn das Plugin aktiviert wird.
  • deactivate() – wird aufgerufen, wenn das Plugin deaktiviert wird.
  • uninstall() – wird aufgerufen, wenn das Plugin deinstalliert wird.

Seid dem Update auf die Early Access 2 gibt es jetzt die Möglichkeit, in der activate() und deactivate() Methode eines Plugins alle Shopware Services zu nutzen. Nun können auch komplexe Logiken für die Aktivierung und Deaktivierung genutzt werden.

Des Weiteren wird nun durch eine Änderung des Lifecycle immer die Deaktivierungsmethode aufgerufen, bevor die Deinstallationsmethode aufgerufen wird. Selbst wenn der Benutzer eine Deinstallationsmethode ausführt.

Verbesserung des Themes

In Shopware 5 ist es derzeit so, dass bei einer Änderung der Theme Konfiguration das gesamte Theme neuinstalliert werden muss.
Das wurde nun mit dem Release des Shopware 6 Early Access 2 geändert.
Nun wird das Theme nicht mehr komplett neuinstalliert, sondern nur noch die Konfiguration geupdatet.

Das hat den Vorteil das man bei einer Änderung der Theme Konfiguration nicht mehr das komplette Theme neuinstallieren muss und sich dadurch viel Zeit erspart.

Ein Update bei den Snippets?

Ja, Sie haben es richtig gelesen auch die Snippets kamen nicht zu kurz weg bei dieser Early Access.
Sie können ab sofort auch einfaches HTML in Snippets zur Formatierung nutzen.

Diesen Beitrag bewerten

Shopware Data Abstraction Layer (DAL)

Was ist ein Data Abstraction Layer?

Mit Shopware 6 kam der neue Data Abstraction Layer (DAL) hinzu, Shopwares eigene entwickelte Abstraktionsschicht.
Durch die neue Entwicklung hat man Zugriff auf alle notwendigen Daten einer Datenbank.

Egal ob es um das Thema performantes Auslesen oder das schnelle und sichere Hinzufügen von Datensätzen sowie das einfache Verändern der Datensätze geht, hierbei hilft dir der DAL.

Entity?

Ein Entity stellt die Daten, einer einzelnen Zeile einer Datenbanktabelle zur Verfügung. Ein Entity kann auch verknüpfte Daten enthalten. Dies kann man zum Beispiel bei einem ProductEntity sehen. Bei diesem ist nicht nur das Produkt da, sondern auch der Hersteller verfügbar.

Der Data Abstraction Layer liefert Standardlösungen für die Übersetzbarkeit von Entities, Versionierung und eine automatische Integration der eigenen API. Durch diese Standardlösung wird ein Entity, welches man komplett definieren und konfigurieren kann, direkt in der API komplett nutzbar gemacht.

Die Zuständigkeit kann man durch den DAL trennen, dass bedeutet anhand der Anwendungsfälle, die eine Datenschicht aufweist kann man jeweils eine andere Implementierung angesprechen.
Es gibt jeweils eine Implementierung für einen Writer, Reader, Searcher und Aggregation. Dadurch muss die darunterliegende Storage-Engine nicht dieselbe sein.

Wenn Sie etwas über DAL-Suche suchen, bekommen Sie eine Sammlung an Daten zurück, die Sie zum Beispiel nach bestimmten Kriterien sortieren können. Des Weiteren bekommen Sie Metainformationen basierend auf der Suche zurück.

Wie bei Doctrine ORM ist der zentrale Zugriffspunkt das Repository. Dies benutzt man, um mit der hinterlegte Storage-Engine zu kommunizieren. Das Repository beinhaltet alle Basismethoden. Dadurch kann mit den gespeicherten Daten arbeiten.
Um das Verarbeiten innerhalb Shopwares einfacher zu machen, löst jeder DAL-Request ein eigenes Event aus. Egal was Sie machen ob Daten auslesen oder Daten hinzufügen, alles löst ein eigens Event aus, welches Shopware verarbeiten kann.

Anlegen einer Datenbanktabelle

Um in Shopware 6 eine neue Datenbanktabelle per Plug-in zu erstellen benötigen Sie 3 Dateien.

  • In der ersten Datei wird die Datenbanktabelle mit einem SQL Code erstellt.
  • Um diese Tabelle nun nutzbar für Data Abstraction Layer zu machen, benötigen wir eine weitere Datei.
  • Als Drittes wird noch eine Entity Datei benötigt um, die mit den Abfrageergebnissen arbeiten zu können. Diese Datei ist aus Doctrine schon gut bekannt.

Weitere Möglichkeiten werden wir dann in laufe der Zeit herausfinden und Sie hier Vorstellen.

Diesen Beitrag bewerten

Neuheiten in Shopware 6

Ankündigung von Shopware 6

Am 23 Mai 2019 wurde in Duisburg eine große und lange erwartete Ankündigung beim Shopware Community Day gemacht. Shopware 6 wurde offiziell vorgestellt.

Developer Preview

Ab jetzt steht Shopware 6 offiziell den Entwicklern zur Verfügung. Durch diese Neuerung können sich Entwickler mit der neuen Administration, die auf vue.js basiert und dem Frontend, welches auf Twig und Bootstrap 4 basiert, austoben. Zudem können neue Dinge von Synfony 4 ausprobiert werden, die bis jetzt noch nicht so einfach möglich waren.

Shopware 6.0

Ab Juli soll es dann einen Early Access für Shopware 6.0 geben. Dieser kommt dann mit einem Installationspaket für den neuen Demo-Shop.
In dieser Zeit werden häufiger Updates erscheinen, um auftretende Fehler schnellstmöglich zu beheben. Diese Updates können über die Administration mithilfe eines Auto-Updates erledigt werden. Somit bleibt man immer auf dem aktuellsten Stand.
Die verschiedenen Shopware-Editionen werden wieder in mehrere Produkte unterteilt. Zu den verschiedenen Produkten zählen die Community Edition, die Professional Edition und die Enterprise Edition.

Shopware 6.1

Im Dezember soll dann bereits Shopware 6.1 komplett live gehen. Mit dieser Ankündigung haben wahrscheinlich die wenigsten Menschen gerechnet.
Mit dem Release von Shopware 6.1 werden die Update Patches wieder im gewohnten 6-8 Wochen Rhythmus erscheinen.

Weitere geplante Updates sind einsehbar in der Roadmap von Shopware.
Mit dem Release von Shopware 6.1 werden wir dann kaum noch Features vermissen, die es bereits jetzt in Shopware 5 gibt. Es ist durchaus möglich, dass noch nicht alle Features zum Release fertig und damit auch nicht nutzbar sein werden. Jedenfalls werden diese Features dann Stück für Stück nachgereicht.

MIT Lizenz

Die Shopware AG wird Shopware 6 mit der MIT Lizenz anbieten. Das bedeutet, Shopware wird komplett quelloffen und nicht verschlüsselt sein. Somit kann jeder diese Software nutzen und verändern.

API-First

Durch die komplette Neuentwicklung von Shopware wurde der Ansatz „API-First“ implementiert.
Da die Software über 3 verschiedene API’s (Core-, Store- und Sync-API) läuft, wird sich das komplette System (oder nur Teilbereiche) vollständig über Schnittstellen fernsteuern lassen.
Dadurch kann das Frontend auf einem ganz anderen Server liegen wie das Backend. Es gibt nun durch den API-First-Ansatz die Möglichkeit, verschiedene API‘s aus der Ferne anzusprechen.

Zukunft von Shopware 5?

Nun stellt sich natürlich die Frage:
Was passiert mit Shopware 5? Muss ich meinen Shop direkt auf Shopware 6 upgraden?

Die kurze Antwort ist: Nein.
Shopware 5 erhält noch weitere 5 Jahre Long Term Support. Es werden weitere Updates erscheinen. Und das werden nicht nur Sicherheitsupdates sein, sondern auch größere Änderungen.
Diese findet man ebenfalls auf der Roadmap.

Shopware 5.6
Sie wollen Features von Shopware 6 schon in Shopware 5 nutzen?

Dann ist Shopware 5.6 die richtige Shopware-Version für Sie. Durch diese Version der Software können Sie einige der bald erscheinenden Shopware 6 Features nutzen.
Aber bei einem Update auf die Version 5.6 sollten Sie beachten, dass die PHP Versionen 7.1 und 7.2 nicht mehr unterstützt werden. Somit kann nur noch die Version 7.3 genutzt werden.

Derzeit ist der Warenkorb noch nicht das Gelbe vom Ei.
Aber es werden auch für diesen einige Verbesserungen kommen. So wie beispielsweise das Speichern des Warenkorbs für den Nutzer. Somit verschwindet der Warenkorb nicht mehr bei einem Sprachwechsel oder er kann beim Login wiederhergestellt werden.

Diesen Beitrag bewerten