Updating from OXID eShop 6.5 to OXID eShop 7.0
Update your OXID eShop to OXID eShop version 7.
Prerequisites
Before you update to OXID eShop version 7, you have make sure that you meet the technical requirements for the update:
You have OXID eShop Version 6.5.
To get to OXID eShop Version 6.5, you have performed the required incremental updates.
For more information, see Updating to OXID eShop 6.5.
If you use third-party modules or themes, you have ensured the compatibility of the third-party modules.
To do so, you have asked the third-party vendor if these themes and modules are compatible with version 7 of OXID eShop.
For updating existing modules from OXID eShop 6.5.x to OXID eShop 7, see update/eshop_from_65_to_7/modules:Updating modules.
Procedure
Important
Data loss
Avoid data loss.
Make a backup of your database. Make a backup of your current shop installation (all files etc.).
We recommend to test the update procedure on a copy/development installation of your shop first, to become familiar with the process.
Note
To execute commands via the command line, open a shell in the shop root directory and run commands in there.
In the
var/configuration
folder, make a backup of theshops
folder that contains a<shop-id>.yaml
file for each subshop.
If your OXID eShop has no subshops, there is only thevar/configuration/shops/1.yaml
file to back up.
Backup the folder/file to where it cannot be overwritten by the following update process.Decode the values in the following data table columns:
table
oxuserpayments
: columnoxvalue
table
oxconfig
: columnoxvarvalue
This can be done automatically as described in the following steps:
Important
Make sure that you follow the order of the steps.
Background: After executing the
decode-config-values
command, the shop and console will be down until it is fully updated to OXID 7.(1.) Install the OXID eShop update component.
composer require --no-interaction oxid-esales/oxideshop-update-component:^v2.0.0
(2.) Clean the shop cache by calling the appropriate console command from shop root directory.
./vendor/bin/oe-console oe:cache:clear
(3.) Execute the
oe:oxideshop-update-component:decode-user-payment-values
command:./vendor/bin/oe-console oe:oxideshop-update-component:decode-user-payment-values
(4.) Execute the
oe:oxideshop-update-component:decode-config-values
command:./vendor/bin/oe-console oe:oxideshop-update-component:decode-config-values
(5.) To uninstall the OXID eShop update component, execute the following command:
composer remove --update-no-dev --no-plugins --no-interaction oxid-esales/oxideshop-update-component
Delete the
var/generated/generated_services.yaml
file.In the
composer.json
file, update the metapackage version depending on your current edition (CE, PE, or EE) of your OXID eShop.composer require --no-update oxid-esales/oxideshop-metapackage-<ce/pe/ee>:v7.0.0
Remove or update the following packages from the
require-devs
section of your composer.json.Important
Those packages as given in the OXID eShop 6.5 metapackages are not compatible with OXID eShop 7.
"oxid-esales/testing-library": "^v8.2.0", "incenteev/composer-parameter-handler": "^v2.0.0", "oxid-esales/oxideshop-ide-helper": "^4.2.0", "oxid-esales/azure-theme": "^v1.4.2"
Update the dependencies.
Optional: If you don’t need the development-related files, specify the --no-dev parameter.
composer update --no-plugins --no-scripts --no-dev
Note
This command ensures that all required libraries are updated by Composer.
Nevertheless, the shop is not yet fully updated to OXID 7 at this point. For this we need to complete the next steps as well.
To fully install the new compilation for OXID eShop 7, make sure Composer also runs the scripts and plugins.
To do so, execute the command given below the following notes.
Note
The update overwrites any changes you may have made to themes in the
source
directory.Background: During an update, Composer first loads the new data into the
vendor
directory. Then the data is copied to thesource
directory. This replaces the files of the store and the themes.Your individual customizations of the OXID eShop or changes to third-party modules are only safe from being overwritten by the update if you have made the changes through one of the OXID eShop’s extension options (component, module, child theme).
For more information, see the developer documentation under
Attention
Confirming queries.
During the update you will be asked which packages may be overwritten.
To ensure that only compatible and tested packages are installed and to avoid inconsistencies and malfunctions caused by incorrectly implemented modules or themes, confirm the queries with Yes.
Recommendation: If you use the extension capabilities of OXID eShop, in the developer documentation, follow the instructions under Project wide development, modules, themes and components.
composer update --no-dev
Result: With this step, OXID eShop Compilation 7 and all modules delivered with the compilation are installed. Note that they are not yet activated.
Migrate the database.
To do so, execute the following command../vendor/bin/oe-eshop-db_migrate migrations:migrate
Regenerate the database views.
Background: After database changes like done in the previous step by migrations, views need to be updated. Otherwise you risk the shop going into maintenance mode.
To prevent this, regenerate the database views with the following command:./vendor/bin/oe-eshop-db_views_generate
Avoid receiving a large number of warnings. To do so, doublecheck your server’s PHP error reporting settings.
Background: With OXID eShop 7 ,error_reporting()
calls have been removed from thebootstrap.php
file.We recommend setting the following:
error_reporting = E_ALL & ~E_NOTICE & ~E_WARNING & ~E_DEPRECATED;
To clean up your system, from the
source/modules
folder, remove the subfolders containing the previously installed, now unused module files.
Do not delete thefunctions.php.dist
file.To ensure that the cached items do not contain incompatibilities, clear the cache files in the
tmp
directory.
To do so, execute the following command../vendor/bin/oe-console oe:cache:clear
In the Admin panel, under
, activate a Twig-compatible theme (APEX theme in default installation case).If you don’t use the default APEX theme, ensure that your custom theme is compatible with the Twig engine.
Background: The OXID eShop Compilation 7 comes with the Twig template engine and the APEX theme.
If the shop doesn’t work, update your code and modules according to the information under update/eshop_from_65_to_7/modules:Adjust removed functionality.
Module configuration and class chain
Important
The structure of the ./var
folder is different in OXID eShop 6.5 and 7. New structure example:
.
└── var
└── configuration
└── shops
└──1
└──class_extension_chain.yaml
└──modules
└──oxps_usercentrics.yaml
└──oegdproptin.yaml
Important
Keep in mind the following: In the current state of the Shop update, only OXID eShop 7 compilation modules are installed. So, install additionally needed compatible modules for OXID eShop 7 if necessary.
Important
The default class extension chains depend on the order in which composer installed those modules.
If you need a customized order for class extensions, you can use your customized class chains from <shop-id>.yaml
file that you have backed up in step 1 as an example.
If you like to reuse module settings from the <shop-id>.yaml
file that you have backed up in step 1, refer to
Configuring modules via providing configuration files.