Ücretsiz Magento Eğitimi · Modül 3: UnoPim ile ürün bilgisi yönetimi · Ders 3.2
Bu derste öğrenecekleriniz
- Akeneo kavramlarının UnoPim’deki karşılıkları: aileler, ürün modelleri, varyantlar ve medya
- Hiçbir şey bozulmasın diye verileri hangi sırayla taşımanız gerektiği
- Bir geçişin tek gerçek kanıtının neden değer değer karşılaştırma olduğu
- Gerçek bir testte karşılaştığımız tuzaklar ve bunlardan nasıl kaçınılacağı
Ekipler neden Akeneo’dan UnoPim’e geçiyor
Akeneo yıllardır Magento mağazaları için varsayılan açık kaynak PIM oldu. UnoPim ise Laravel üzerine kurulu, MIT lisanslı, daha yeni bir açık kaynak PIM; yapay zeka içerik araçları, REST API ve Dijital Ürün Pasaportu modülü içinde geliyor. Duyduğumuz geçiş nedenleri pratik: lisans ücreti olmayan, kendi sunucunuzda çalışan bir PIM, modern bir teknoloji yığını ve metinlerle çeviriler için yapay zeka desteği. İki sistemi Akeneo alternatifi olarak UnoPimyazımızda ayrıntılı karşılaştırıyoruz. Bu ders ise taşımanın kendisiyle ilgili.
Aşağıdakilerin hepsi bir müşteri kataloğu için yaptığımız gerçek bir fizibilite testinden geliyor: her aileden bir ürün, iki API üzerinden Akeneo’dan UnoPim’e taşındı ve ardından değer değer kontrol edildi. Bu testte 150 aile, 172 ürün kaydı ve yaklaşık 3.000 dosya taşındı; 64.660 ürün değerinin hepsi eksiksiz ulaştı. Oraya varmak için ise ancak karşılaştırmanın ortaya çıkardığı birkaç sorunu çözmemiz gerekti.
1. adım: veri modelini eşleyin
İyi haber şu: iki sistem ürün verisine çok benzer bakıyor. İkisi de seçenekli nitelikler, nitelikleri gruplayan aileler, kategoriler, kanallar, diller ve para birimleri kullanıyor. Birkaç yerde adlar farklı ve tek satır içe aktarma kodu yazmadan önce bunları bilmeniz gerekir.
| Akeneo | UnoPim | |
|---|---|---|
| Nitelikler ve seçenekler | Attributes, attribute options | Attributes, options |
| Niteliklerin gruplanması | Families, attribute groups | Families, attribute groups |
| Varyant tanımı | Family variants | Variant structures |
| Varyantların üst ürünü | Product models | Configurable products |
| Ürünler arası bağlantılar | Association types | Association types |
| Birimler | Measurement families | Measurement families |
Kaynak: Akeneo REST API belgeleri ve UnoPim 3.1 kaynak kodu
İki konuda baştan karar vermeniz gerekir. Birincisi, Akeneo’nun reference entity ve asset family yapılarının (ücretli sürümler) birebir karşılığı yok; dosyalar genellikle dosya ya da görsel niteliğine dönüşür veya ücretsiz UnoPim DAM eklentisine taşınır. İkincisi, kullandığınız her dili ve kanalı listeleyin. UnoPim de değerleri Akeneo gibi kanal ve dil bazında saklar; bu yüzden eşleme birebir olmalı.
2. adım: verileri doğru sırayla taşıyın
Önce UnoPim’i bir test sunucusuna kurun; UnoPim kurulum rehberimiz bunu anlatıyor. Ardından Akeneo REST API’sinden her şeyi yerel dosyalara okuyun; böylece Akeneo’ya tekrar dokunmadan aktarımı yeniden çalıştırabilirsiniz. Verileri UnoPim’e REST API üzerinden şu sırayla yükleyin, çünkü her katman bir öncekine bağlı:
Bağlantılar en sona kalır, çünkü bir bağlantının iki ucunun da var olması gerekir. Testimizde bağlantıların yalnızca bir kısmı kurulabildi; bunun nedeni hedef ürünlerin test seçiminde olmamasıydı. Bir denemede bu beklenen bir durum ve tam aktarımda kendiliğinden çözülür.
3. adım: her değeri karşılaştırın
“0 hata” bildiren bir geçiş bitmiş sayılmaz. Her ürünü iki sistemden de okuyan ve her niteliği kanal ve dil bazında karşılaştıran bir betik yazın. Bizim kuralımız basitti: Akeneo’yu olduğu gibi kopyala. Boş değer boş kalır; İsviçre için Almanca metin, Almanya için olandan farklı olabilir. Yalnızca karşılaştırmanın açıklayamadığı farklar hatadır.
Karşılaştığımız tuzaklar
- Açıklamalardaki HTML. UnoPim zengin metni bir HTML temizleyiciyle (purifier) temizler. Akeneo’nun kabul ettiği, örneğin
divveyaspangibi etiketler ve Word’den yapıştırılan HTML değişti veya silindi. Temizleyici ayarlarını uyarladık, ardından metnin görünümünü gerçek bir tarayıcıda kontrol ettik. - Varyant eksenleri. Testimizde ölçü nitelikleri (örneğin hacim) UnoPim’de varyant ekseni olarak kullanılamadı; bu yüzden birkaç varyant yapısının farklı kurgulanması gerekti.
- Dosya kuralları. UnoPim’de her dosya ya da görsel niteliğinin kendi izinli uzantıları ve en büyük dosya boyutu vardır; yüklemeler de taranır. Tam aktarımdan önce bu sınırları en büyük PDF ve görsellerinizle karşılaştırın.
- Dosya adları ve kopyalar. Alışılmadık dosya adlarını temizleyin ve aynı dosyayı yalnızca aynı ürün ve nitelik içinde yeniden kullanın; aksi halde UnoPim medya yolunu reddedebilir.
Geçiş için değiştirdiğiniz ayarlar, örneğin temizleyici kuralları ya da yükleme sınırları, kurulumunuzun bir parçasıdır. Bunları belgeleyin ve her UnoPim güncellemesinden sonra yeniden uygulayın.
4. adım: geçiş anını planlayın
Bizim yaptığımız gibi her aileden bir ürünle başlayın. Böylece az veriyle her yapıya dokunur ve sorunları erkenden görürsünüz. Ardından tüm kataloğu test sunucusuna aktarın, yeniden karşılaştırın ve mağazanızı bağlayın. Geçiş günü Akeneo’da düzenlemeyi durdurun, son bir fark (delta) aktarımı yapın ve Akeneo’yu birkaç hafta salt okunur yedek olarak tutun.
Akılda kalması gerekenler
- Akeneo ve UnoPim aynı temel fikirleri paylaşır; varyant tanımları ve ürün modellerinin yalnızca adları farklıdır.
- Önce yapıyı, sonra ürünleri ve medyayı, en son bağlantıları taşıyın.
- Hiçbir şeyin kaybolmadığını yalnızca kanal ve dil bazında değer değer karşılaştırma kanıtlar.
- Tam aktarımdan önce her aileden bir ürünle test edin ve geçişten sonra Akeneo’yu salt okunur tutun.
Kendinizi sınayın
Akeneo’daki “family variant” UnoPim’de ne olarak geçer?
Varyant yapısı (variant structure). Akeneo’daki ürün modelleri UnoPim’de yapılandırılabilir ürünler olur.
Bağlantılar neden en son aktarılır?
Çünkü bir bağlantı için iki ürünün de önceden var olması gerekir. Hedef ürün yoksa bağlantı oluşturulamaz.
Aktarım 0 hatayla bitti. Geçiş tamamlandı mı?
Hayır. Her değeri kanal ve dil bazında Akeneo ile karşılaştırın. Temizlenmiş HTML gibi değişiklikler ancak bu karşılaştırmada ortaya çıkar.
Kaynaklar
- api.akeneo.com/api-reference-index.html
- github.com/unopim/unopim
- devdocs.unopim.com/3.1/introduction/installation.html
- github.com/unopim/unopim/blob/3.x/CHANGELOG.md
Bu konuda yardım mı lazım?
Akeneo’dan geçişi mi planlıyorsunuz? Resmi UnoPim iş ortağı olarak test geçişini ve değer değer kontrolü sizin için yapıyoruz. UnoPim hizmetlerimize göz atın ya da bilgilerinizi aşağıya bırakın.


