{"id":6540,"date":"2016-12-05T15:36:07","date_gmt":"2016-12-05T15:36:07","guid":{"rendered":"https:\/\/blog.mageworx.com\/?p=6540"},"modified":"2023-03-17T13:50:29","modified_gmt":"2023-03-17T13:50:29","slug":"migration_to_magento_2_case_study","status":"publish","type":"post","link":"https:\/\/www.mageworx.com\/blog\/migration-to-magento-2-case-study-tassenfuzzi","title":{"rendered":"Migration to Magento 2 \u2014 Case Study for Tassenfuzzi.De"},"content":{"rendered":"\n<!-- SEO Ultimate (http:\/\/www.seodesignsolutions.com\/wordpress-seo\/) - Code Inserter module -->\n<!-- Google Tag Manager (noscript) -->\r\n<noscript><iframe src=\"https:\/\/www.googletagmanager.com\/ns.html?id=GTM-5DTCW7B8\"\r\nheight=\"0\" width=\"0\" style=\"display:none;visibility:hidden\"><\/iframe><\/noscript>\r\n<!-- End Google Tag Manager (noscript) -->\n<!-- \/SEO Ultimate -->\n\n<span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time: <\/span> <span class=\"rt-time\"> 5<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span><h2>The background<\/h2>\n<p><strong>Client:<\/strong> (<em>PorcelainSite Geschenkideen GmbH<\/em>) <a href=\"https:\/\/Tassenfuzzi.De\"><strong>Tassenfuzzi.de<\/strong><\/a> is a manufacturer of custom-printed and engraved mugs, crockery, and glass.<br \/>\nThe company&#8217;s headquartere\u044b are located in Germany. It has been in operation since 2002 and is an ultimate leader in its niche.<\/p>\n<p><strong>Magento Development Company:<\/strong> <strong><a href=\"https:\/\/www.mageworx.com\">Mageworx <\/a><\/strong>is an officially registered Magento partner and one of the leading eCommerce developers. The current company\u2019s product portfolio lists dozens of solutions designed to enhance the platform\u2019s functionality and gear up a Magento-based business for success.<\/p>\n<p>Also, Mageworx offers a wide range of Magento and eCommerce services, including <em>SEO, design, analytics<\/em>, and a recently launched <em>full-cycle <a href=\"https:\/\/www.mageworx.com\/magento2-migration\">migration to Magento 2<\/a><\/em>.<\/p>\n<p>This case study details the strategy Mageworx used to transfer the Tassenfuzzi.De store to Magento 2 and thoroughly describes each stage of the process.<\/p>\n<p><!--more--><\/p>\n<h2>The Challenge<\/h2>\n<p>Moving aM1 store from to Magento 2 is quite a complicated process that consists of several stages.<\/p>\n<p>Magento offers a special <a href=\"https:\/\/devdocs.magento.com\/guides\/v2.0\/migration\/migration-tool-install.html\">Data Migration Tool<\/a> to ease the pain of transferring store, customers and orders data.<\/p>\n<p>However, any <em>theme<\/em> or <em>code customizations (including 3rd party extensions)<\/em> are non-transferable. They have to be completely redone to fit the new version of the platform.<\/p>\n<p>This is the list of the key aspects one needs to implement during Magento 2 migration:<\/p>\n<h3>1. Moving store database<\/h3>\n<p>As said above, this stage is implemented with the help of the official Magento Migration Tool. It includes:<\/p>\n<ul>\n<li>moving websites and stores<\/li>\n<li>transferring config settings for each store<\/li>\n<li>migrating product data (e.g.product attributes, categories, <a href=\"https:\/\/www.mageworx.com\/magento2-product-reviews-and-ratings.html\">ratings and reviews<\/a>, manufacturers etc.)<\/li>\n<li>moving customer base and its setup<\/li>\n<li>transferring sales data (orders, payments, invoices, etc.)<\/li>\n<li>CMS content<\/li>\n<li>basic SEO setup (titles, descriptions, meta data, redirects, etc.)<\/li>\n<li>moving tax data<\/li>\n<li>and transferring some other important store data<\/li>\n<\/ul>\n<h3>2. Migrating custom-built functionality<\/h3>\n<p>Due to the difference in the platform&#8217;s architecture, Magento 1 third-party extensions and custom-built features won\u2019t work on Magento 2. It means that they have to be redeveloped from scratch.<\/p>\n<h3>3. Migrating store theme<\/h3>\n<p>Since Magento 1 themes are not transferable to the 2d version of the platform, a store owner has to either find a new, ready-to-install theme or develop a new or similar design from scratch.<br \/>\n<a href=\"https:\/\/www.mageworx.com\/blog\/how-to-install-data-migration-tool-in-magento-2\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-15216 size-full\" src=\"https:\/\/www.mageworx.com\/blog\/wp-content\/uploads\/2016\/12\/How-to-Install-Data-Migration-Tool-in-Magento-2-1.png\" alt=\"magento 2 migration tool and how to use it\" width=\"690\" height=\"190\" srcset=\"https:\/\/www.mageworx.com\/blog\/wp-content\/uploads\/2016\/12\/How-to-Install-Data-Migration-Tool-in-Magento-2-1.png 690w, https:\/\/www.mageworx.com\/blog\/wp-content\/uploads\/2016\/12\/How-to-Install-Data-Migration-Tool-in-Magento-2-1-600x165.png 600w, https:\/\/www.mageworx.com\/blog\/wp-content\/uploads\/2016\/12\/How-to-Install-Data-Migration-Tool-in-Magento-2-1-250x69.png 250w\" sizes=\"auto, (max-width: 690px) 100vw, 690px\" \/><\/a><\/p>\n<h2>The Process<\/h2>\n<h3>1. Transferring Store Data<\/h3>\n<p>First, we installed Magento 2 on the client\u2019s server.<\/p>\n<p>Next, we installed and configured the Magento Data Migration tool. The tool was installed on an empty Magento2 installation with the help of Composer.<\/p>\n<p>Basically, the Tool is designed to transfer data from M1 to the M2 database according to the set of rules defined in an XML file. So, in this file, we configured connections setup for the defined source (the client\u2019s Magento 1 installation) and the destination (a Magento 2 website) connections.<\/p>\n<p>In the next step, we migrated:<\/p>\n<ul>\n<li>all settings,<\/li>\n<li>websites and stores,<\/li>\n<li>categories,<\/li>\n<li>products,<\/li>\n<li>customers,<\/li>\n<li>orders<\/li>\n<li>and CMS data.<\/li>\n<\/ul>\n<p>Additionally, we also moved media files and ACLs.<\/p>\n<p><strong>Challenges We Faced<br \/>\n<\/strong><\/p>\n<p>On the whole, everything went smoothly. However, there were some difficulties we had to overcome in the process.<\/p>\n<p>Due to the fact that M2 and M1 stores were located on different servers and M1 database was working via a socket, the Data Migration Tool couldn\u2019t access the necessary data.<\/p>\n<p>Since it was impossible to solve this with the client\u2019s hosting provider, we decided to make a copy of the database and move it from the old server to a new one.<\/p>\n<p>Thus, we gained access to the data and migrated it to a new Magento 2 installation.<\/p>\n<p style=\"text-align: center;\">* * * * *<\/p>\n<p style=\"text-align: left;\">Also, at a later migration stage, the client discovered that it was impossible to change the <a href=\"https:\/\/www.mageworx.com\/delivery-date-magento-2.html\">delivery date<\/a> of the migrated products.<\/p>\n<p>We investigated the issue and found a similar case described by other Magento developers on StackOverflow.<\/p>\n<p>At the moment, Magento 2 doesn&#8217;t save the &#8220;<em>delivery_date<\/em>&#8221; attribute in the table &#8220;<em>catalog_product_entity_text<\/em>&#8221; providing the attribute already exists in the migrated &#8220;<em>catalog_product_entity_varchar<\/em>&#8221; table.<\/p>\n<p>However, if a record is added manually to the &#8220;catalog_product_entity_text&#8221; table, display\/save options work fine.<\/p>\n<p>To fix this issue for our client, we created a custom Magento script.<\/p>\n<h3>2. Moving Custom-Built Functionality<\/h3>\n<p>There were 7 third-party extensions installed on the client\u2019s Magento 1 store. These were:<\/p>\n<ul>\n<li style=\"text-align: left;\"><em>Tracking Number Import<\/em> and <em>Order Module<\/em> Export by Xtento<\/li>\n<li style=\"text-align: left;\"><em>Data Feed Manager<\/em> by Wyoming<\/li>\n<li style=\"text-align: left;\"><em><a href=\"https:\/\/www.mageworx.com\/seo-suite-ultimate-magento-extension.html\">SEO Suite Ultimate<\/a>, Search Suite,<\/em> and <em><a href=\"https:\/\/www.mageworx.com\/advanced-product-options-magento-extension.html\">Advanced Product Options<\/a><\/em> by Mageworx<\/li>\n<li style=\"text-align: left;\"><em>German Store<\/em> module by Symmetrics<\/li>\n<\/ul>\n<p>Almost all of the above-mentioned extensions had more or less functional Magento versions. The only exception was the German Store module by Symmetrics.<\/p>\n<p>Our task was to install those modules on the client\u2019s Magento 2 installation and configure them according to the client\u2019s requirements.<\/p>\n<p><strong>Challenges We Faced<\/strong><\/p>\n<p>At that moment, not all of the extensions installed on the client\u2019s Magento 2 website had exactly the same functionality as their Magento 1 versions.\u00a0 Some features were yet to be added by the extension providers, and some were just missing (with no development ETA).<\/p>\n<p>However, the combination of improved Magento 2 functionality and the chosen extensions was enough for the main client\u2019s needs.<\/p>\n<p style=\"text-align: center;\">* * * * *<\/p>\n<p style=\"text-align: left;\">As mentioned before, the German Store module by Symmetrics didn\u2019t have a Magento 2 version, so we had to find a new solution.<\/p>\n<p>We picked up <a href=\"https:\/\/github.com\/firegento\/firegento-magesetup2\">this package<\/a>\u00a0as an alternative. The add-on had a necessary set of features for the specified client\u2019s operations and corresponded to German law requirements.<\/p>\n<p style=\"text-align: center;\">* * * * *<\/p>\n<p style=\"text-align: left;\">To enhance the store performance, the client also requested us to configure Redis + Varnish. \u2028We configured Redis as the session storage.<\/p>\n<p>As for Varnish, we needed to write access to the client\u2019s server in order to configure it. In addition, we configured Nginx and Varnish to use the specific ports and make some adjustments of the Varnish configuration file.<\/p>\n<p style=\"text-align: center;\">* * * * *<\/p>\n<p style=\"text-align: left;\">To minimize the potential SEO risks of migrating a website to Magento 2, the client ordered an additional service &#8211; <a href=\"https:\/\/www.mageworx.com\/magento-seo-configuration.html\">Mageworx Advanced SEO Configuration<\/a>.\u00a0 Our SEO team configured the SEO Suite Ultimate extension and set up the client\u2019s Webmaster Tools account to preserve the current site&#8217;s SEO value.<\/p>\n<p style=\"text-align: left;\">At a later stage of migration, we installed additional third-party extensions and fixed some other minor issues (e.g. issues with image display and product options).<\/p>\n<h3 style=\"text-align: left;\">3. Migrating Store Theme<\/h3>\n<p>The client decided to purchase a ready-to-use <a href=\"https:\/\/www.tassenfuzzi.de\/wunschtext-gravur\/longdrinkglaeser-gravur-wunschtext.html\">Magento 2 theme<\/a> by Pronto.<\/p>\n<p>To let the client test the theme effects for a live store, we installed it on a dev site that was a plain Magento site with no data.<\/p>\n<p>While testing the theme, we spotted an issue with the price pop-up \u2014 for some reason, it was displayed incorrectly. The client contacted the theme developer and according to what they said the problem was triggered by the bug of the default Magento Luma theme. The theme developer provided a hot-fix custom solution for this issue.<\/p>\n<h2>The Result<\/h2>\n<p>Migration to Magento 2 results in:<\/p>\n<ul>\n<li>improved site speed<\/li>\n<li>reduced TTFB (time to the first byte) \u2013 *the store also changed the former server hosting to a more optimized cloud solution<\/li>\n<li>overall improved website performance for desktop and mobile<\/li>\n<li>better, more advanced backend functionality<\/li>\n<li>improved and faster checkout process<\/li>\n<\/ul>\n<h2>Client\u2019s testimonial<\/h2>\n<p><em>&#8220;Thanks again for the great service, and we will be back for more! We have been working with Mageworx since 2011. During the time we purchased different extensions, used the Magento update service several times, and now the migration service for Magento 1 to Magento 2. Mageworx is always so helpful, patient, and professional in answering our questions. Wonderful to have a service company that you know you can trust!&#8221; <\/em><\/p>\n<p style=\"text-align: right;\">Andreas Wolframm<br \/>\nSales Manager at Tassenfuzzi.De<\/p>\n<p style=\"text-align: center;\">Thinking of migrating to Magento 2? <span style=\"color: #ff6600;\"><a style=\"color: #ff6600;\" href=\"https:\/\/www.mageworx.com\/services-magento-migration\/\">Contact us<\/a><\/span> for help and professional assistance!<\/p>\n","protected":false},"excerpt":{"rendered":"<p><span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time: <\/span> <span class=\"rt-time\"> 5<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span>The background Client: (PorcelainSite Geschenkideen GmbH) Tassenfuzzi.de is a manufacturer of custom-printed and engraved mugs, crockery, and glass. The company&#8217;s headquartere\u044b are located in Germany. It has been in operation since 2002 and is an ultimate leader in its niche. Magento Development Company: Mageworx is an officially registered Magento partner and one of the leading [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":15208,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[329,255],"tags":[444],"class_list":{"0":"post-6540","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-case-studies","8":"category-magento-2","9":"tag-migration"},"_links":{"self":[{"href":"https:\/\/www.mageworx.com\/blog\/wp-json\/wp\/v2\/posts\/6540","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mageworx.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mageworx.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mageworx.com\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mageworx.com\/blog\/wp-json\/wp\/v2\/comments?post=6540"}],"version-history":[{"count":56,"href":"https:\/\/www.mageworx.com\/blog\/wp-json\/wp\/v2\/posts\/6540\/revisions"}],"predecessor-version":[{"id":16636,"href":"https:\/\/www.mageworx.com\/blog\/wp-json\/wp\/v2\/posts\/6540\/revisions\/16636"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mageworx.com\/blog\/wp-json\/wp\/v2\/media\/15208"}],"wp:attachment":[{"href":"https:\/\/www.mageworx.com\/blog\/wp-json\/wp\/v2\/media?parent=6540"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mageworx.com\/blog\/wp-json\/wp\/v2\/categories?post=6540"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mageworx.com\/blog\/wp-json\/wp\/v2\/tags?post=6540"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}