A stable, long-awaited version of Magento 2.0 is already available from November 2015. The technological progress compared with the previous release is so huge that quick and easy store migration is not possible. In Divante, we are currently working on several new eCommerce projects based on Magento 2.0. In the article below I’ll try to describe what is related to such a migration, why it’s important and how to perform it.
What is Magento migration?
The amount of work needed to update the software of your store actually depends on the number of dedicated changes that were applied during the implementation. The good news is that you can easily transfer all the data. The database schema and its architecture has been modified, but without any revolutionary changes. With this approach, Magento developers managed to deliver an automatic migratory, which automatically transfers the entire database – attributes, products, prices and customers from the old to the new version.
Unfortunately, the architecture has undergone a lot of changes in code and graphics templates. This means that in practice the whole store template needs to be implemented again. If you have HTML files used in the current implementation – you can use them, but you have to code the template files again. In other words – connect HTML code to backend applications.
In fact, if your store has been on-line for some time, it may be a good opportunity to make some UX improvements or even re-design the entire solution.
You will probably need to alter the structure of added modules considerably, take care of the use of PHP namespace; change the XML structure. You definitely won’t need to write the algorithms logic from the scratch, e.g. the one used to calculate prices. Probably you will also be able to keep the logic of integration with the external systems to a large extent; change mainly concern the module structure.
Another good news is that if the implementation employed ready-made modules, it’s very likely that their creators already took care of the new versions compatible with Magento 2.0. It can clearly reduce the migration time.
Magento migration – is it worth it?
Magento 1.x will not be extended for any new features. Module creators also direct all their efforts to support the new version. Migration is thus in some way inevitable.
Technical support (bug fixing) for version 1.0 will be active until 2018. After this period it’s important to note that no patches for the older version will be issued, including security updates. In practice – and please note that we are dealing with an open-source system – it can cause a flood of malicious programs exploiting uncovered and unprotected gaps.
Magento 2.0 is much more efficient than the previous version. The standard version supports Varnish and FullPage Cache (FPC) – the latter so far only available in the Enterprise version. In terms of scalability it’s also worth mentioning the use of database replication in a multi-master mode, which means that you can delegate dedicated database servers to handle only a given directory or only orders. It’s a great option when large-scale solutions, not available previously.
The checkout was also rewritten and now it operates much more efficiently. Also the problems associated with the indexation of data were solved by introducing the mechanism of materialized views, which refresh only those rows that have actually changed, using checksums.
In terms of functionalities, it’s worth mentioning the administrative panel created from scratch – very convenient and modern. Frontend fully supporting RWD and modern JS frameworks (jQuery and others – depending on the template) is another advantage.
Magento has moved with the times and the technological gap with respect to the previous version causes difficulties in migration. At the same time it was an inevitable step to ensure stable development in the next couple of years. Version 1.0 was available and under development for the past eight years – so probably we can talk about a similar period in this case.
New Magento means not only technical and functional improvements, but also the development of the eco-system. Soon the new App-store with modules will be introduced (replacing Magento Marketplace). The creators also promise quarterly updates – the Community version code is developed in the Github.com system, which not only increases transparency but also radically changes the speed of developing the system and its plugins.
How to approach Magento migration?
In order to assess migration effort – which modules can be used and which need to be rewritten/refactored – it’s best to perform code audit. It’s a simple and quick overview during which a detailed report is produced. The report is actually a list of migration tasks which can be priced in detail. It can also mean suggesting some improvement changes: code readability, security and performance. At this point in almost every case we recommend conducting an audit, so that in the next step we can take decisions based on numbers, not on intuition.