OXID eShop version 6.2.0

Besides other bug fixes, this patch release contains two security improvements:

  • Updated PayOne module to v1.3.1 (thanks @jens-trant for reporting)
  • Minor session fixation issue (thanks @IT Consultant Dr. Christian Forster for reporting)

After the first stable release of OXID eShop series 6.0 by the end of 2017, this series now has reached EoL (end of life) and can’t be supported any more. Please consider to update. For more information about the release plans, please visit https://oxidforge.org/en/release-plan.

Dependency Injection (DI), a design pattern in object-oriented programming, can now be used in modules. DI is implemented in OXID eShop using the Symfony DI container. Dependency Injection means, in a nutshell, that an object that requires the functionality of another object may not instantiate the other object itself. The object is injected from outside.

The Doctrine SQL Query Builder can now be used in modules. Instructions for a database query can also be found in the developer documentation.

With OXID eShop 6.2.0 an event handling is introduced, which is based on Symfony Events and Event Listeners. First events, which have been implemented, allow a more reliable way to extend the functionality of the shop. Events are the better alternative to traditional inheritance within the class chain. They can be processed by the shop and modules. The developer documentation contains an introduction to event handling and an overview of the currently available events.

OXID eShop uses the Symfony Console from now on. This allows developers to write, register and execute their own commands for components and modules. Information on this can be found in the developer documentation.

OXID eShop supports Twig, a Symfony project, as an alternative template engine. Developers can decide if they want to use Twig instead of Smarty in the templates. Tools are provided for the conversion from Smarty to Twig.

Nowadays it is standard in large and medium-sized projects to operate the OXID eShop in various environments such as integration, staging, and production. In order to easily configure modules instead of managing them separately in each environment, the module system was extended accordingly. It is now possible to manage the environment via YAML configuration files. These are stored in the new directory var/ and its structured subdirectories.

The metadata.php file will be validated more strictly. The version number is now mandatory and additional source code is not allowed.

OXID eShop now has the new directory var/ on the same level as source/ and vendor/. It contains the module configurations, structured by sub-directories. These are saved in .yaml files for each subshop (EE) and environment specific (production, staging, development). The directory requires recursive read and write access for HTTP server and CLI users during installation and at runtime.

OXID eShop high load option is an add-on for the OXID eShop Enterprise Edition in version 6. Caching ensures the fast generation and delivery of HTML pages, especially during peak loads. Caching is handled by a reverse proxy, which processes incoming requests from web clients before the actual web server. The OXID eShop high load option now supports NGINX version 1.14.0 and higher as a reverse proxy, offering an alternative to varnish.

Additionally, there’s a varnish module available now so you can choose if you want to use Varnish or NGINX.

OXID eShop can display a user-defined shop offline page with customized layout and/or special features instead of the default page that indicates maintenance mode – for better usability and SEO behaviour. This can be achieved by overwriting the method oxTriggerOfflinePageDisplay. Thanks to @Jaro for PR-155!

In the assignment window for accessories, the order of the assigned products can be changed. After marking an product in the list on the right, it can be moved up or down using the mini buttons that are now displayed.

For OXID eShop, Codeception acceptance tests are introduced. For developers, these tests are easier to write, use and maintain.

The PHPUnit component was updated from version 4.8.26 to 6. Information about added, changed and removed methods can be found in the PHPUnit changelogs:

Changes in the OXID eShop testing library are documented in the changelog:

In the configuration file config.inc.php, the character set of the database connection can be defined with the new parameter dbCharset. Example: $this->dbCharset = 'utf8';

  • OXID CE component 6.5.3 (was 6.3.6 )
  • OXID PE component 6.4.0 (was 6.2.2)
  • OXID EE component 6.5.1 (was 6.2.3)
  • Theme “Flow” 3.4.1 (was 3.3.3 )
  • Theme “Wave” 1.3.1 (was 1.2.0 )
  • Amazon Pay 3.6.4 (was 3.3.1 )
  • GDPR Opt-In 2.3.0 (was 2.2.0 )
  • Klarna 5.1.4 (was 4.3.0 )
  • Paymorrow 2.0.3 (was 2.0.1 )
  • PAYONE 1.3.1 (was 1.0.10 )
  • PayPal 6.1.0 (was 5.2.5 )
  • Summernote WYSIWIG-Editor 2.2.0 (was 2.2.0)
  • Visual CMS for PE/EE 3.3.3 (was 3.3.2)
  • Download full package
  • Source code documentation
  • All changes in this compilation (OXID eShop 6.2.0)

Many thanks to all you GitHub contributors for 80+ pull requests merged in this version!

1 reply

Trackbacks & Pingbacks

  1. […] Oxid eShop 6.2 is released and its a good step forward to a modernized codebase, embracing best practices and more symfony-like patterns. […]

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published.