How to upgrade VirtueMart 2 to VirtueMart 3

Written by Max Milbers on . Posted in Installation, Migration & Upgrade

What means Upgrade?

Converting a VM1 to VM2 need a migration. It means that the old data is imported into new tables with a new structure. Despite to this complex procedure an upgrade is almost like a simple update. But not revertable, therefore create a backup, use it as a second installation and test the update process first.

Upgrade means that it is not enough just to update one component, it means that you also have to update all related extensions. This means for you that you need to check for any extension on your store which is using VirtueMart. In case you are using already the most recent version of Virtuemart 2.6 and your extensions are up to date, then some of your extensions may be already VM3 compatible. If you find extensions not compatible to VM3, then ask the developer to update it.

So check your joomla installation for:

  • Plugins (Payments, Shipments, Customs, Userfields,...)
  • Modules (Cart, Category, Sliders)
  • 3rd Party Components (Invoice, Mail, Connectors)
  • Template!

In case you are using joomla 2, it is very likely that you can keep your current template. We suggest to disable first all overrides to see the new layout of VM3. It is very likely that your old overrides are not needed or useful anylonger.

New template technics:

  • New sublayouts {article Sublayouts} {readmore}{/article}
  • jQuery v1.11.0,jQuery UI - v1.9.2, {article The VM JavaScript Handler} {readmore}{/article}
  • cart userfields

VirtueMart 3 uses a slightly changed database layout of VM2. The database conversion is done automatically by the installer. The native customfields (except the stockable plugin) are automatically converted to the new system.

There are some tasks which should not be done automatically and which can throw errors. Go to the tools in the VirtueMart backend. Use the tool "Remove old vm2 inherited customfields". Attention, this task is not revertable. It works for some people quite well, for others not. The purpose is to remove customfields, which are in childs and just overriding the default one of the parent. In Vm3 you can decide for each customfield if you want to override the parent one or not. The other task is to update the old format of the customfields in the orders. If you have a lot old orders it is very usefull to increase the Ram and execution time

Check then the userfields agreed and tos.

Now you can update all the other extensions. If you have further problems or questions, come in our forum http://forum.virtuemart.net/index.php?board=115.0