Das Data Director Bundle: Die Schnittstelle zwischen Pimcore und Ihren Datenquellen
Der Data Director: Eine Lösung für alles
Mit seinem großen Funktionsumfang ersetzt der Data Director viele kleinteilige Pakete für verschiedene Anforderungen und reduziert so den Initialaufwand auf eine einmalige Implementierung. Der Data Director ist das Bundle der Wahl für:
- Den Import von Daten in Pimcore Elemente (Datenobjekte, Assets, Dokumente)
- Prüfung und Aktualisierung von Daten bei deren Speicherung
- Exporte von Daten in beliebigen Formaten (z.B. CSV, XML, JSON, Excel) und mit beliebigen Folgeaktionen (z.B. FTP-Upload, E-Mail-Versand, Übertragung an eine API)
- Erstellung von REST-APIs
Da das Data Director Bundle hoch flexibel und anpassbar ist, bietet es Unternehmen einen echten Mehrwert in Sachen Effizienz und Kompatibilität:
- Einfach integrierbar
Die große Flexibilität und Möglichkeiten der Anpassung garantieren den direkten Anschluss an bestehende Systeme. - Höchst effizient
Die Lösung ist leistungsstark und einfach zu bedienen. So können Datenimporte und -exporte schnell und zielorientiert erstellt werden. - Flexibel und individualisierbar
Zu jedem Zeitpunkt der Datenimporte und -exporte können manuelle Anpassungen am Ziel-Datenmodell vorgenommen werden, ohne dass automatisierte Prozesse dadurch beeinträchtigt werden. - Nachhaltig
Die Lösung ist offen und kann frei weiterentwickelt sowie an spezielle Bedürfnisse von bestehenden IT-Infrastrukturen angepasst werden. - Transparent: Der Status von Im- und Exporten ist zu jeder Zeit einsehbar, Änderungen in bestimmten Feldern eines Objekts können nachträglich anhand von durchsuchbaren Logs nachvollzogen werden.
So funktioniert das Bundle
Mit dem Data Director von Blackbit können externe Systeme an Pimcore angeschlossen werden. Die zahlreichen Funktionen und gebrauchsfertigen Vorlagen erleichtern die Datenpflege, intelligente Features beschleunigen den Im- und Export von Daten zusätzlich.
Das Data Director Bundle importiert Daten von externen XML, JSON, CSV oder Excel Datenquellen (wie z.B. ERP Systemen), speichert diese in Tabellenform zwischen und generiert bzw. aktualisiert anschließend Datenobjekte, Assets und Dokumente aus den Rohdaten.
Über die grafische Benutzeroberfläche des Pimcore Backends lässt sich genau definieren, welche Daten aus der Importquelle gezogen und welchen Objektfeldern in den Pimcore Objekten sie zugeordnet werden sollen. Die Funktion unterstützt alle Pimcore Datentypen, selbst der Import von Assets und Dokumenten (inklusive der Zuschreibung von Metadaten, Eigenschaften, Tags usw.) ist möglich.
Während des Imports können Daten modifiziert und an das eigene Datenmodell angepasst werden. Das Bundle bietet umfangreiche Funktionalität, eine komfortable Benutzeroberfläche und ist eine praxiserprobte Lösung für den Import strukturierter Daten in Pimcore-Objekte, -Assets und -Dokumente. Es reduziert den Aufwand für die Programmierung einzelner Schnittstellen und verkürzt die Zeit bis zur Inbetriebnahme Ihres Pimcore-Projekts.
Ebenso können Daten gewünschter Felder exportiert werden – einschließlich der Daten von Relationen, Bildern und Thumbnails usw. Dank dem intelligenten Caching-System verlaufen Exportprozesse mit hohen Geschwindigkeiten, da die Exportdaten in dem Moment aktualisiert werden, in dem ein Objekt gespeichert wird, anstatt in dem Moment des Exportstarts. Diese Hintergrundoperation verlängert dabei nicht die Speicherzeiten. Für bestimmte Exporte stellen das Bundle viele bereits gebrauchsfertige Templates zur Verfügung:
- CSV Exporte
- CSV als Zip-File inklusive Assets
- JSON Exporte
- JSON als Zip-File inklusive Assets
- XML Exporte
- XML Exporte als Zip-File inklusive Assets
- Weitere Exportvorlagen können über separate Bundles nachgerüstet werden, z.B. Google Shopping Feed, BMEcat-Export oder Schnittstellen zu E-Commerce-APIs.
Außerdem erstellt das Bundle automatisch REST-API-Endpunkte. Bei Importen können dadurch Live-Schnittstellen umgesetzt werden ohne Dateien vom Quellsystem ins Pimcore laden zu müssen und ohne Cronjobs. Exporte können über die REST-API per URL abgerufen werden. Die Konfiguration erfolgt hier ebenfalls über das Pimcore-Backend.
Weitere Möglichkeiten eröffnet die Option, Exportdokumente nicht nur zu erzeugen, sondern auch festzulegen, was mit diesen geschehen soll. Für diese Funktionalität wird das Data Director Bundle mit folgenden, bereits gebrauchsfertigen Templates ausgeliefert:
- Exportdokument per E-Mail versenden
- Hochladen des Exportdokuments über (S)FTP, AWS S3 und andere Cloud-Speicheranbieter
Mit den automatischen Mapping-Funktionen und den mitgelieferten Templates ist das Einrichten von Importen und Exporten in wenigen Minuten erledigt - in den meisten Fällen ohne jegliche Programmierung. Bei Bedarf können Import- oder Exportdaten aber mithilfe von Callback-Funktionen angepasst werden.
Eine Funktionsübersicht sowie ausführliche Anleitungen zum Einrichten von Importen und Exporten gibt es auch in unseren Data Director Videotutorials.
Der Workflow
- Schritt 1: CSV, XML, JSON oder Excel in Pimcore importieren
Der Import findet immer in zwei Schritten statt: Im ersten Schritt wird über eine intuitive Benutzeroberfläche festgelegt, welche Spalten einer CSV-Datei oder welche Attribute eines XML- bzw. JSON-Dokuments in Pimcore importiert werden sollen.
Eine Vorschau zeigt direkt an, ob die Rohdatenfelder korrekt aufgebaut sind. Der Import liest die Daten in eine "Zwischentabelle" ein, so dass der User sehen kann, welche Daten aus dem Vorsystem importiert wurden, bevor sie im nächsten Schritt weiterverarbeitet werden.
- Schritt 2: Mapping der Attribute per Drag-and-Drop
Im zweiten Schritt werden die Informationen aus der Zwischentabelle den Attributen der Klassen zugewiesen. Diese Mappings werden im Pimcore-Backend-UI per Drag-and-Drop individuell definiert.
Dort werden ein oder mehrere Schlüsselattribute gesetzt, so dass der Importprozess jederzeit wiederholt werden kann und bestehende Objekte aktualisiert werden.
Das Attribut-Mapping kann auch zur Modifikation der Quelldaten verwendet werden. Für jede Feldzuordnung kann eine Callback-Funktion angegeben werden, die z.B. Datumsformat-Operationen oder andere Berechnungen auf Basis eines oder mehrerer importierter oder vorhandener Attribute des aktuellen Objekts durchführt.
Vorteile des Data Directors gegenüber anderen Pimcore Import Plugins
Das Data Director Bundle bietet ein paar clevere Vorteile, mit denen nur wenige vergleichbare Produkte aufwarten können. Dabei sind alle Funktionen über das GUI des Pimcore-Backends konfigurierbar. PHP-Dateien oder ähnliches sind nicht nötig, auch nicht für komplexe Importe.
Stärkere Import-Performance
- Das Streaming von Eingabedateien erlaubt auch den Import großer Importdateien.
- Viele Optimierungen beschleunigen den Import von Daten in Pimcore-Elemente. Wurden keine Daten aktualisiert, werden Import bzw. Speichervorgänge automatisch übersprungen, um Zeit zu sparen.
- Autovervollständigungsfunktionen, um Importe sehr schnell einzurichten und Usern auch für komplexe Importe ein geeignetes Vorgehen anzubieten.
- Flexible Import-Ressource, Sie können Daten importieren aus:
- einzelnen Dateien,
- Ordnern oder
- URLs.
- PHP-Skript für komplexe Anforderungen wie z. B. den Import einer CSV-Datei benötigen Sie nur, wenn eine PDF-Datei mit demselben Dateinamen (aber anderer Dateierweiterung) im Importordner existiert.
- cURL-Anfragen zum Importieren von Daten aus Ressourcen, die eine Authentifizierung benötigen; alternativ können natürlich auch PHP-Skripte angewendet werden, die sich authentifizieren und dann die zu importierenden Daten bereitstellen.
Unterstützte Importformate
Das Bundle unterstützt den Im- und Export der folgenden Datei-Formate:
- CSV
- XML
- JSON
- Excel
- Pimcore-Elemente (Datenobjekte, Assets, Dokumente)
- Pimcore-Berichte (z. B. zum Importieren von Daten aus Google Analytics, externen Datenbanken oder anderen Pimcore-Datenbanktabellen)
- Dateisystem (z.B. um Assets zu importieren)
Anpassungsfähige, flexible Funktionen
- Volle Flexibilität: Für gängige Anwendungsfälle der Datentransformation stellt das Bundle gebrauchsfertige Templates bereit. Diese können natürlich modifiziert werden, inklusive der Möglichkeit eigene (PHP- oder JavaScript-) Funktionen zu schreiben, um Transformationspipelines, Conditions usw. für bestimmte Felder einzurichten.
- Objekthierarchie importieren (z.B., um ein übergeordnetes Element der importierten Elemente zu definieren).
- Option zum Einrichten eines Schreibschutzes für einzelne Felder: Nur Daten in ein bestimmtes Feld importieren, wenn das Feld leer ist.
- Antwortdokumente generieren, z.B. um den Erfolgsstatus an das Quellsystem zurückzusenden.
- Importe automatisch starten, z.B. um
- nach dem Hochladen automatisch Assets zu Datenobjekten zuzuordnen oder
- den Import für hochgeladene CSV-, JSON-, XML-, Excel-Dateien automatisch zu starten.
- Importe per Push aus externen Systemen (über REST-API) für Live-Schnittstellen ohne Austausch von Dateien auszulösen,
- Nachvollziehbarkeit: Importarchiv (für Importdateien) und durchsuchbarer Importprotokollverlauf, um immer zu wissen, wann und warum ein bestimmtes Feld einen bestimmten Wert erhalten hat
- Importe rückgängig machen: Kam es durch einen Fehler zu Datenverlust, können neu importierte Felder auf ein bestimmtes Datum zurückgesetzt werden. Ein enormer Vorteil gegenüber der Wiederherstellung eines Datenbank-Dumps, da Daten der nicht importierten Felder erhalten bleiben.
- Dataports werden auch als JSON-Dateien gespeichert
- Ermöglicht das Nachverfolgen von Änderungen über VCS (Git) und ein einfaches Deployment. Auch das Herunterladen und Importieren der Dataport-Konfiguration wird unterstützt.
- Optimierte Vererbungsfunktion
- Berechtigungssystem: Für jeden Dataport können differenzierte Zugriffsrechte konfiguriert werden. Für alle Dataports sind Konfigurations- und Ausführungsrechte separat zuweisbar.
- Verschiedene Arten von Elementen importieren:
- Datenobjekte
- Assets
- Dokumente
- Mengenwerteinheiten (inkl. Umrechnungsfaktoren)
- Integrierte Schnittstelle zu Übersetzungsanbietern (DeepL, AWS Translate), um automatische Übersetzungen mit nur einem Klick einzurichten (inkl. Caching von früheren Übersetzungen, um Kosten für wiederkehrende Strings zu sparen).
- Funktionen zur künstlichen Intelligenz, z.B. zur automatischen Zuordnung von Kategorien auf Basis von Produktname und Beschreibung.
Vorteile gegenüber anderen Pimcore Export Plugins
- Zugriff auf alle Daten, die mit exportierten Objekten verbunden sind. Beim Export von Produkten kann z.B. einfach auf zugewiesene Kategorien, Bilder der zugewiesenen Kategorien und sogar auf Metadaten der Bilder zugewiesener Kategorien zugegriffen werden – die Verkettung lässt sich beliebig lang erweitern.
- Volle Flexibilität bei der Einrichtung einer Transformationspipeline, um Werte in das gewünschte Format umzuwandeln (z.B. Datumsformatkonvertierung, Konvertierung von Mengenwerten in bestimmte Einheiten usw.).
- Volle Flexibilität für Format/Dokumentenstruktur des Exportdokuments.
- Vordefinierte Exportvorlagen zur Erstellung von CSV-, XML-, JSON-Exporten mit oder ohne referenzierte Asset-Dateien (z.B. CSV-Datei plus Assets (oder Thumbnails) in einem Zip-Archiv).
- Exporte automatisch ausführen, sobald ein Objekt gespeichert wird, dessen Daten exportiert werden sollen:
- Export vorbereiten, sobald sich die Daten ändern, sodass Daten nicht in dem Moment geladen werden müssen, in dem ein Export angefordert wird, führt zu sehr schnellen Exporten, da das Exportdokument bereits im Moment der Anfrage verfügbar ist.
- Exporte automatisch in ein Zielsystem hochladen, um dort immer aktuelle Daten zu haben.
- Automatisches Versenden von Daten an andere APIs, z.B. Online-Shops, Marktplatzverteiler etc.
- Intelligente Prüfung auf Datenänderungen seit dem letzten Export. Liegen keine Änderungen vor, wird das Ergebnisdokument aus dem Cache gezogen.
- Zugriff auf Exporte über URL, z.B. um Datenfeed in ein externes System zu ziehen.
Vorteile gegenüber eigenen Import-Implementierungen
- Minimierung des Programmieraufwands: Nur Datenänderungen aus der Datenquelle erfordern minimalen Programmieraufwand
- Performance
- Daten werden nicht importiert, wenn sich seit dem letzten Import nichts geändert hat.
- Wenn sich ein Objekt beim Import nicht geändert hat, muss es nicht noch einmal gespeichert werden.
- Exportdaten werden aktualisiert, wenn sich Objekte ändern, so dass sie bereits in dem Moment vorbereitet sind, in dem ein Export angefordert wird.
- Flexibilität
- Importe und Exporte sind vollständig an die Datenquelle und Ihr Pimcore-Datenmodell anpassbar.
- Unterstützt alle Pimcore-Elemente, einschließlich Datenobjekte, Objekt-Bausteine, Feldsammlungen, Assets und Dokumente.
- Unterstützt den Import von Tags und Eigenschaften.
- Transparenz
- Mit Import-Archiv und durchsuchbarer Import-Log-Historie können Sie jederzeit nachvollziehen, warum ein bestimmtes Feld einen bestimmten Wert bekommen hat und welche Importdatei dafür verantwortlich war.
- Der aktuelle Import-/Exportstatus wird immer angezeigt (Fortschritt des aktuellen Auftrags, Anzahl der in der Warteschlange stehenden Elemente).
- Komfortfunktionen
- Automatisches Extrahieren von Rohdatenfeldern aus Importressourcen
- Rohdatenfelder automatisch Pimcore-Klassenfelder zuordnen
- Vererbungsfunktion optimieren
- Ersetzen von Platzhaltern (z.B. um Texte automatisch zu generieren)
- Automatische Übersetzung (mit DeepL API)
- Fehlerüberwachung/Benachrichtigung bei Importen
- Importe rückgängig machen
Die Highlights auf einen Blick
- Dateibasierte Importe: Überwachung eines Verzeichnisses und automatischer Import bei neuen Dateien, z.B. für
- automatische Asset-Importe in das Pimcore (z.B. von einem Netzlaufwerk),
- automatisches Mapping von Assets auf Pimcore-Objekte anhand des Dateinamens
- Import mehrerer Dateien (CSV, XML, JSON, Excel) aus einem Quellverzeichnis mit automatischer Datensatz-Deduplizierung
- Import von URLs als Datenquelle
- Importieren von Daten aus Pimcore-Objekten:
- Migrieren von Daten von einem Feldtyp zu einem anderen ohne Datenverlust.
- dynamische Massendatenmanipulation (derzeit im Pimcore-Grid nicht möglich Operation wie z.B. Preise um 10% zu erhöhen).
- Daten aus Pimcore-Berichten importieren, z.B., um
- Berichte per Mail zu versenden (z.B. für die Benachrichtigung zuständiger Benutzer, wenn eine Aktion für die Berichtsobjekte erforderlich ist).
- Oder um Daten aus Google Analytics in Pimcore-Datenobjekte zu importieren und diese Daten weiter zu verwenden.
- Import von Dokumenten (Befüllen der Editables)
- Erzeugen von Antwortdokumenten:
- Ein Antwortdokument mit allen erfolgreich importierten Objekten generieren und dieses an das Quellsystem senden.
- Importfehler verfolgen.
- Einen weiteren Import aufrufen, der vom aktuellen abhängt.
- Exportdokumente (JSON / CSV / XML etc.) erzeugen, die andere Systeme als Importquelle nutzen können.
- Antwortdokumente für Single-Page-Applikation/PWA-Frontend-Anfragen erstellen.
- Importe und Exporte mit der eingebauten REST-API ausführen.
- Überspringen von Datensätzen aus der Importquelle, z.B. wenn Daten fehlen oder deren Qualität nicht ausreicht.
- Einfaches Importieren von Relationen.
- Automatische Zuordnung von Elementen zu Relationen über künstliche Intelligenz/maschinelles Lernen.
- Import von Objekthierarchien / Objektbäumen
- Angabe des Elternelements möglich
- Option zur Optimierung der Vererbung (Daten werden so hoch wie möglich in der Objekthierarchie eingetragen).
- Automatische Übersetzung von Texten über Übersetzungsanbieter (über DeepL oder AWS API).
- Unterstützung aller Pimcore-Datentypen einschließlich Relationen mit Metadaten, Objektbausteinen, Feldsammlungen etc.
- Optimierte Leistung:
- Wenn sich die Quelldaten nicht geändert haben, kann der Import des Datensatzes übersprungen werden.
- Wenn die Daten eines Objekts beim Import nicht geändert werden, müssen sie nicht gespeichert werden.
- Generierung von Barcode- und QR-Code-Bildern
- Möglichkeit, Importe rückgängig zu machen:
- Hat sich ein Fehler bei der Attributvergabe eingeschlichen und wurden mehrere tausend Objekte mit falschen Daten befüllt, kann die Änderung rückgängig gemacht werden. In diesem Fall werden nur die im Import gemappten Felder zurückgesetzt bzw. nur für die im Import geänderten Objekte – ein großer Vorteil gegenüber einem kompletten Backup-Restore.
Dokumentation
Um mehr über alle Optionen und deren Konfiguration zu erfahren, lesen Sie bitte die vollständige Dokumentation oder schauen Sie sich die Tutorial-Videos an.
Hier bekommen Sie das Data Director Bundle
Sie können das Bundle einfach direkt im Blackbit Shop bestellen oder eine E-Mail an info@blackbit.de schreiben.
Möchten Sie einen Gastbeitrag zu Pimcore's Blog einreichen?
Der Blog hat mehr als 5.000 Abonnenten und zieht monatlich mehr als 50.000 Besucher an. Wir sind immer auf der Suche nach weiteren brillanten Autoren in unseren Reihen. Kontaktieren Sie uns.
Sie wollen zur nächsten Generation der Pimcore-Partner gehören? Dann besuchen Sie unsere Partner-Application-Seite.