Akeneo PIM vs. Pimcore: Ein Vergleich der PIM-Systeme
Die Entwicklung der Agenturprojekte hat sich über die letzten Jahre von einfachen Applikationen mit Betreuung und Implementierung neuer Features zu komplexeren Gebilden gewandelt. Bisher waren es eher die großen B2B Kunden, die mehr brauchten, als “nur” einen Verkaufskanal. Durch die immer weiter wachsende Digitalisierung und dem Bedarf von erleichterter Produkt- und Kundenpflege benötigen aktuelle Projekte oftmals noch Systeme zur Pflege der Produktstammdaten und Middleware, um diese Daten von oder zu anderen Services zu übertragen. Deswegen steigt auch die Popularität von Produktpflegesystemen immer weiter an, wodurch auch der Markt immer mehr Auswahl bietet.
Wir bei Netresearch sind schon seit den Anfängen von Akeneo Partner und Nutzer gewesen und konnten so den Fortschritt dieser Anwendung verfolgen sowie aufgrund der öffentlichen Zugänglichkeit auch mitgestalten.
Dennoch sollte man stets überprüfen, welche Alternativen es gibt und ob es Fälle gibt, bei denen die Alternative einfach besser ist als das bisher Verwendete. Deshalb haben wir uns im Rahmen dieses Beitrages ein anderes Produkt angesehen, welches häufig gesucht wird und möglicherweise als Alternative genutzt werden könnte. Und dieses System ist Pimcore.
Innerhalb dieses Beitrages stand uns nur die frei erhältliche CE-Version von Pimcore zur Verfügung auf dessen Basis unsere Beobachtungen basieren. Somit ist es durchaus möglich, dass wir aufgrund fehlender Erfahrung oder Zugänge Features übersehen oder nicht richtig zuordnen konnten. Außerdem kann Pimcore mehr als nur PIM, weswegen wir uns bei dem Vergleich auch nur auf die Aspekte konzentriert haben, die im Zusammenhang mit dem PIM-Teil stehen.
Vorstellung der Systeme
Akeneo
Akeneo ist eine reine PIM-Applikation. Auf Github war das erste Release der Version 1.0.0-Alpha-1 im März 2013. Seit Januar 2020 befindet es sich auf der aktuellen Major Version 4, wo die aktuellste Version 4.0.96 ist. Es basiert auf Symfony und Oro und verwendet seit der 4er-Version die Symfony Flex-Erweiterung.
Das System bietet Funktionalitäten zum Pflegen von Produkten, Kategorien und Assoziationen und ermöglicht das Importieren und Exportieren via verschiedener Datenformate.
Die Enterprise Edition bietet dann zusätzlich eine integrierte DAM-Lösung, erweiterte Rechteverwaltung und die Möglichkeit als Redakteur Referenzdaten verschiedener Typen anzulegen, die dann von Produkten genutzt werden können.
Pimcore
Pimcore ist eine Plattform mit verschiedenen Bereichen. Unter anderem bietet es die Verwendungsmöglichkeit als PIM, DAM, Shop, CMS, Katalog und bietet noch, durch die eigene Datahub-Lösung, eine Schnittstelle zum Transport der Produktdaten. Aufgrund dessen, dass alle Technologien an einem Ort sind, kann man auch leicht innerhalb der Bereiche auf die Daten zugreifen. Auf Github war das erste Release im Februar 2014 mit der Version 2.2.0. Seit Juni 2019 ist die aktuelle Major Version 6 verfügbar, wovon die aktuellste Version 6.8.10 ist.
Mit dem Kauf einer Enterprise-Lizenz bietet es zusätzlich noch ein Kundenportal an, indem die Produktdaten angesehen und heruntergeladen werden können. Außerdem gibt es weitere Integrationen in Marketing-Tools, Statistiken und Cloud-Lösungen. Zusätzlich werden bestehende Lösungen wie die DAM und der Datahub mit weiteren Funktionen angereichert.
Vergleich der Kernfunktionen
Wir haben die Features der beiden Systeme verglichen und die Zusammenfassung unserer Funde in der folgende Tabelle visualisiert.
Funktion
Akeneo PIM
Pimcore
Dashboard und Systeminformationen
Man sieht die momentane Datenqualität der Kanäle, die letzten Massenaktionen und die verbundenen Systeme, wenn sie als Connection angelegt wurden.
Man sieht in einer Zusammenfassung die aktuelle Datenvielfalt mit Kategorien, Produkten, Kanälen etc.
Man kann sich Reporte erstellen lassen, die auch visuell dargestellt werden. Allerdings erfolgen einige Konfigurationen auf Datenbank-Ebene. Es gibt einen Logger für alle User-Aktionen. Man kann die Systemumgebung prüfen, hat aber keine Ansicht der aktuellen Datenvielfalt, also Anzahl von Produkten, Kanälen etc.
Import und Export
Die Formate CSV, XML (Anleitung), XLSX und REST sind möglich. Es gibt inkrementelle Exporte. In der EE gibt es durch das Staging-Feature auch eine Möglichkeit der Exportkontrolle von Produktversionen.
Die Formate JSON und REST sind möglich. Bereits in der CE gibt es das Schedule Feature, wodurch das Ausspielen bestimmter Versionen möglich ist. Man kann sich jeden Datensatz als PDF ausdrucken lassen.
Strukturieren von Produktdaten
Durch Familien, Attributgruppen und Assoziationen können Pflichtfelder, Cross Selling und Attributsets festgelegt werden. Mittels “referenced Entities” können Daten außerhalb eines Produktes gepflegt und dann mit diesem Verknüpft werden.
Pimcore hat hier eine andere Herangehensweise. Sämtliche Daten, seien es Referenzdaten, Produkte oder Kategorien sind reine Objekte die beliebig verwendet werden können. Durch diese agnostischen Ansatz gibt es allerdings auch kaum produktspezifische Funktionalitäten für eine individuellere Bearbeitung.
Nutzer- und Rollenverteilung
Nutzer haben Rollen und Gruppen, wodurch ihre Berechtigungen und Ansichten gesteuert werden können. In der EE werden die Gruppen verstärkt für die Bearbeitungsregeln verwendet.
Nutzer haben Rollen, wodurch Berechtigungen für die Datenobjekte, Sprachen usw festgelegt werden können.
Produktverwaltung
Man hat eine Produktübersicht, wo Filter und Sucheinstellungen festgelegt und als View abgespeichert werden können. Man kann mehrsprachige Attribute individuell festlegen und auch Bilder hinterlegen. Lediglich Galerien sind nur über ein Marketplace Bundle verfügbar. Eine DAM zur Verarbeitung der Bilddaten ist in der EE enthalten.
Es gibt eine Produktliste pro ausgewählter Datengruppe. Innerhalb dieser kann auch gefiltert und gesucht werden. Mehrsprachige Attribute kann man pflegen und durch die integrierte DAM sind nicht nur Bilder und Galerien möglich, sondern man bekommt auch auf den Ausgabekanal zugeschnittene Bilder. Zumindest in der Demo sind die Attribute aber nicht über das Backend veränderbar, sondern direkt im Code verankert.
Testing
Akeneo testet seinen Code und stellt den Entwicklern die folgenden Tools zur Verfügung: PHPSpec, PHPUnit und Behat
Pimcore testet seinen Code und stellt den Entwicklern Codeception als Werkzeug zur Verfügung.
Gewonnener Eindruck nach der Analyse
Beide Systeme ermöglichen es Produkte zu pflegen und an andere Kanäle weiterzuleiten. Allerdings unterscheiden sie sich stark in der Herangehensweise. Pimcore wirkt sehr entwicklergesteuert. Die Berichte werden mittels SQL-Queries definiert, die Anzeige vieler Abhängigkeiten erinnert an Klassenreferenzen und die Bedienung bedarf auch des Hintergrundwissens, was wo festgelegt und verändert werden kann. Die Demo, sofern sie als Referenz für eine Art “Theme” verwendet werden kann, ist recht “statisch”. Viele Werte sind nur im Code zu finden und auch die Templates stellen exakt das dar, was im Frontend zu sehen ist. Würde ich ein Projekt damit umsetzen, müsste also vieles neu gedacht werden.
Die Tabellenstruktur wirkt auf mich persönlich etwas altbacken, aber vermutlich ist das und die Tab-Navigation der Preis für die Funktionsvielfalt.
Die Menge an Navigationen erinnert an TYPO3 und erhöht den Initialaufwand. Das alle Funktionsbereiche innerhalb von 8 Composer-Paketen verpackt sind, erschwert den Einstieg in eigene Entwicklungen und führt unter Umständen zu Problemen bei großen Projekten.
Akeneo hat nur die Produktverwaltung zum Ziel und hat entsprechend weniger Navigationen und konnte sich dadurch mehr auf die Darstellung dieser wenigen Seiten konzentrieren.
Weiterhin hat vor allem das Refactoring aus den Versionen 3 und 4 die Codestruktur verbessert und durch die Verwendung von Symfony Flex ist die Hürde von Eigenentwicklungen für Symfony-affine Menschen geringer.
Eigene Schlussfolgerung
Als Entwickler schaue ich eher auf die Funktionsweise bzw auf die Möglichkeit, eigene Logik der vorhandenen hinzuzufügen. Als Zweites versuche ich zu sehen, wie hoch der Erklärungsaufwand wäre, potenziellen Auftraggebern das System an die Hand zu geben.
Aus dieser Perspektive würde ich Akeneo als PIM bevorzugen. Pimcore wirkt so, dass man viel mit dem Kunden klären und beraten muss, wie etwas zu bedienen ist und man kommt vermutlich nicht dazu, den Kunden zu “enablen”, das System eines Tages selbstständig bedienen zu können. Wo Pimcore allerdings punktet, ist die Möglichkeit, den kompletten Onlineverkehr innerhalb eines Tools zu managen. Durch die Integration einer DAM und des Datahubs hat man alle Mittel in der Hand, um schnell an den Markt zu gehen. Allerdings wird man vermutlich nicht um die EE-Lizenz herumkommen, und sei es für die Schulung und den Support für die Redakteure.
Abschließend lässt sich sagen, dass immer darauf geachtet werden muss, was die Kernziele von Kundenprojekten sind und wie man diese nachhaltig am Besten lösen könnte. Ich hoffe, dass dieser Einblick etwas bei der Entscheidungsfindung helfen konnte.