OXID eShop 4.7.0/5.0.0

Versionsbezeichnung: 5.0.0, Revision 51243
Edition: Enterprise Edition

Versionsbezeichnung: 4.7.0, Revision 51243
Edition: Professional Edition und Community Edition

Veröffentlichungstermin: 08.11.2012


Allgemeines

In dieser Shopversion wurden zwei Haupt-Features für die Enterprise Edition entwickelt und umgesetzt: Caching und Master/Slave. Die Features tragen wesentlich zur Verbesserung der Performance und zur Reduktion von Lastspitzen in Hochlast-Szenarien bei. Sie erweitern damit signifikant das Potential des OXID eShop. Dies wird durch die Versionsbezeichnung 5.0.0 zum Ausdruck gebracht. Professional und Community Edition wurden mit der Versionsbezeichnung 4.7.0 veröffentlicht. Sie enthalten alle wichtigen Änderungen am OXID Framework und am Core sowie sämtliche Korrekturen.

Zukünftig sollen alle drei Shop-Editionen wieder zusammengeführt werden. Die nächsten Releases sollen neue Funktionen enthalten, die hauptsächlich für OXID eShop, die kleineren E-Commerce betreiben, hilfreich sind. Selbstverständlich wird dabei die Open Source-Strategie weiter konsequent umgesetzt und der OXID eShop auf einer gemeinsamen Code-Basis entwickelt.

Update-Installation

Das Update auf OXID eShop Version 4.7.0 (Community und Professional Edition) und Version 5.0.0 (Enterprise Edition) unterscheidet sich grundlegend vom Standard-Update und kann nur auf einen OXID eShop Version 4.6.5 bzw. 4.6.6 angewandt werden. Haben Sie eine vorhergehende Shopversion im Einsatz, muss diese zuerst auf 4.6.5 bzw. 4.6.6 aktualisiert werden.

Die Anleitung Auf 4.7.0/5.0.0 aktualisieren beschreibt das Update des OXID eShop.

Hinweis

Wir empfehlen dringend, das Update erst in einer Test- oder Entwicklungsumgebung, einer Kopie Ihres aktuellen Shops, auszuführen. 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.


Neue Funktionen

Caching (nur Enterprise Edition)

Für die Enterprise Edition wurde ein neues Caching-System implementiert. Es wird durch drei Hauptkomponenten umgesetzt: durch den in den OXID eShop integrierten Cache Manager, unterstützt durch den Reverse Proxy Varnish und/oder durch Memcached. Das Zusammenwirken der Komponenten bewirkt, dass – wenn immer möglich – zwischengespeicherte Inhalte genutzt und an die anfragenden Web-Clients geschickt werden. Damit werden die Datenbankzugriffe reduziert und die Antwortzeiten des OXID eShop verkürzt.

Anleitung zur Konfiguration von Varnish und Memcached sowie zu den Einstellungen für das Caching finden Sie im Abschnitt Caching unserer Online-Dokumentation.

Master/Slave (nur Enterprise Edition)

Die Enterprise Edition kann bei aktiviertem Master/Slave mit mehreren Datenbanken betrieben werden. Dabei ist eine Datenbank die Master-Datenbank, die hauptsächlich Schreibzugriffe verarbeitet. Die Slave-Datenbanken enthalten gespiegelte Daten und bedienen die Lesezugriffe. Ein Load-Balancer verteilt die Datenbankzugriffe nach dieser grundsätzlichen Unterscheidung auf die Master-Datenbank und auf die Slave-Datenbanken.

Sie finden die Anleitung zur Konfiguration von Master/Slave im Dokument Master/Slave unserer Online-Dokumentation.

Widgets

Mit den Widgets wurde ein neuer Komponententyp für den Seitenaufbau des OXID eShop eingeführt. Es sind logische Elemente der Benutzeroberfläche (GUI), die in jedem beliebigen Template verwendet werden können. Die Aufteilung der Seiten in kleine Einheiten ist eine wichtige Voraussetzung für das Caching. Weitere Informationen zu den Widgets finden Sie im Tutorial Widgets in 4.7 + 5.0 in der OXIDforge.

Benutzerdefinierte Konfigurationsdatei

Eigene Konfigurationseinstellungen können in der Datei cust_config.inc.php definiert werden, die beim Start nach der config.inc.php geladen wird. Die benutzerdefinierte Konfigurationsdatei muss sich im Hauptverzeichnis des OXID eShop befinden.

Datenbanktabellen mit Zeitstempel

Alle Datenbanktabellen erhielten ein zusätzliches Datenbankfeld “oxtimestamp”. Beim Erstellen und Ändern von Datensätzen wird die jeweilige Zeit in das Datenbankfeld eingetragen. Damit sind vor kurzem erstellte und geänderte Datensätze schnell zu finden, was die Synchronisation von Daten mit angeschlossenen Systemen erleichtert.


Verbesserungen und Anpassungen

Überarbeiteter Bootstrap-Prozess

Um den OXID eShop noch schneller zu machen, wurde der Bootstrap-Prozess überarbeitet. Der sogenannte Bootstrap-Prozess ist ein Script, welches alle Methoden inkludiert, definiert und initialisiert, damit das Framework des OXID eShop korrekt arbeitet. Das Framework startet nun in einer effizienteren Weise, indem ausschließlich dessen unmittelbar benötigte Teile geladen werden.

Detaillierte Informationen zum überarbeiteten Bootstrap-Prozess finden Sie im Tutorial Bootstrap process refactored in 4.7 5.0 in der OXIDforge.

Theme “Basic” und Template-Änderungen

Das Theme “Basic” wird nicht mehr unterstützt. OXID eShop 4.7.0/5.0.0 enthält ausschließlich das Theme “Azure”. Obwohl das Theme “Basic” nicht länger gewartet wird, ist dessen Funktionalität noch vorhanden und kann nach einem Update noch genutzt werden. Eine Anleitung zur Anpassung der Templates finden Sie im Tutorial Use basic theme from version 4.7 and 5.0 on in der OXIDforge.

Templates wurden im Zusammenhang mit der sogenannten “Button-Lösung”, die nachfolgend beschrieben ist, geändert. Das Theme “Azure” enthält bereits alle notwendigen Verbesserungen, damit der OXID eShop die Vorgaben des deutschen Gesetzgebers erfüllt. Es gab auch noch weitere kleinere Änderungen in den Templates. Die als “deprecated” gekennzeichneten Bestandteile wurden entfernt.

Button-Lösung und Attribute

Wegen der vom Deutschen Bundestag beschlossenen und am 01. August 2012 in Kraft getretenen sogenannten “Button-Lösung” wurden im OXID eShop Vorgaben zur Information von Kunden im Bestellabschluss umgesetzt. Im letzten Bestellschritt werden die Details zur Bestellung kompakt am Ende der Bestellübersicht ausgegeben. Sie zeigen alle kaufrelevanten Informationen eines Artikels, inklusive der Werte bestimmter Attribute. Direkt unter diesen Informationen befindet sich der Button Zahlungspflichtig bestellen.

Ob ein Attribut im Bestellprozess als Zusatzinformation beim Artikel angezeigt werden soll, kann direkt unter Artikel verwalten ‣ Attribute, Registerkarte Stamm eingestellt werden. Aktivieren Sie dafür das Kontrollkästchen Wert des Attributs für Artikel im Bestellprozess anzeigen.

Neue Datei- und Verzeichnisstruktur

Die Architektur des OXID eShop unterliegt ständigen Erweiterungen. Die Struktur von Verzeichnissen und Dateien wurde mit diesem Major Release geändert, um die Architektur klarer zu verdeutlichen. Es erfolgte eine generelle Trennung von Framework und System-Komponenten von der eigentlichen Anwendung. Das Verzeichnis /core enthält die Komponenten des Frameworks für Datenbank-, Datei- und Session-Handling usw. Im Verzeichnis /application befinden sich alle Dateien, die den OXID eShop als Anwendung repräsentieren. Das Verzeichnis für die Anwendung wurde zudem in Unterordner aufgeteilt, die das der Architektur zugrunde liegende MVC-Konzept (Model View Controller) abbilden. Darüber hinaus erhielten Komponenten und die neuen Widgets eigene Ordner.

Bisherige Verzeichnisstruktur

/eshop
   /core
   /views
   /modules
   /out
   /tmp

Neue Verzeichnisstruktur

/eshop
   /application
      /models
      /controllers
      /components
         /widgets
      /views
      /translations
   /core
   /modules
   /out
   /tmp

Dateien und neue Speicherorte

  • Models: Dateien, zuständig für Business Logic, wurden vom Verzeichnis /core nach /application/models verschoben. Andere Dateien verblieben dort als Teil des Frameworks.
  • Controllers: Alle Dateien aus dem Verzeichnis /views wurde nach /application/controllers verschoben mit Ausnahme folgender Dateien: oxview.php, oxviewconfig.php, oxshopcontrol.php in das Verzeichnis /core und oxcmp_*.php in das Verzeichnis /application/components.
  • Controllers für Administrationsbereich wurden vom Verzeichnis /admin nach /application/controllers/admin verschoben.
  • Templates befinden sich jetzt im Verzeichnis /application/views.
  • Die generischen Sprachdateien wurden vom Verzeichnis /out/local nach /application/translations/local verschoben.

Datei für Transliteration

Die Liste der Zeichen, die in der URL durch andere Zeichen zu ersetzen sind (Transliteration), wurde aus der lang.php in die neue Datei translit_lang.php verschoben.

Sprachabhängige Überprüfung der Shopversion

Im Administrationsbereich wird unter Stammdaten –> Grundeinstellungen –> Lizenz der Update-Status geprüft. Dabei wurde bisher immer ein Ergebnis in deutscher Sprache zurückgegeben. Nun wird berücksichtigt, mit welcher Sprache die Anmeldung am Administrationsbereich erfolgte. Unterstützt werden die beiden Standardsprachen des OXID eShop Deutsch und Englisch (Default).

Modul-Handling

Beim Aktivieren und Deaktivieren von Modulen können jetzt Ereignisse ausgeführt werden. Diese sind in der Metadata-Datei zu definieren. Derzeit werden die Ereignisse “onActivate” und “onDeactivate” unterstützt. Weitere Ereignisse sind geplant.

'events' => array(
'onActivate' => 'myModuleEvents::onActivate',
'onDeactivate' => 'myModuleEvents::onDeactivate' ),

Die Klasse “myModuleEvents” wird ebenfalls in der Metadata-Datei, im Array “files” angegeben. Alle Module, die Ereignisse verwenden, müssen die Metadata-Version 1.1 haben.

Mit der geänderten Datei- und Verzeichnisstruktur hat sich auch die der Module geändert.

  • Dateien müssen mit Dateinamen und Pfad ab dem Verzeichnis des Moduls angegeben werden (oxtplblocks:OXFILE).
  • Beispiel
  • : /views/blocks/checkoutUserForm.tpl anstatt nur mit dem Dateinamen checkoutUserForm.tpl. Besteht das Modul nur aus einer Datei und hat kein eigenes Verzeichnis, muss Dateiname und Pfad /modules/file_name lauten. Dateinamen ohne Pfad werden noch für einige Zeit unterstützt.
  • Sprachdateien für das Frontend wurden vom Verzeichnis /out/lang/local des Moduls nach /translations/local verschoben. Die frühere Struktur wird noch für einige Zeit unterstützt.
  • Sprachdateien für den Administrationsbereich wurden vom Verzeichnis /out/admin/local des Moduls nach /views/admin/local verschoben. Die frühere Struktur wird noch für einige Zeit unterstützt.

Die Moduleinstellungen können jetzt geändert werden, ohne dass dafür das Module aktiviert werden muss.

Nicht mehr unterstützt

  • Alle in vorhergehenden Shop-Versionen als “deprecated” gekennzeichneten Funktionen, Variablen und Codestellen wurden entfernt. Siehe dazu die Übersicht Removed deprecated source in der OXIDforge.
  • Das Theme “Basic” wird nicht mehr gewartet und nicht veröffentlicht.
  • Die Zend Platform wird nicht länger unterstützt, da dieses Produkt von Zend eingestellt wurde. Die Unterstützung für den Zend Server bleibt bestehen.