Magento_2_migreren

Steeds meer partijen omarmen Magento 2. De lijst van Magento 2 extensies stijgt snel. Hostingpartijen zoals Byte zijn in staat om Magento 2 snel te draaien. Maar hoe zit het met jouw eigen webwinkel? Welke stappen moet je doorlopen om over te schakelen naar Magento 2?

Een artikel van gastblogger Jisse Reitsma. Eigenaar van Magento specialist Yireo

Geen update maar een migratie

Een overstap naar Magento 2 is geen simpele update, maar vergt een migratie. Dit betekent dat er zulke grote verschillen zijn, dat er in ieder geval tijdelijk twee websites gedraaid zullen moeten worden: De oude Magento 1 shop en de nieuwe Magento 2 shop.

Stap voor stap zal alle functionaliteit dan overgezet worden op de nieuwe shop. De laatste stap is in ieder geval dat je de laatste winkeldata (bestellingen, klantgegevens, producten) overzet naar Magento 2 en live gaat met het nieuwe platform. Hieronder lopen we de verschillende stappen door.

Stap 1: Schoon schip maken

Voordat je daadwerkelijk begint met het opbouwen van een Magento 2 webwinkel, is er genoeg te doen. Bijvoorbeeld zal je per Magento extensie moeten kijken of er wel een Magento 2 variant beschikbaar is. Bovendien kan je je afvragen of je misschien juist veel bepaalde extensies wilt weglaten. Minder extensies betekent minder problemen.

Daarnaast is het ook handig om het thema onder de loop te nemen: de huidige Magento 1 webshop is ongetwijfeld tot stand gekomen vanuit een voortschrijdend inzicht en een continue tweaken van de shop. Wat is de huidige status van de shop? En waar wil je uiteindelijk eindigen? Misschien kan de overstap naar Magento 2 wel een flinke inhaalslag opleveren!

Stap 2: Magento 2 basis setup

Naast veel denkwerk en strategisch plannen, is een belangrijke stap natuurlijk om te beginnen met Magento 2: gewoon het nieuwe platform installeren op jouw hostingomgeving en kijken wat het doet. Magento is een technisch product, en de techniek van Magento 1 is anders dan die van Magento 2: denk hierbij aan composer, code compilatie en LESS. Het kost simpelweg tijd om een en ander onder de knie te krijgen.

Door een basiswebshop op te zetten dwing je jezelf in ieder geval de eerste echte stap naar Magento 2 te zetten. Wil je deze Magento 2 basisinstallatie ook daadwerkelijk gebruiken om de nieuwe shop stap-voor-stap mee op te bouwen, zorg er dan voor dat je een andere testomgeving hebt met een Magento 2 installatie die kapot mag. Zo blijft de Magento 2 shop-in-wording schoon. Iedere stap die je maakt om die nieuwe shop aan te passen leg je zorgvuldig vast in documentatie. Je zal zoveel moeten doen dat je dat zeker niet allemaal kan onthouden.

Stap 3: Technische kennis op doen

Als je weet hoe Dependency Injection werkt binnen Magento 2, dan heb je niets te vrezen. Weet je dit niet, dan ben je waarschijnlijk afhankelijk van developers. Des te meer je weet waar die developers mee bezig zijn, des te beter.

Een voorbeeld: Met Magento 1 was er een concept als XML rewrites waardoor je een Magento core klasse kon veranderen. Dit leverde het gevaar van XML rewrite conflicten. Als Magento 1 webwinkelier ben je er bij gebaat om die XML rewrites daarom continue onder controle te houden. Met Magento 2 zijn dergelijke XML rewrites weg, maar worden ze vervangen met Dependency Injection preferences en virtual types. Het systeem is daarmee minder gevoelig voor conflicten, mits developers die concepten omarmen. Dit is enkel een voorbeeld. Denk ook aan de CLI beheersmogelijkheden, events/observers, Grunt en Gulp, Redis configuratie, Varnish integratie, etcetera.

Er is nog al wat te leren – niet vreemd met een kolossaal nieuw e-commerce platform: je kan die kennis op verschillende manieren op doen. Je kan zelf op zoek op het internet, je kan events bijwonen (gebruikersgroepen, unconferences, seminars) of trainingen volgen (online of fysiek) bij trainingspartners als Yireo. Belangrijk is dat je wel de investering qua kennis maakt, want zonder kennis een shop technisch beheren leidt snel tot fatale fouten.

Stap 4: Magento 1 code overzetten

Magento 2 extensies zijn radicaal anders opgebouwd en het overzetten van Magento 1 extensies naar Magento 2 zou ik alleen willen aanraden aan een developer. Dat gezegd, het thema bevat heel veel code die wellicht blijft werken in de nieuwe Magento 2 situatie, weliswaar in gewijzigde vorm.

De XML layout is qua structuur nog ongeveer hetzelfde, ook al zijn er wel flinke verschillen qua het toevoegen van CSS en JavaScript aan de pagina. XML handles (zoals <default> of <catalog_product_view>) zijn nu terug te vinden in eigen bestanden, en naast een <block> is er nu ook een <container>. Al deze code is om te zetten met behulp van tools zoals de officiele Magento Code Migration Toolkit. Wees voorbereid dat er na die conversie nog het nodige aangepast moet worden aan de code om het werkend te krijgen. Bovendien kan de conversie beter alleen plaatsvinden op het vlak van de eigen thema-bestanden, en niet de thema-bestanden van derde partij extensies.

Stap 5: Data overzetten

Op het moment dat je weet dat alle functionaliteit aanwezig is op de nieuwe Magento 2 shop (extensies overgezet, thema klaar, etcetera), dan kunnen de oude Magento 1 gegevens overgezet worden. Hiervoor heeft Magento een Data Migration Toolkit beschikbaar gesteld, waarmee producten, categorieen, klantgegevens en bestellingen overgezet kunnen worden.

Het mooie van de tool is dat er ook een delta-modus aanwezig is, waarmee incrementele migratie mogelijk is. Je begint eerst met een volledige data migratie, maar houdt de oude Magento 1 shop nog steeds in productie. Daardoor blijven er nieuwe klanten en bestellingen bij Magento 1 binnenkomen: incrementele wijzigingen die je vervolgens weer met de toolkit kan overzetten naar Magento 2.

Stap 6: Live in 3-2-1-go!

Als je zeker weet dat alle extensies werken, het thema draait en dat alle oude Magento 1 gegevens ook beschikbaar zijn onder Magento 2, dan ben je er klaar voor: de echte overstap. In principe zou deze overstap naadloos kunnen zijn: de oude Magento omgeving kan worden omgewisseld met de nieuwe Magento 2 shop – misschien door een symbolic link aan te passen, of folders te hernoemen, of via een DNS wijziging. Er zijn meerdere manieren om downtime te minimaliseren, maar opnieuw vergt dat ook weer testen: test de livegang meerdere keren, zodat je niet voor verrassingen komt te staan.

Na afloop is het wel aan te raden de Magento 1 shop geruime tijd in de achtergrond te blijven draaien – bijvoorbeeld afgeschermd met een wachtwoord, of alleen beschikbaar vanaf bepaalde IP adressen. Mochten er dingen niet werken onder Magento 2, dan heb je op die manier de oude site altijd als referentie beschikbaar. Maar de migratie is in ieder geval afgerond. Je draait op Magento 2!

Planning in 2016

Nu Magento 2 klaar is, staan veel mensen te popelen om met Magento 2 aan de slag te gaan. Ikzelf ook. Maar dat betekent niet dat jij ook daadwerkelijk over moet stappen op stel en sprong. Integendeel! Het is verstandiger om eerst te beginnen met een gedegen planning. Maar let op: de migratie van Magento 1 naar Magento 2 brengt vele voordelen met zich mee, maar is ook complex en daarom logischerwijs tijdrovend.

Magento 1 zal vanaf november 2018 niet meer gesupport worden. Dat betekent dat je voor die tijd overgestapt moeten zijn. Je hebt dus nog wel even de tijd. Maar niets doen in die tussentijd is een slecht idee. De eerste stappen al vast maken is verstandig en het zou onderdeel moeten zijn van een gedegen planning. En die planning kan je natuurlijk al meteen begin 2016 maken!

Verder lezen: 

  • 10 redenen om te upgraden naar Magento 2 – lees artikel
  • Wat betekent Magento 2 voor jou als ontwikkelpartij? – lees artikel 

 

Scan je eigen Magento shop op veiligheidslekken

Related Post