OXID eShop 6.2.0

Veröffentlichungstermin: 31.03.2020
Veröffentlichungstermin RC2: 26.02.2020
Veröffentlichungstermin RC1: 11.11.2019
Veröffentlichungstermin Beta 1: 02.08.2019


Allgemeines

OXID eShop 6.2.0 wird als Compilation bereitgestellt. Diese enthält u.a. folgende Komponenten:

  • OXID eShop CE 6.5.3
  • OXID eShop PE 6.4.0
  • OXID eShop EE 6.5.1
  • Theme „Flow“ 3.4.1
  • Theme „Wave“ 1.3.1
  • Amazon Pay 3.6.4
  • GDPR Opt-In 2.3.0
  • Klarna 5.1.4
  • Paymorrow 2.0.3
  • PAYONE 1.3.1
  • PayPal 6.1.0
  • WYSIWIG Editor + Mediathek 2.2.0
  • Visual CMS (PE/EE) 3.3.3

Alle Änderungen in der Compilation können im Metapackage eingesehen werden: https://github.com/OXID-eSales/oxideshop_metapackage_ce/compare/b-6.1…b-6.2.

OXID eShop 6.2.0 enthält eine Sicherheitsverbesserung im Zahlungsmodul PAYONE.

Systemvoraussetzungen

OXID eShop 6.2.0 läuft unter PHP 7.1 bis 7.4. Als Datenbank wird MySQL in der Version 5.5 oder 5.7 und MariaDB in der Version 10.4 unterstützt. Der Einsatz von MySQL 5.6 wird nicht empfohlen, da es Probleme mit einer Enterprise Edition geben könnte. Beachten Sie dazu bitte den Blog-Post: Set MySQL 5.6 optimizer setting „block_nested_loop = off“ for OXID eShop Enterprise Edition. Als Webserver kann Apache 2.2 oder 2.4 auf einem Linux-System eingesetzt werden.

Installation

Die Neu-Installation und das Update von 6.1.x auf 6.2.0 werden im Abschnitt „Installation“ beschrieben.

Neu-Installation
Von 6.1.x auf 6.2.0 aktualisieren

Bei der Installation wird das neue Verzeichnis /var auf der gleichen Ebene wie /source und /vendor erstellt, auf welches der HTTP-Server und der CLI-Benutzer Lese- und Schreibzugriff benötigt.

Bitte führen Sie ein Update erst in einer Test- oder Entwicklungsumgebung, einer Kopie Ihres aktuellen Shops, aus. Testen Sie anschließend den Bestellprozess sowie Zahlungs- und Versandarten. Arbeitet der Shop korrekt, kann der Shop im Live-System durch den aus der Test- oder Entwicklungsumgebung ersetzt werden.

OXID eShop 6.0.* hat nun EOL (End of Life) erreicht und wird nicht mehr unterstützt. Bitte führen Sie ein Update aus, falls Sie noch einen Shop dieser Serie einsetzen.


Neue Funktionen

Reverse Proxy NGINX

Die OXID eShop Hochlastoption ist ein Add-On für den OXID eShop Enterprise Edition in der Version 6. Mit Caching wird vor allem in Lastspitzen das schnelle Generieren und Ausliefern der HTML-Seiten sichergestellt. Das Caching übernimmt ein Reverse Proxy, der vor dem eigentlichen Webserver eingehende Anfragen von Web-Clients verarbeitet. Die OXID eShop Hochlastoption unterstützt jetzt NGINX Version 1.14.0 und höher als Reverse Proxy und bietet damit eine Alternativ zum bisher verwendeten Varnish.

OXID eShop console

OXID eShop 6.2.0 nutzt die Symfony Console. Mit dieser können Entwickler eigene Kommandos für Komponenten und Module schreiben, registrieren und ausführen. Informationen dazu sind in der englischsprachigen Entwicklerdokumentation zu finden: https://docs.oxid-esales.com/developer/en/6.2/development/tell_me_about/console.html.

Template Engine Twig

OXID eShop unterstützt Twig, ein Symfony Project, als alternative Template Engine. Entwickler können entscheiden, ob sie Twig anstelle von Smarty in den Templates verwenden möchten. Für die Umstellung von Smarty auf Twig werden Tools zur Verfügung gestellt.

Dependency Injection

Dependency Injection (DI), ein Entwurfsmuster in der objektorientierten Programmierung, kann jetzt in Modulen genutzt werden. Implementiert wird DI innerhalb von OXID eShop mit Hilfe des Symfony DI containers. Dependency Injection bedeutet verkürzt und zusammengefasst, dass ein Objekt, welches die Funktionalität eines anderen Objektes benötigt, dieses nicht selbst instantiieren darf. Das Objekt wird von außen injiziert. Was Depency Injection für Projektentwickler bedeutet, wird in einem dreiteiligen Beitrag unseres neuen Corporate Blogs vorgestellt: Teil 1: die Grundlagen, Teil 2: DI innerhalb von Modulen und Teil 3: Erweiterung der Shop-Logik mit Hilfe des Symfony DI containers.

Events

Mit OXID eShop 6.2.0 wird ein Eventhandling eingeführt, welches auf Symfony Events and Event Listeners basiert. Erste Events, die implementiert wurden, erlauben einen verlässlicheren Weg, die Funktionalität des Shops zu erweitern. Events sind die bessere Alternative zur traditionellen Vererbung innerhalb der Klassenkette. Sie können vom Shop und von Modulen verarbeitet werden. Die englischsprachigen Entwicklerdokumentation enthält eine Einführung zum Eventhandling und eine Übersicht der aktuell verfügbaren Events: https://docs.oxid-esales.com/developer/en/6.2/development/tell_me_about/event/index.html.

Doctrine SQL Query Builder

Der Doctrine SQL Query Builder kann jetzt auch in Modulen genutzt werden. Eine Anleitung für eine Datenbankabfrage ist ebenfalls in der Entwicklerdokumentation zu finden: https://docs.oxid-esales.com/developer/en/6.2/development/modules_components_themes/module/using_database.html#making-a-query.

Codeception

Für den OXID eShop werden Codeception acceptance tests eingeführt, die für das Schreiben von Acceptance Tests für Module der Themes „Flow“ und „Wave“ empfohlen werden. Für die Entwickler sind diese Tests einfacher zu schreiben, zu verwenden und zu warten. Ein weiterer Vorteil ist, dass neuere Treiber unterstützt werden. Ausführliche Informationen sind in der englischsprachigen Entwicklerdokumentation zu finden: https://docs.oxid-esales.com/developer/en/6.2/development/modules_components_themes/module/testing/codeception/index.html.

Neues Verzeichnis /var

Der Shop hat nun das neue Verzeichnis /var auf der gleichen Ebene wie /source und /vendor. Es nimmt, durch Unterverzeichnisse strukturiert, die Modulkonfigurationen auf. Diese werden pro Subshop (bei einer Enterprise Edition) und umgebungsspezifisch (Produktion, Staging, Entwicklung) in .yaml-Dateien gespeichert. Das Verzeichnis benötigt bei der Installation und zur Laufzeit rekursiv Lese- und Schreibzugriff für HTTP-Server und CLI-Benutzer.

Benutzerdefinierte Shop offline-Seite

Der Shop kann eine benutzerdefinierte Shop offline-Seite mit angepasstem Layout und/oder speziellen Funktionen anstatt der Standardseite, die auf Wartungsarbeiten hinweist, anzeigen. Dies kann durch Überschreiben der Methode oxTriggerOfflinePageDisplay erreicht werden.

Zeichensatz der Datenbankverbindung

In der Konfigurationsdatei config.inc.php kann der Zeichensatz der Datenbankverbindung durch einen neuen Parameter festgelegt werden. Beispiel: $this->dbCharset = 'utf8';


Verbesserungen und Anpassungen

Aktualisierte Komponenten der OXID eShop Compilation

Folgende Komponenten wurden auf eine neue Version aktualisiert:

Sortierung von Zubehör für Artikel

Im Zuordnungsfenster für das Zubehör lässt sich die Reihenfolge der zugeordneten Artikel ändern. Nachdem ein Artikel in der rechten Liste markiert wurde, kann dieser mit den jetzt angezeigten Minischaltflächen nach oben oder unten verschoben werden.

Änderungen im Modulsystem

Heute ist es in größeren und mittleren Projekten Standard, den OXID eShop in verschiedenen Umgebungen wie Integration, Staging und Produktion zu betreiben. Um Module einfach zu konfigurieren, anstatt sie in jeder Umgebung separat zu verwalten, wurde das Modulsystem entsprechend erweitert. Es ist nun möglich, die Umgebung über YAML-Konfigurationsdateien zu verwalten. Diese werden im neuen Verzeichnis /var und seinen strukturierten Unterverzeichnissen gespeichert. Detaillierte Informationen dazu finden Sie in der englischsprachigen Entwicklerdokumentation: https://docs.oxid-esales.com/developer/en/6.2/development/modules_components_themes/project/module_configuration/modules_configuration.html#configuring-module-20190910

Die Datei metadata.php wird strikter validiert. Die Versionsangabe ist jetzt verpflichtend und zusätzlicher Quellcode ist nicht gestattet.

Änderungen im Testing-Framework

Es gab eine Reihe von Änderungen im Testing-Framework.

Ausführliche Information zum Testen von Modulen hält die englischsprachige Entwicklerdokumentation bereit: https://docs.oxid-esales.com/developer/en/6.2/development/modules_components_themes/module/testing/index.html.

Übersicht aller Änderungen

Änderungen gegenüber den vorhergehenden Versionen der Komponente OXID eShop können im Repository der Community Edition auf GitHub eingesehen werden: https://github.com/OXID-eSales/oxideshop_ce/compare/v6.3.6…v6.5.3. Wechseln Sie zur Registerkarte Files changed, um die Liste aller geänderten Dateien aufzurufen.