Rozmawiałem ostatnio z kilkoma firmami, które siedzą na Akeneo Community Edition i zadają to samo pytanie: "no dobra, ale kiedy to faktycznie stanie się problemem?".
Uczciwa odpowiedź jest taka, że nikt nie wyłączy Ci serwera z dnia na dzień. Akeneo CE technicznie działa. Na GitHubie wciąż pojawiają się release'y. Ale pytanie nie brzmi "czy to działa dziś", tylko "czy chcę budować na tym kolejne 3-5 lat, wiedząc że producent de facto odwrócił się od tego produktu i skupił całą energię na płatnym SaaS".
Jeśli odpowiedź brzmi "nie" - ten artykuł jest dla Ciebie. Rozkładam migrację do UnoPIM na konkretne etapy, z tym co faktycznie sprawia trudność, a nie tylko happy path z dokumentacji.
Zanim zaczniesz: co musisz wiedzieć o różnicach architektonicznych
Akeneo CE i UnoPIM rozwiązują ten sam problem - zarządzanie informacją produktową - ale robią to inaczej pod spodem. Kilka rzeczy, które mają znaczenie dla migracji:
Framework. Akeneo to Symfony, UnoPIM to Laravel. Dla migracji danych to nie ma większego znaczenia. Dla przepisywania integracji - ogromne, bo API obu systemów wygląda inaczej.
Infrastruktura. Akeneo wymaga Elasticsearch do wyszukiwania i indeksowania produktów. UnoPIM nie ma tego wymagania - działa na standardowym stosie MySQL + Redis. Jeśli Twój hosting był dostosowany pod Akeneo, po migracji możesz go uprościć i prawdopodobnie obniżyć koszt.
Struktura danych. Obydwa systemy mają koncept rodzin produktów (product families) i grup atrybutów. Mapowanie jest zazwyczaj 1:1 dla standardowych struktur. Problemy pojawiają się przy bardzo złożonych typach atrybutów enterprise, które Akeneo oferuje w wyższych planach - ale jeśli siedzisz na CE, to tych i tak nie masz.
Etap 1: Audyt tego co masz w Akeneo
Nie zaczynaj eksportu danych zanim nie masz pełnego obrazu struktury. To najczęstszy błąd - ktoś robi dump CSV i dopiero przy imporcie odkrywa, że ma 47 typów atrybutów, z których połowa jest duplikatem z różnych okresów życia katalogu.
Co inwentaryzujesz:
Rodziny produktów - ile ich masz, czy się pokrywają, czy są aktywnie używane. W starszych wdrożeniach Akeneo zdarzają się rodziny tworzone pod konkretne projekty, które od lat nie mają żadnych produktów.
Atrybuty i grupy atrybutów - typy, wymagalność, przypisanie do rodzin. Sprawdź czy nie masz atrybutów globalnych, które powinny być lokalne albo odwrotnie.
Kanały i locale - dla ilu języków i rynków masz dane. To bezpośrednio wpływa na złożoność migracji.
Kompletność danych - jaki procent produktów ma wypełnione wymagane atrybuty. Migracja nie "naprawia" niekompletnych danych - przenosi je w tym samym stanie.
Dobrym narzędziem do audytu jest natywny eksport Akeneo do CSV - eksportujesz rodziny i atrybuty osobno, zanim tkniesz produkty. To daje ci pełny obraz bez 40GB pliku z całym katalogiem.
Etap 2: Mapowanie struktury do UnoPIM
To jest etap, który zajmuje najwięcej czasu i gdzie popełnia się największe błędy. Nie chodzi o techniczne mapowanie pole-do-pola, tylko o decyzje projektowe.
Kilka rzeczy, które warto przemyśleć zanim zaczniesz konfigurować UnoPIM:
Czy przepisujesz 1:1, czy porządkujesz przy okazji? Migracja to dobry moment żeby wyczyścić legacy bałagan - połączyć zduplikowane rodziny, ujednolicić nazewnictwo atrybutów, usunąć te których nikt nie używa. Tylko że to wydłuża projekt. Jeśli zależy Ci na czasie, zrób najpierw migrację 1:1, porządkowanie zostaw na po.
Typy atrybutów. UnoPIM obsługuje: text, textarea, number, boolean, select, multiselect, date, datetime, image, gallery, file, price. Jeśli masz w Akeneo niestandardowe typy (np. metric z jednostką), musisz zdecydować jak je reprezentować w UnoPIM - zazwyczaj number + osobny select z jednostką.
Walidacje. Akeneo CE pozwala definiować walidacje na poziomie atrybutu (regex, min/max, wymagalność per kanał). UnoPIM ma analogiczne mechanizmy, ale konfiguruje się je inaczej. Nie zakładaj że przeniosą się automatycznie.
Etap 3: Eksport z Akeneo
Masz dwie ścieżki: CSV lub API. Która lepsza zależy od wielkości katalogu i tego jak bardzo zależy Ci na precyzji.
CSV jest prostszy do wdrożenia i wystarczy dla większości migracji. Akeneo generuje pliki CSV z pełną strukturą produktów, atrybutów i asocjacji. Słabość: media (zdjęcia, pliki) nie są w CSV - musisz je obsłużyć osobno przez eksport pakietu mediów albo bezpośredni dostęp do storage.
API Akeneo (REST) daje pełną kontrolę i lepiej radzi sobie z asocjacjami między produktami oraz mediami. Wymaga napisania skryptu importowego, ale przy katalogu powyżej 10 000 SKU i kilku kanałach warto zainwestować ten czas.
Niezależnie od ścieżki, eksportuj w tej kolejności:
Atrybuty i opcje atrybutów (select values)
Rodziny produktów
Kategorie
Produkty proste
Produkty z wariantami (product models w Akeneo)
Media
Asocjacje między produktami
Kolejność ma znaczenie - przy imporcie UnoPIM musi znać rodziny zanim zaimportujesz produkty do tych rodzin.
Etap 4: Import do UnoPIM i walidacja
UnoPIM przyjmuje import przez panel administracyjny (CSV) lub API. Przy pierwszym imporcie prawie zawsze jest kilka błędów - to normalne, nie panikuj.
Najczęstsze problemy przy imporcie:
Encoding. Jeśli masz w katalogu polskie znaki i eksportujesz z Akeneo do CSV, upewnij się że plik jest w UTF-8 bez BOM. Windows lubi dodawać BOM, który psuje pierwszą kolumnę.
Opcje selectów. UnoPIM wymaga żeby opcje atrybutów select istniały zanim zaimportujesz produkty z tymi wartościami. Jeśli importujesz w złej kolejności, dostaniesz błędy walidacji przy produktach.
Media. Zdjęcia importujesz osobno - albo przez URL (UnoPIM pobiera je sam) albo przez bezpośredni upload. Przy dużych katalogach import przez URL jest wygodniejszy, ale wymaga żeby stary serwer Akeneo był jeszcze dostępny podczas migracji.
Po pierwszym imporcie uruchamiam zawsze ten sam checklist walidacyjny:
Liczba produktów w UnoPIM = liczba produktów w Akeneo
Losowa próbka 20-50 produktów - porównanie ręczne pole po polu
Produkty z wariantami - czy warianty są poprawnie powiązane z produktem głównym
Media - czy zdjęcia główne i galeria są poprawnie przypisane
Kanały - czy dane dla każdego języka i kanału są obecne
Etap 5: Przepięcie integracji
To jest etap, który najbardziej boli - szczególnie jeśli masz starą integrację Akeneo z PrestaShop lub innym sklepem pisaną przez kogoś, kto już dawno nie jest dostępny.
UnoPIM wystawia REST API z własną strukturą endpointów. Nie jest to kompatybilne z API Akeneo - musisz napisać nowy konektor po stronie sklepu. Jeśli korzystasz z PrestaShop, jest tu dobra wiadomość: istnieje oficjalny konektor UnoPIM dla PrestaShop, który obsługuje podstawową synchronizację produktów, kategorii i atrybutów. To solidny punkt startowy - w praktyce większość wdrożeń wymaga jego rozbudowy pod specyficzne wymagania sklepu (mapowanie niestandardowych pól, harmonogramy synchronizacji, obsługa wariantów), ale nie zaczynasz od zera. W praktyce co to oznacza:
Nowy moduł/plugin po stronie PrestaShop lub Bagisto, który czyta dane z UnoPIM API zamiast z Akeneo API
Mapowanie pól UnoPIM na pola sklepu (nazwy endpointów i struktura JSON są inne)
Przepisanie logiki synchronizacji (triggery, harmonogramy, obsługa błędów)
Dobrą praktyką jest uruchomienie UnoPIM równolegle z Akeneo przez 2-4 tygodnie. Dane są synchronizowane do obu systemów, nowy konektor sklepu jest testowany na środowisku stagingowym. Dopiero po potwierdzeniu że wszystko działa - przełączasz produkcję i wyłączasz Akeneo.
Gdzie najczęściej coś idzie nie tak
Trzy rzeczy, które widzę najczęściej jako źródło opóźnień:
Niedoszacowanie liczby atrybutów. "Mamy około 50 atrybutów" - słyszę to często. Po audycie wychodzi 180, z czego 40 to duplikaty z różnych etapów życia katalogu. Audyt zawsze zajmuje dłużej niż się wydaje.
Media bez struktury. Zdjęcia w Akeneo CE mogą być przechowywane w różnych lokalizacjach zależnie od wersji i konfiguracji. Przy migracji okazuje się że część mediów jest na lokalnym dysku, część na S3, część w ogóle nie jest osiągalna. To blokuje import.
Integracje z ERP pisane pod Akeneo. Jeśli Twój ERP wysyła dane bezpośrednio do Akeneo przez customowy skrypt - ten skrypt trzeba przepisać pod UnoPIM API. Często okazuje się że nikt nie ma dokumentacji tego skryptu i trzeba go odkryć od nowa.
Ile to realnie trwa i kosztuje
Dla katalogu 1000-10 000 SKU, jednego języka, integracji z jednym sklepem i ERP - realny czas to 5-7 tygodni. Z czego:
Tydzień 1-2: audyt Akeneo, projekt struktury w UnoPIM
Tydzień 3-4: konfiguracja UnoPIM, import danych, walidacja
Tydzień 5-6: nowy konektor sklepu, testy na stagingu
Tydzień 7: równoległa praca obu systemów, testy produkcyjne, przełączenie
Większy katalog, więcej języków, więcej kanałów - mnożysz odpowiednio. Migracja z rozbudowanym ERP i kilkoma marketplace'ami może spokojnie zająć 3 miesiące.
Jeśli chcesz zobaczyć jak wygląda koszt w porównaniu do zostania na Akeneo CE lub przejścia na płatny plan - mam do tego interaktywny kalkulator TCO na stronie usługi.
Czy to ma sens dla Twojej firmy?
Migracja ma sens jeśli:
Planujesz nowe integracje lub kanały w ciągu najbliższych 12 miesięcy - i nie chcesz budować tego na platformie bez aktywnego rozwoju
Twój koszt utrzymania infrastruktury Akeneo (Elasticsearch, devops) jest odczuwalny
Chcesz skorzystać z AI features UnoPIM (32 komendy, własny klucz LLM) - w Akeneo CE tego nie ma
Migracja nie ma sensu jeśli:
Twój katalog jest stabilny, integracje działają, nie planujesz nic nowego - wtedy CE spokojnie pociągnie jeszcze kilka lat
Masz wewnętrzny zespół Symfony, który zna Akeneo na wylot - zmiana platformy to dla nich koszt nauki
Masz konkretny katalog i zastanawiasz się czy migracja ma sens? Napisz - pierwsza rozmowa jest bezpłatna i nie kończy się ofertą jeśli nie ma sensu. Kontakt →