Migratie Magento 1 naar Magento 2

Wanneer je besluit om je shop opnieuw op te bouwen in Magento 2 wil je natuurlijk wel graag de data van je klanten meenemen en het liefst ook al je verrijkte product informatie. Ik neem je in deze blog mee in een migratie traject van Magento 1 naar Magento 2 en vertel je waar je allemaal rekening mee moet houden voor een succesvolle migratie. Lees meer

Migratie Magento Community naar Enterprise

moving-day1

[intro]Je zou denken dat het migreren van Magento Community naar Magento Enterprise een fluitje van een cent zou zijn, het is immers beide Magento. Helaas is niets minder waar. Een migratie naar Magento Enterprise is iets wat stap-voor-stap gepland moet worden. Je wilt niet dat je webshop offline gaat of functionaliteit verloren gaat.

In dit blogartikel neem ik je mee in het migratieproces, zodat je weet wat je moet doen en waar je op moet letten.[/intro]

1 Plannen

Het plannen van je migratie is het belangrijkste onderdeel in dit hele proces. Wanneer ga je wat doen? En, probeer het vooral niet te snel te doen! Het laatste wat je wilt is onderdelen van het proces over het hoofd zien, waardoor je uiteindelijk orders verliest. Een tijdsinschatting is in deze fase altijd moeilijk te maken en is afhankelijk van de grote van de webshop. Neem in ieder geval minimaal twee weken de tijd om tot de  afronding van de migratie te komen.

Aankoop nieuwe modules
Houd een budget achter de hand voor aangekochte modules in de community editie die mogelijk opnieuw moeten worden aangekocht voor de Enterprise editie. Veel van deze modules hebben een kleine aanpassing nodig om ze werkend te maken op Enterprise, maar sommige ontwikkelaars zullen ze willen verkopen als geheel nieuwe module. Informeer hier dus naar!

Check verouderde versie Magento
Probeer in te schatten of de huidige versie van Magento die je gebruikt verouderd is ten opzichte van de nieuwe versie. Wanneer dat zo is, bekijk dan goed wat de verschillen zijn ten opzichte van nieuwere versies van Magento Community. Aan de hand daarvan is onder andere in te schatten of de template die je gebruikt functies bevat die verouderd zijn.

Tweede server of testomgeving huren
Als je de mogelijkheid hebt, huur dan bij je webhoster (magento hosting) een tweede server of testomgeving, waar je de nieuwe (test)installatie op kunt zetten en faseer na de migratie de oude omgeving uit. Zo kun je er uiteindelijk voor zorgen dat je klanten in minder dan een minuut bij je nieuwe webshop uitkomen. Indien je hiervoor kiest, zet dan ook alvast de TTL[1] (Time-To-Live) van je domein(en) op 1 minuut, zodat je dit niet op de dag van live gang nog moet te doen. Het kan namelijk, afhankelijk van je domeininstellingen, 24-uur duren, voordat deze wijziging is geregistreerd op het internet.


[1] Time-To-Live is de verversingstijd van je domein, staat deze op 1 minuut, dan zal het domein elke minuut updaten. Bij 5 minuten elke 5 minuten, enzovoorts.

1.1 Breng in kaart welke functionaliteiten en modules je hebt

Wanneer alle plannen duidelijk zijn, zal je in kaart moeten gaan brengen welke modules er allemaal geïnstalleerd zijn in je webshop. Helaas kunnen niet alle modules 1-op-1 worden overgenomen naar Magento Enterprise omdat hier kleine verschillen in zitten.

  • Design / Template Technisch
  • Licentie verschillen

Het kan zijn dat de module die jij gebruikt een licentie draagt die niet voor Enterprise gebruikt mag worden.

  • Enterprise class prefix in plaats van Mage

Magento Enterprise heeft extra functionaliteiten of de functionaliteiten werken anders.
Deze modules worden in de code aangeroepen met de Enterprise_ prefix in plaats van de Mage_ prefix in Community.

Zoek dus bij de ontwikkelaar van je module uit of de versie die jij hebt geschikt is voor de Magento Enterprise versie die je wilt installeren.
Dit vergt van te voren wat werk, maar kan veel irritaties en tegenslagen schelen zodra je de upgrade gaat uitvoeren.

Sommige ontwikkelaars willen gratis een versie van de module voor Magento Enterprise verschaffen, houd er rekening mee dat het kan zijn dat de module niet beschikbaar is voor Magento Enterprise of dat de ontwikkelaar hier extra kosten voor in rekening wil brengen.

1.2 Welke veranderingen zijn er aangebracht in standaard functionaliteit?

Een bad practice die helaas toch nog door veel ontwikkelaars worden toegepast, is het aanpassen van functionaliteiten in de kern van Magento of een module. Door een update of migratie kunnen deze onderdelen worden overschreven. Het is belangrijk dat je weet óf dit is gedaan, en zo ja, wát er is veranderd.

Als dit het geval is, bedenk dan of je budget het toelaat om deze functionaliteit opnieuw te laten bouwen op een nette manier. Op deze manier houd je Magento schoon en veilig, voor nu en voor later wanneer je updates wil toepassen. Wanneer je dit budget niet hebt, documenteer dan goed welke wijzigingen, waar zijn gemaakt en maak back-ups van deze bestanden, zodat je de functionaliteit weer kunt implementeren zodra je klaar bent om de webshop op Magento Enterprise weer op te bouwen.

Indien er eigen geschreven modules zijn gemaakt op basis van Magento functionaliteit, bekijk dan samen met de ontwikkelaar van deze modules of hij je kan begeleiden wanneer je zelf deze kennis niet hebt en of de functies niet verouderd zijn.

2 Maak een testomgeving

Een migratie voer je niet meteen uit op je productieomgeving. Het is daarom ten zeerste aan te raden eerst een omgeving te maken waar je een (test)migratie kunt uitvoeren, zonder dat je inkomsten verliest doordat je webshop onverwachts offline gaat, omdat er tijdens het migreren fouten zijn opgetreden.

Hoe zet je nu precies een nieuwe installatie klaar met je eigen producten en templates?

  1. Maak een back-up van je huidige template, modules en media.
  2. Maak een export van je huidige producten, categorieën, statische blokken, pagina’s en andere data die vitaal is voor jouw webshop, zodat je deze kunt importeren in je testomgeving.
  3. Installeer een schone Magento Enterprise op je testomgeving
  4. Zet de cache van de omgeving uit
  5. Zet je template, modules en media op de juiste plaats

Importeer je producten en categorieën (en eventueel orders).

2.1 Voer een testmigratie uit

Nadat de Magento Enterprise installatie is klaargezet, kun je beginnen met het installeren van je template en je modules.
Implementeer eerst je modules. Het kan zijn dat je producten die je later weer wilt importeren hiervan afhankelijk zijn. Doe dit één voor één zodat je precies weet bij welke module iets misgaat.

Importeer of voer vervolgens in:

  • Je categorieën
  • Je attributensets
  • Je attributen
  • Je producten

3 Template!

Wanneer alle modules zijn geïnstalleerd en de categorieën en attributensets, attributen en producten in de webshop zitten, kun je je template proberen te implementeren.

De meeste blokken uit je template zullen gelukkig werken zoals ze zouden moeten.
Denk er wel aan dat, nu je nieuwe functies hebt in Magento, hier ook nieuwe blokken en templates bij horen. Deze onderdelen zal je dus moeten implementeren in je template door gebruik te maken van het base/default thema die Magento je geeft.

3.1 Doe een pre-test

Bij een pre-test voer je een test uit, waarbij elk aspect van je webshop getest moet worden. Zowel het gedeelte waar je klant de producten bestelt, als de back-end waar jij de orders afhandelt. Jij kent je winkel waarschijnlijk het beste, schrijf daarom een scenario waarin je je verdiept in een klant en wat die allemaal in je winkel zou doen. Dit kun je doen uit eigen ervaring óf aan de hand van tools zoals Google Analytics, waardoor je weet hoe en op welke pagina’s jouw bezoeker allemaal komt.

Doorloop dit scenario, naast het zelf grondig doorspitten van allerlei pagina’s van je webshop.

  • Werken alle links nog?
  • Komen ze ook uit op de pagina’s waar ze naar toe zouden moeten linken?
  • Zijn alle attributen nog aanwezig?
  • Is de stijl goed, of zijn er elementen verschoven?
  • Staan er widgets die er normaal niet stonden?

Het is een goed idee om ook iemand te vragen die de webshop minder goed kent. Een handeling die jij logisch vindt omdat je hem kent, is misschien helemaal niet logisch voor iemand anders. Zo ontdek je verborgen fouten.

Hier zullen misschien, of zelfs zeer waarschijnlijk een aantal problemen bij naar voren komen. Maak je geen zorgen, dit is normaal en zal bij 90% van de migraties voorkomen.
Noteer zorgvuldig wat je tegenkomt, op welke plaats, maakt het nog uit welke browser je gebruikt?

3.2 Repareer de punten die uit de pre-test kwamen

Fouten of functionaliteiten die niet meer werkten tijdens de pre-test, dienen gerepareerd te worden.

Is dit een deel van een module? Controleer dan of dit een module is die geschikt is voor Magento Enterprise. Is dit niet het geval, neem dan contact op met de ontwikkelaar van de module.

Is dit deel van je template? Bekijk dan of het een “block” betreft die mogelijk anders is opgebouwd in Magento Enterprise dan in Magento Community.

Het is zeer waarschijnlijk dat het probleem voortkomt uit één van de benoemde punten uit dit artikel.

3.3 Testen.. testen.. testen!

Herhaal de pre-tests, totdat er zich geen (noemenswaardige) problemen meer voordoen. Het kan namelijk mogelijk zijn dat er door een gerepareerde fout nieuwe problemen op zijn getreden, die je eerst niet tegenkwam.

4 Plan en migreer

Kies een goed moment om je webshop daadwerkelijk te migreren.
Houd er rekening mee dat het live zetten hiervan even kan duren wanneer je er niet voor gekozen hebt om je nieuwe omgeving apart te zetten. In dat geval zal je je migratie willen doen op een zo rustig mogelijk moment. Bijvoorbeeld ’s nachts of op een ander geschikt tijdstip.

In het geval dat je een tweede omgeving hebt, waar je je nieuwe installatie hebt klaargezet, zorg je ervoor dat alle instellingen correct ingesteld zijn, voordat je je DNS omzet naar je omgeving.

4.1 Doe een post-test

Wanneer je klaar bent met de migratie, en je bent er van overtuigd dat alles goed werkt en  goed is gegaan, kun je je nieuwe webshop live zetten.

Let daarop wel op het volgende:

  • Houd je oude omgeving nog even in de lucht!
    Stoot niet meteen je oude omgeving  af, maar laat deze minimaal nog een aantal dagen draaien. Zo kun je in het ergste geval altijd nog terug naar de oude omgeving als je migratie toch niet succesvol is gebleken.
  • Controleer op orders
    In de tijd tussen de migratie van de oude en de nieuwe omgeving, kan het zijn dat er orders nog op de oude omgeving zijn binnen gekomen. Controleer dit dus.

Mocht je hulp nodig hebben bij het plannen van een Magento migratie naar Magento Enterprise, neem dan vrijblijvend contact met ons op. Onze specialisten geven je graag advies!