Tutorials/Update from 4.6.5 to 4.7.0 or 5.0.0

Please note: updates to OXID eShop version 4.7 (CE, PE) and 5.0 (EE) can only be done based on version 4.6.5. In other words: you have to update to OXID eShop version 4.6.5 before you can update to 4.7./5.0. All update packages can be found on this page: http://wiki.oxidforge.org/Cumulative_Packages

= Best practice notice =

Before updating, please consider the following steps:


 * 1) mirror your existing OXID eShop version 4.6.5 (files and database) to your development environment, for example to localhost
 * 2) install a new OXID eShop version 4.7/5.0 onto the same environment
 * 3) if possible, during the update/upgrade process, install a index.html on your productive environment telling your visitors that you are working on the shop - you may use the "shop offline" function and edit offline.html to provide this information
 * 4) set the max_execution_time of your dev. environment to an appropriate value so the updateApp can work without a timeout
 * 5) make an additional backup-copy of the mirrored files and database before starting
 * 6) proceed the update steps explained below
 * 7) check if everything went smooth
 * 8) if everything went smooth, replace your 4.6.5 shop by the updated one - files and database!

= Update manually =


 * 1) Install a new OXID eShop version 4.7.0/5.0.0 on the server of your live shop.
 * 2) Backup your 4.6.5 installation, both - database and files!
 * 3) Setup your data:
 * 4) *mirror your 4.6.5 shop database,
 * 5) *connect the mirrored 4.6.5 database to your 4.7.0/5.0.0 installation: in [shop_path]/config.inc.php file change dbName, dbUser, dbPwd options.
 * 6) *Run the database script from updateApp/updates/sql/49955.sql file (via MySQL).
 * 7) *Re-generate the database views: Admin-&gt;Service-&gt;Tools. (in case you can’t login to set the parameter blSkipViewUsage to "true" in config.inc.php).
 * 8) Install your custom themes:
 * 9) create the theme folders in [shop_path]/out/ and [shop_path]/application/views/.
 * 10) copy the theme language folders, template /tpl folder and theme metadata file theme.php to [shop_path]/application/views/[theme_name].
 * 11) copy the css, js and image files to [shop_path]/out/[theme_name].
 * 12) update your custom theme template files to work properly on 4.7/5.0.
 * 13) Update the views and clear the /tmp/ folder;
 * 14) activate installed themes.
 * 15) Install the modules:
 * 16) make sure your modules are prepared for the new OXID eShop version!
 * 17) copy the modules to [shop_path]/modules folder.
 * 18) Activate the modules in Admin.
 * 19) Copy the picture folder of your 4.6.5 installation into 4.7/5.0 (usually this is /out/picture if not adapted)

NOTE: If module have files, that do not extend any OXID native classes, please update the module. Register these files in module metadata.php file. (old structure is still supported but not recommended because this functionality is deprecated)

= Update with a script =


 * 1) Install a new OXID eShop version 4.7.0/5.0.0 on the same server with your former installation.
 * 2) Backup your 4.6.5 installation, both database and files!
 * 3) Setup your data:
 * 4) *connect your 4.6.5 database to the 4.7.0/5.0.0 installation: in [shop_path]/config.inc.php file change dbName, dbUser, dbPwd options;
 * 5) Copy the updateApp script directory to your OXID eShop 4.7/5.0 directory;
 * 6) Run the update script via your browser, follow the instructions in updateApp - it will ask you for the location of your 4.6.5 installation. The updateApp will as well copy the modules and your custom themes from the 4.6.5 to the 4.7/5.0 location and adjust them according to the new structure.
 * 7) Update the views and clear the /tmp/ folder;
 * 8) Update your custom theme template files to work properly on 4.7/5.0
 * 9) Update the views and clear the /tmp/ folder;
 * 10) Go to admin and activate modules and themes;
 * 11) Copy the picture folder of your 4.6.5 installation into 4.7/5.0 (usually this is /out/picture if not adapted)

NOTE: If the module has files that don't extend any OXID native classes, please update the module. Register these files in the module metadata.php file. (old structure is still supported but not recommended because this functionality is deprecated)