Koszt wdrożenia Syliusa – od czego naprawdę zależy budżet projektu?
Jednym z pierwszych pytań, które zadają firmy planujące wdrożenie platformy e-commerce opartej na Syliusie, jest: ile bę...
Czytaj więcej →Decyzja o migracji do Sylius 2 to dopiero początek. W praktyce powodzenie upgrade'u zależy dużo bardziej od przygotowania niż od samego procesu aktualizacji.
Im mniej rzeczy zmieniasz jednocześnie, tym większa szansa na bezpieczne przeprowadzenie migracji. Dlatego przed rozpoczęciem prac warto sprawdzić kilka obszarów, które najczęściej wpływają na koszt, zakres i ryzyko całego projektu.
Planujesz upgrade do Sylius 2?
Przygotowaliśmy hub edukacyjny dla zespołów technicznych odpowiedzialnych za migrację. Znajdziesz tam checklistę gotowości do upgrade'u, Plugin Compatibility Radar oraz materiały pomagające oszacować zakres prac i ryzyka techniczne.
Jedną z najważniejszych zasad przy migracji do Sylius 2 jest ograniczanie powierzchni zmiany.
Jeżeli równocześnie aktualizujesz środowisko, przebudowujesz frontend, zmieniasz state machine, aktualizujesz pluginy i modyfikujesz API, ryzyko regresji oraz koszt projektu rosną bardzo szybko.
Dlatego warto najpierw przygotować projekt do migracji, a dopiero później rozpocząć właściwe prace.
Pierwszym krokiem powinno być przejście na Sylius 1.14, czyli wersję stanowiącą naturalny pomost pomiędzy linią 1.x a Sylius 2.
Równolegle warto przygotować całe środowisko:
PHP,
bazę danych,
Node.js,
pozostałe zależności wykorzystywane przez projekt.
Celem jest maksymalne ograniczenie liczby ruchomych elementów podczas samej migracji. Im więcej zmian uda się wykonać wcześniej, tym łatwiejszy będzie właściwy upgrade.
Drugim krokiem powinien być uczciwy audyt UI oraz zakresu customizacji w projekcie.
To dobry moment, aby odpowiedzieć sobie na pytanie:
ile zmian zostało wprowadzonych przez lata?
które elementy są nadal potrzebne?
które funkcjonalności można odłożyć lub nawet usunąć?
Storefront i Legacy Shop Bridge Plugin
Jeżeli sklep posiada mocno rozbudowany storefront, Legacy Shop Bridge Plugin może pomóc ograniczyć zakres pierwszego etapu migracji.
Trzeba jednak pamiętać, że kompatybilność z pozostałymi pluginami i rozszerzeniami zawsze wymaga indywidualnej weryfikacji. Nie warto zakładać, że cały ekosystem będzie działał bez dodatkowych prac.
Admin panel wymaga większego zakresu zmian
W przypadku panelu administracyjnego nie ma prostej ścieżki przejściowej. Migracja oznacza przejście z Semantic UI i jQuery do Bootstrapa, Vanilla JS oraz, jeśli będzie taka potrzeba, kontrolerów Stimulus.
Dlatego warto uczciwie przeanalizować, ile własnego UI znajduje się w panelu administracyjnym, które funkcje są nadal wykorzystywane i czy wszystkie customizacje mają uzasadnienie biznesowe.
Część funkcjonalności można odłożyć na późniejsze etapy albo całkowicie z nich zrezygnować.
Ekosystem Syliusa wykonał w ostatnim czasie ogromną pracę.
Najpopularniejsze rozszerzenia zostały już dostosowane do Sylius 2. Dotyczy to zarówno oficjalnych pluginów, jak i wielu rozwiązań rozwijanych przez społeczność.
Jednak sama dostępność wersji zgodnej z Sylius 2 nie oznacza jeszcze pełnej kompatybilności projektu.
Warto sprawdzić:
czy wybrane wtyczki posiadają wsparcie dla Sylius 2,
jakie zmiany pojawiły się pomiędzy wersjami,
czy migracja nie wymaga zmian po stronie własnego kodu.
Niektóre zmiany w pluginach mogą być równie istotne jak sam upgrade frameworka.
W naszym hubie edukacyjnym dotyczącym migracji do Sylius 2 znajdziesz Plugin Compatibility Radar. To narzędzie pomagające ocenić gotowość najpopularniejszych rozszerzeń.
Jeżeli projekt korzysta z własnych rozszerzeń state machine, warto ograniczyć zakres zmian. Nie wszystko trzeba migrować jednocześnie.
Jeżeli obecne rozwiązanie działa poprawnie, rozsądnym podejściem może być pozostawienie Winzou State Machine na pierwszym etapie migracji i odłożenie przejścia na Symfony Workflow na później.
Najważniejsza zasada pozostaje taka sama: im mniej obszarów zmieniasz jednocześnie, tym większa szansa na bezpieczny upgrade.
Jeżeli sklep nie posiada testów automatycznych, upgrade do Sylius 2 jest dobrym momentem, aby przynajmniej częściowo to zmienić.
Nie trzeba od razu osiągać pełnego pokrycia.
Warto jednak zabezpieczyć najważniejsze ścieżki biznesowe:
proces zakupowy,
checkout,
płatności,
rejestrację użytkownika,
kluczowe integracje.
Największą wartością testów jest ograniczanie ryzyka regresji. Bez nich trudno mieć pewność, że najważniejsze procesy nadal działają po migracji.
Nie zapominaj o testach manualnych! Po migracji warto przejść przez najważniejsze scenariusze oraz upewnić się, że wszystko działa i wygląda zgodnie z oczekiwaniami.
Wybierz odpowiedni moment
Migracji nie warto planować tuż przed wysokim sezonem sprzedażowym.
Znacznie bezpieczniej przeprowadzać ją wtedy, gdy biznes ma większy margines na ewentualne problemy i poprawki.
Jeżeli projekt wykorzystuje API Platform, migracja obejmuje również duży skok pomiędzy wersjami. W takim przypadku szczególnie ważne stają się testy kontraktowe.
Ich zadaniem jest upewnienie się, że frontend nadal otrzymuje dokładnie te same dane, których oczekuje.
Przed migracją warto przygotować zestaw prostych testów sprawdzających strukturę odpowiedzi API. Po wykonaniu upgrade'u można zweryfikować, czy żadne pola nie zostały utracone lub zmienione.
Dla projektów headless jest to jedno z najważniejszych zabezpieczeń całego procesu.
Nie istnieje jedna uniwersalna odpowiedź.
Z doświadczenia wynika jednak, że migracja może trwać od około dwóch tygodni do sześciu tygodni lub dłużej.
Wpływ na czas projektu mają między innymi:
zakres customizacji UI,
liczba pluginów,
wykorzystanie API Platform,
stopień rozbudowy state machine,
liczba integracji,
poziom pokrycia testami.
Warto również zadać sobie pytanie, czy wszystkie istniejące funkcjonalności i pluginy są nadal potrzebne.
Czasami usunięcie nieużywanych elementów jest najtańszym i najszybszym sposobem ograniczenia kosztu migracji.
W końcu kod, którego nie ma, nie generuje błędów.
Jeżeli planujesz migrację do Sylius 2, przygotowaliśmy zestaw materiałów, które mają pomóc ograniczyć ryzyko i koszt całego procesu.
W naszym hubie edukacyjnym znajdziesz:
checklistę gotowości do upgrade'u,
Plugin Compatibility Radar,
materiały techniczne dotyczące migracji,
Tak. To naturalna wersja pomostowa pomiędzy linią 1.x i 2.x.
Może pomóc ograniczyć zakres zmian, ale kompatybilność z pozostałymi rozszerzeniami wymaga weryfikacji.
Nie. W wielu przypadkach warto ograniczyć zakres pierwszego etapu migracji.
Można, ale ryzyko regresji znacząco wzrasta.
Najczęściej od około dwóch do sześciu tygodni lub dłużej, w zależności od złożoności projektu.
Jednym z pierwszych pytań, które zadają firmy planujące wdrożenie platformy e-commerce opartej na Syliusie, jest: ile bę...
Czytaj więcej →
Upgrade z Sylius 1 do Sylius 2 może być dobrą decyzją, ale nie w każdym projekcie będzie najlepszym kierunkiem. Zanim za...
Czytaj więcej →
Obsługa walut i podatków to jeden z najważniejszych obszarów każdego systemu e-commerce B2B i B2C. Wyjaśniamy, jak dział...
Czytaj więcej →