Proces migracji do Magento 2 – Code Migration Toolkit

Code Migration Toolkit ułatwia konwersję kodu Magento 1 na Magento 2. Ułatwia przenoszenie modułów Magento, które obejmuje takie aspekty jak layout, konfigurację, kod PHP oraz strukturę katalogów modułów.

Jakiś czas temu, w jednym z naszych artykułów poruszyliśmy gorący obecnie temat migracji Magento 1 do Magento 2. Wówczas na celowniku pojawiła się migracja danych, a wraz z nią narzędzie Data Migration Tool. Dzisiaj będziemy kontynuować ten temat i skupimy się pozostałych elementach migracji, a w szczególności migracji niestandardowego kodu przy użyciu Code Migration Toolkit.

Tak jak wspominaliśmy ostatnio, proces migracji składa się z czterech podstawowych elementów:

  • Migracja danych
  • Migracja niestandardowego kodu
  • Migracja motywów
  • Migracja rozszerzeń

Migracja danych

Jest to proces przenoszenia ustawień oraz danych takich jak produkty, klienci czy zamówienia. Podczas tego etapu migracji pomocnym narzędziem jest Data Migration Tool. Artykuł, który przedstawia bardziej szczegółowo informacje o wspomnianym narzędziu oraz jego zastosowaniu podczas migracji danych można znaleźć tutaj.

Migracja niestandardowego kodu

To nic innego jak przenoszenie modułów Magento, które obejmuje takie aspekty jak layout (pliki xml układu), konfigurację plików xml, kod php oraz całą strukturę katalogów modułów. Narzędziem jakie warto wówczas wykorzystać jest Code Migration Toolkit – ułatwia ono konwersję kodu Magento 1 na Magento 2, a tym samym znacznie zmniejsza nakład pracy oraz skraca czas migracji.

Przed przystąpieniem do migracji należy przygotować strukturę katalogów, wymagane jest utworzenie w dowolnym miejscu w systemie plików następujących katalogów:

  • src - katalog zawierający pliki niestandardowego kodu Magento 1, które będą poddane migracji. Warto zaznaczyć, że nie mogą się tu znaleźć pliki podstawowe Magento 1,
  • dst - pusty katalog, w którym umieszczony zostanie wygenerowany kod Magento 2,
  • m1 - katalog zawierający tzw. kod Magento 1 Vanilla, czyli standardowy, niezmodyfikowany kod Magento 1, a także pliki niestandardowe – te same, które zostały umieszczone w katalogu src oraz pozostałe zależności niestandardowego kodu (o ile istnieją. Są to zależności, które nie będą poddawane migracji i nie są obecnie częścią katalogu src),
  • m2 - katalog zwierający kod Magento 2 Vanilla, a zatem standardowy kod Magento 2.

Code Migration Toolkit użyje katalogów src, m1 oraz m2 w celu odczytania niezbędnych do migracji informacji, a następnie przekształci kod z katalogu src tak, by był on zgodny z wersją Magento 2 oraz zapisze wygenerowane pliki do katalogu dst. Oczywiście nie odbywa się to samoistnie – konieczne jest uruchomienie odpowiednich skryptów migracyjnych. Ważna jest także ściśle określona kolejność ich wykonywania, gdyż dane z poszczególnych etapów mogą być przekazywane do kolejnych. Zanim jednak do tego przystąpimy, warto wygenerować pliki mapowania. Jest to szczególnie istotne w przypadku migracji dowolnych wersji Magento, ponieważ narzędzie Code Migration Toolkit zawiera jedynie pliki mapowania dla najnowszych wersji Magento 1. Odbywa się to za pomocą szeregu komend, których szczegółowy opis można odnaleźć w dokumentacji narzędzia.

Po tym wstępnym przygotowaniu możliwa jest migracja poszczególnych elementów, a mianowicie struktury katalogów, layoutu, konfiguracji oraz kodu php, i taka też jest właściwa kolejność wykonywania migracji.

Struktura katalogów

Komenda, która umożliwi migrację struktury katalogów ma następującą postać:

Na tym etapie nie jest zmienia zawartość pików, a jedynie tworzona jest odpowiednia struktura katalogów modułu Magento 2 i przenoszony jest tam kod Magento 1. Zwrócone dane narzędzie wykorzystuje w kolejnych etapach.

Layout

Na tym etapie pliki xml układu Magento 1 konwertowane są na format plików Magento 2. W pierwszej kolejności pliki Magento 1 są podzielone względem uchwytów tzw. layout handles, a następnie są konwertowane za pomocą plików mapowania. Komenda, którą tu wykorzystamy to:

Konfiguracja

W tym kroku następuje podział plików konfiguracyjnych xml Magento 1, które następnie są konwertowane do formatu plików Magento 2. Skrypt zostaje uruchomiony za pomocą polecenia:

Kod PHP

Jest to już ostatni etap migracji, podczas którego za pomocą

skrypt konwertuje kod PHP. Wykonanych zostaje szereg operacji m.in. dodanie przestrzeni nazw PHP 5.3+, konwersja nazw klas oraz przestrzeni nazw, modyfikacje konstruktorów czy wstrzyknięcie zależności. Wszystko to po to, aby dostosować kod do środowiska Magento 2.

W ten sposób zakończony zostanie proces migracji niestandardowego kodu. Szacowany czas jaki przeznaczany jest na cały ten etap migracji to 1-2 tygodni, oczywiście w przypadku większych problemów czas ten się wydłuża.

Należy jednak zaznaczyć, że nie w każdym przypadku uda się przenieść cały niestandardowy kod, dlatego też często konieczna może być dodatkowo jego ręczna edycja. W najgorszych przypadkach może być nawet konieczne opracowanie go od nowa.

 

Migracja motywów

W przypadku motywów nie ma niestety dostępnego żadnego narzędzia, które dostosuje obecny motyw do standardu Magento 2. Związane jest to z tym, że nowa wersja rozwiązania, w celu stworzenia możliwości jeszcze bardziej innowacyjnych zakupów i wrażeń handlowych, stosuje odmienne podejście oraz różniące się od wcześniej wykorzystywanych technologie. Z tego też powodu nie jest możliwa bezpośrednia migracja takiego motywu. Konieczne jest dostosowanie go tak, by był zgodny z Magento 2, utworzenie nowego niestandardowego motywu bądź zakup gotowego rozwiązania dostępnego w Marketplace Magento. Szacowany czas migracji motywu nie jest zbyt dokładny, ponieważ wiele zależy od samego motywu oraz od metody migracji i może to być czas od 1 tygodnia do nawet 3 miesięcy (w przypadku projektowania zupełnie nowego motywu).

Migracja rozszerzeń

W sprawie migracji rozszerzeń sytuacja wygląda podobnie jak w przypadku migracji motywów. Rozszerzenia Magento 1 nie będą poprawnie działały w wersji 2, występuje także duża trudność w ich migracji – mimo to jest ona możliwa, jednak jest to niezbyt często stosowane. W praktyce najczęściej okazuje się, że zaprogramowanie danego rozszerzenia od nowa jest bardziej opłacalne czasowo niż modyfikacja i dostosowywanie istniejącego, niezgodnego z aktualną wersją systemu.

Z tych powodów grono programistów opracowało już wiele odpowiedników znanych i popularnych rozszerzeń (a także pracuje nad kolejnymi), które można pobrać lub zakupić z Marketplace Magento. Przyjmuje się, że migracja rozszerzeń to ok. 1-2 tygodni – w dużej mierze uzależnione jest od ich liczby.

Podsumowując

Jak wspominaliśmy w artykule na ten narzędzia Data Migration Tool, migracja do Magento 2 w wielu przypadkach nie jest prosta i wymaga sporo wysiłku, a także czasu – pełna migracja rozbudowanej platformy może potrwać nawet 5 miesięcy. Oczywiście czas ten może być skrócony, wykorzystanie narzędzi Data Migration Tool oraz Code Migration Toolkit znacznie ją usprawnia. Mimo to duże znaczenie ma odpowiednia wiedza techniczna.

Napisz do nas. Pomożemy Ci przenieść Twój sklep internetowy na Magento 2.

Może zainteresują Cię także

PimCore czy Akeneo. Który PIM wybrać i dlaczego?

20 maja 2020
Porównujemy najbardziej popularne platformy PIM, by pomóc określić, który z nich jest lepszy dla Twojej firmy.

Magento 2 - Data Migration Tool

14 maja 2020
Firma Adobe, by wspomóc użytkowników Magento 1 w migracji do Magento 2, udostępniła między innymi narzędzie Data Migration Tool.

Co możemy dla Ciebie zrobić?

×

Klienci o nas