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.
What’s new with OXID 6.2
Symfony Dependency Injection container can now be used in modules
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.
- Documentation
- Slides (German) from last OXID Partner Day
- Additional Tutorials as blog posts: part 1 | part 2 | part 3
Symfony Doctrine QueryBuilder can be used in modules
The Doctrine SQL Query Builder can now be used in modules. Instructions for a database query can also be found in the developer documentation.
Symfony Events have been introduced
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.
- Documentation
- Slides (German) from last OXID Partner Day
Command line interface
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.
Supporting Twig template engine
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.
Refactored module configuration and activation
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.
New directory var/
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.
NGINX Reverse Proxy module available (for EE only)
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.
Custom offline pages
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!
Sorting of accessories for products
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.
Changes in testing framework
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:
- https://github.com/sebastianbergmann/phpunit/blob/6.5.14/ChangeLog-6.5.md
- https://github.com/sebastianbergmann/phpunit/blob/5.7.27/ChangeLog-5.7.md
Changes in the OXID eShop testing library are documented in the changelog:
Character set of the database connection
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';
Compilation
- 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)
System requirements, update and installation
- PHP support:
- tested on PHP v7.1, v7.2, v7.3 and v7.4
- Database support:
- tested on MySQL 5.5 and 5.7 works on MySQL 5.6 as well (If you use the OXID eShop Enterprise Edition there might be a pitfall: please see this blog post for more details: Set MySQL 5.6 optimizer setting “block_nested_loop = off” for OXID eShop Enterprise Edition)
- tested on MariaDB v10.4
- Web server support:
- tested on Apache 2.2 and 2.4
Fixed bugs
More resources
Credits
Many thanks to all you GitHub contributors for 80+ pull requests merged in this version!
- To OXID eShop CE repository:
- alfredbez for 556, 694, 699, 700, 520, 716, 717, 719, 707, 709, 677, 751
- GM-Alex for 734
- vanilla-thunder for 585
- Crease29 for 667, 668
- michaelkeiluweit for 654, 678, 689, 672
- tmloberon for 714
- TumTum for 722
- zaxxo for 706
- gerlweb for 701
- kaluzki for 685
- keywan-ghadami-oxid for 661, 580, 514
- dx-bhesse for 697
- flow-control for 628, 659, 746, 768
- bmnnit for 670
- gaertnermarkus for 688
- mparienti for 534
- MaxBoeh for 649
- tabsl for 640, 660
- ivoba for 708
- Sioweb for 681
- KristianH for 676
- Phillinger for 726
- JaroslavHerber for 755
- mreiss for 731
- zoh48gz04 for 742
- Flow and Wave theme repositories:
- vanilla-thunder for 80
- martin-hofer for 42, 45, 47, 48, 49, 50, 51, 53, 54, 55, 56, 57, 58, 62, 63, 64, 69, 70 and 71
- Alpha-Sys for 59, 60 and 72
- bYemma for 65 and 151
- s-diez for 61
- alfredbez for 156
- AmazonPay repository
- b3nl for 117, 116
- bestit-sweber for 115
- gregorhyneck for 120
- farzamtm for 124
- baumann-bestit for 129, 128
- mKnoop for 132
Start the discussion at OXID forums