XML2Magento - Produktstammdaten per XML in Magento importieren

XML LogoMagento Logo

Gesucht: performanter OpenSource XML-Import für Magento

Für den Austausch von Produktdaten zwischen betrieblichen Anwendungen gibt es für Einsatz von XML kaum Alternativen, sofern erwartet wird, dass der Schreib- und Lesevorgang standardisierbar sein soll. XML hat beim Austausch von elektronischen Katalogen den Vorteil, dass die Beschreibung des Datensatzes und die Inhalte in einem genormten Format übermittelt werden können. Aus diesem Grund haben sich zu diesem Zweck definierte Standards wie BMEcat etabliert. Per XML können zwei Parteien Daten austauschen ohne zuvor separat diverse Informationen zur Beschreibung des Datensatzes zu übermitteln und zu interpretieren.

XML liefert mittels DTD beziehungsweise Schema die Beschreibung der Datensätze einfach mit, sodass Systeme diese Information als Grundlage für einen automatisierten Datenimport nutzen können - dies geschieht dann meist vollautomatisch. Leider war bisher die Unterstützung von performanten XML-Imports in Magento CE recht dürftig. Die Vorteile von XML als Datenaustauschformat sollte man auch beim Einsatz von Magento nutzen können.

Lösung: Einlesen von XML in Magento mit XML2Magento

Um den Funktionsumfang von Magento CE um XML-Import-Funktionalität zu erweitern, benötigt es ein Modul, dass einfach zu installieren und zu konfigurieren ist. Der Importer soll durch einfaches Entpacken eines Archivs in das Magento Programmverzeichnis installierbar sein. Die Konfiguration sollte über wenige Parameter einstellbar sein. Daneben sollte der Importer auch mit größeren XML-Dateien umgehen können.

Um diese Kriterien zu erfüllen, hat Sepia ein XML-Import-Modul entwickelt, dass auch extrem große XML-Datenmengen sehr performant nach Magento überträgt. Viele Programme nutzen für den Import sogenannte DOM-Parser, die je nach Datemenge nur bedingt geeignet sind. Sepia's XML Modul setzt auf das sequenzielle Lesen von XML, was den Hauptspeicher des Zielsystems schont und sehr hohe Geschwindigkeiten bring. Wer also in der Vergangenheit Probleme mit Speichernutzung und Geschwindigkeit beim XML-Import in Magento hatte, sollte definitiv auf dieses neue Modul wechseln.

Umsetzung

Der Importer von Sepia setzt neben PHP und dem PHP-XML-Funktionen auf der vorhandenen Infrastruktur von Magento CE auf. Objekte werden vom Importer an die Magento API (MAGE) übergeben und dann über die standardisierten Methoden in Magento geschrieben. Das Modul setzt beim Schreibvorgang in Magento auf "FastSimpleImport". Das Modul erlaubt den Datenimport von aus XML generierten PHP-Arrays.

Features

  • XML2Magento benutzt Magento Import/Export Schnittstelle.
  • Integritätstest werden beim Import durchgeführt.
  • Das Modul Importiert nicht nur Produktstammdaten sondern auch Kategorien und Kategorie-Produkt-Relationen und Bildern.
  • Bei fehlerhaften Datensätzen werden Fehlermeldungen darüber ausgegeben, welche Werte anstelle der fehlerhaften erwartet werden.
  • XML2Magento indiziert nach dem Import die Produktdaten.
  • Beim Importvorgang wird in allen Phasen darauf geachtet, dass die Belastung des Arbeitsspeichers gering bleibt und keine Performance-Leaks entstehen.

Schnelle Einrichtung und einfache Steuerung

Das Modul lässt sich sehr einfach durch Entpacken der Ordnerstruktur in das Magento-Stammverzeichnis installieren. Nach der Installation ist das Feld-Mapping anzugeben, Bilder können in einem speziellen Import-Verzeichnis abgelegt werden. Nach der Einstellung dieser Parameter lässt sich der Import einfach sowohl über die Magento Oberfläche als auch über die Kommandozeile starten. Durch die Nutzung der Kommandozeile kann der Import natürlich auch einfach automatisiert und zeitgesteuert ausgeführt werden. Nach dem erfolgreichen Import sollte der mitgelieferte Reindexer ausgeführt
werden, um neu angelegte Produkte über die Magento Produktsuche auffindbar zu machen.

Feldmapping von Datenfeldern aus dem XML-Import mit Feldern in Magento:

Fieldmapping XML zu Magento

Kann das Modul auch BMEcat in Magento importieren?

Das Plugin kann durch minimale Anpassungen auch dazu verwendet werden, BMEcat-Daten in Magento zu importieren. Sepia hat die Programmierung offen gestaltet. Der Anwendung liegt eine XML-Beispiel-Import-Datei bei - andere Varianten von XML sind problemlos verwendbar, sofern der Parser auf das gewünschte Formate ausgerichtet wird. Das Modul steht unter GPL v. 3 (Gnu Public License); das bedeutet, dass Entwickler unter der Bedingung Anpassungen vornehmen können, dass diese Erweiterungen der Öffentlichkeit und natürlich auch dem Urheber zugänglich gemacht werden.

Fazit

Der Magento XML-Import von Sepia eignet sich sowohl für komplexe XML-Dateien als auch für den Import größerer Datenmengen. Die Kritik an XML, dass das Format einen großer Daten-Overhead mitführt, ist bei diesem Modul nicht relevant, weil durch das sequenzielle Einlesen der Daten die Speichernutzung minimiert ist. Bedenken wegen mangelnder Performance können also ausgeräumt werden - dafür erfreut sich der Nutzer des Moduls aller Vorteile die das Format XML gegenüber klassischen Formaten wie z.B. .CSV mit sich bringt. Die Erweiterung ist mit allen neueren Magento Versionen kompatibel - das bedeutet bei der Magento Community Edition ab Version 1.6 und bei Magento Enterprise ab Version 1.11.

Download

Den OpenSource XML2Magento-Importer können Sie hier herunterladen: XML2MAGENTO.

Anpassungen des Programmcodes

Das Programm steht unter GPL v.3 und kann daher selbständig angepasst werden, sofern diese Anpassung der Öffentlichkeit zugänglich gemacht wird.

Bei Bedarf können Sie Änderungen oder Erweiterungen vom Sepia Entwicklerteam umsetzen lassen, kontaktieren Sie Sepia in diesem Fall bitte hier.

Kontakt


Sepia GmbH & Co. KG

Ernst-Gnoss-Strasse 22
D-40219 Düsseldorf 

Telefon: +49 211 51 419 75
Telefax: +49 211 51 419 65 
E-Mail: info@sepia.de

Beratung oder Online Demo erwünscht?
Hier anfordern.

KONTAKT


Sepia GmbH & Co. KG

Ernst-Gnoss-Strasse 22

D-40219 Düsseldorf

Deutschland


Telefon: +49 211 51 419 75

Fax: + 49 211 51 41 965

E-Mail: info@sepia.de

Internet: http://www.sepia.de