Einblick in OXID 6.2

18. März 2020

 

Die Veröffentlichung der neuen OXID eShop Version 6.2 steht kurz bevor. Wir haben dies zum Anlass genommen und uns die Neuerungen im aktuellen Release Candidate 2 im Detail angesehen.

Weniger Code dank Events

OXID Console

  • Symfony Console Komponente als Basis.
  • Ausführen von vorhandenen und eigenen Commands über CLI.
  • Beispiel:
    vendor/bin/oe-console oe:module:activate <module-id> --shop-id=<shop-id>
  • Dokumentation

Dependency Injection / Services

  • Symfony DI Container Komponente als Basis.
  • Nutzung eigener Services im gesamten OXID-Framework.
  • Flexiblere sowie unabhängigere Entwicklung von Core-Erweiterungen.
  • Beispiel:
    $containerFactory = ContainerFactory::getInstance();
    $container = $containerFactory->getContainer();
    $moduleActivationService = $container->get(ModuleActivationBridgeInterface::class);
  • Dokumentation
  • Slides „Dependency injection in der OXID Projektentwicklung“

Überarbeitete Modulkonfiguration

  • Speichern aller Modulinformationen (analog metadata.php) in YAML-Files.
  • Überschreiben einzelner Werte durch „Environment-Files“ möglich.
  • Einspielen einer definierten Shop-Modulkonfiguration (1.yaml) über OXID Console.
  • Modulinstallation per composer oder manuell über OXID Console.
  • Dokumentation
  • OXID Console Moduleactivator

optionale Templates mit TWIG

  • Templates können alternativ zu SMARTY jetzt auch mit TWIG genutzt werden.
  • Konvertierung von Smarty zu Twig mit Tool (Github) möglich.
  • Dokumentation

Unterstützung neuer PHP-Versionen und MariaDB

  • OXID 6.1 wird nur bis PHP 7.1 supportet.
  • Ab OXID 6.2 auch Unterstützung von PHP 7.2/7.3 und 7.4.
  • Offiziell ist es jetzt auch möglich MariaDB (getestet mit 10.4) alternativ zu MySQL zu nutzen.

Eigene „Shop offline“ Logik

  • Derzeit wird bei Problemen (Error 500) die sog. „Shop offline“ Meldung (offline.html) angezeigt.
  • Sofern die Datei offline_cust.php im Shop-Root vorhanden ist, kann hiermit in Zukunft eigene Logik verwenden werden, z. B. für besseres SEO-Handling

Testing Framework

Neben den soeben augeführten Punkten gab es außerdem noch Änderungen im Bereich Modulhandling (Aktivierung, Deaktivierung, Import, Export), Verwendung von QueryBuilder in Modulen, Aktualisierung des Metapackages und der Unterstützung des NGINX Reverse Proxy Moduls (nur Enterprise Edition). Das gesamte Changelog gibt es hier.

Sneak-Preview: Noch nicht im Release, aber auf dem Weg, die neue OXID GraphQL Schnittstelle. ;-)

Wir hoffen an dieser Stelle einen kurzen Einblick über die neue OXID Version 6.2 geben zu können und freuen uns auf das baldige Release.