Mapping-Profile
Rohdaten aus einem Data Pot sind selten so strukturiert wie dein PIM. Genau hier setzen Mapping-Profile an: Sie beschreiben regelbasiert und wiederverwendbar, wie aus einem eingehenden Datensatz ein vollständiges Business Object wird – mit der richtigen Familie, befüllten Attributen, Preisen, Status, Verbindungen und Bildern. Die Mapping-Profile gehören zu den mächtigsten Werkzeugen von buzzle: Sie leisten das, wofür sonst eigene ETL-Strecken oder Programmierung nötig wären – konfigurierbar, ohne Code.
Das Prinzip: einmal definieren, konsistent importieren
Abschnitt betitelt „Das Prinzip: einmal definieren, konsistent importieren“Ein Mapping-Profil ist eine wiederverwendbare Vorschrift. Einmal definiert, sorgt es
dafür, dass jeder Import aus derselben Quelle konsistent in der richtigen Struktur
landet – heute, morgen und beim nächsten Lieferanten-Feed. Ein Profil besitzt einen
Titel, eine Datenquelle (DataSource), einen Typ mit eigener Konfiguration sowie
die eigentliche Mapping-Konfiguration.
Aufbau eines Mapping-Profils
Abschnitt betitelt „Aufbau eines Mapping-Profils“Die Konfiguration eines Profils gliedert sich in zwei Teile:
| Bestandteil | Bedeutung |
|---|---|
BusinessObjectTypeMapping | Pro Objekttyp eine eigene Mapping-Vorschrift (BusinessObjectMapping) |
BusinessObjectConnectionMapping | Objektübergreifende Verbindungen, die nach dem Import aufgebaut werden |
Ein einzelnes BusinessObjectMapping ist das Herzstück und bündelt alle Regeln für
eine Objektart:
| Feld | Zweck |
|---|---|
CodeMapping | Woraus der eindeutige Objekt-Code gebildet wird |
ParentMapping | Zuordnung eines Elternobjekts (Hierarchie/Varianten) |
FamilyMapping | Aus welchem Quellwert die Familie bestimmt wird |
AttributeMappings | Die Zuordnung der einzelnen Attribute (siehe unten) |
StateMapping / InitialState | Status/Zustände beim Import setzen |
StateActivateDeactivateConfiguration | Objekte automatisch aktivieren/deaktivieren |
ConnectionMapping / StaticConnectionMapping | Verbindungen zu anderen Objekten |
ImageMapping / DocumentMapping | Bilder und Dokumente zuordnen |
RootJsonPath | Einstiegspunkt in die Quelldaten (JSON) |
DataPotGroup | Bündelung zusammengehöriger Daten |
OnlyUpdate | Nur bestehende Objekte aktualisieren, keine neuen anlegen |
Quelldaten präzise adressieren
Abschnitt betitelt „Quelldaten präzise adressieren“Mapping-Profile greifen über JSON-Path gezielt auf Felder der Quelldaten zu. Über den
RootJsonPath legst du den Einstiegspunkt fest, über die Property jedes einzelnen
Quellwerts den Pfad zum konkreten Feld. So lassen sich auch verschachtelte Strukturen
sauber ansprechen – nicht nur flache Tabellen.
Ein Attributwert kann sogar aus mehreren Quellwerten zusammengesetzt werden, jeweils
mit einer optionalen Bedingung (ConditionRegex) und einem Separator. Damit
bildest du Fälle ab wie «nimm Feld A, aber nur wenn es dem Muster X entspricht, sonst Feld
B».
Attribut-Mapping im Detail
Abschnitt betitelt „Attribut-Mapping im Detail“Jedes Attribut wird über ein AttributeMapping zugeordnet:
| Feld | Bedeutung |
|---|---|
CodeInDatabase | Zielattribut in buzzle |
SelectValuesInSource | Quellwert(e) je Sprache – Grundlage für mehrsprachige Importe |
IsLocalized | Der Wert wird pro Sprache geführt |
Separator | Trennzeichen beim Zusammensetzen mehrerer Quellwerte |
UpdateExistingValues | Bestehende Werte überschreiben |
UpdateEmptyValues | Nur leere Werte befüllen (Bestehendes bleibt erhalten) |
ValueConverters | Transformationen des Wertes (siehe unten) |
AttributeConfiguration | Typspezifische Zusatzkonfiguration |
Je nach Attributtyp greift automatisch die passende Mapping-Strategie – etwa für Auswahlfelder (Option), Mehrfachauswahl (Optionen) oder referenzdatenbasierte Attribute. So werden Quellwerte korrekt auf gültige Optionen und Referenzdaten abgebildet, statt nur als Text übernommen zu werden.
Werte transformieren
Abschnitt betitelt „Werte transformieren“Selten passt ein Quellwert eins zu eins. Mapping-Profile bringen deshalb eingebaute Wert-Konverter mit, die sich pro Attribut verketten lassen:
| Konverter | Parameter | Wirkung |
|---|---|---|
| StaticValue | StaticValue | Setzt einen festen Wert |
| ReplaceConverter | SearchValue, ReplaceValue | Suchen & Ersetzen |
| RemoveValue | RemoveValue | Entfernt einen bestimmten Wert/Teil |
| NumberFormatValue | NumberFormat | Formatiert Zahlen (z. B. Dezimaltrennzeichen) |
| IfThenValue | If, Then | Bedingte Zuweisung («wenn … dann …») |
Ergänzend erlauben Symbol-Ersetzungen (SymbolReplacements) das gezielte Austauschen
einzelner Zeichen, und mit ToLowerCase lässt sich der Wert normalisieren. Damit
bereinigst und harmonisierst du Lieferantendaten schon beim Import – ohne
Nacharbeit.
Familien, Status und Aktivierung steuern
Abschnitt betitelt „Familien, Status und Aktivierung steuern“Ein Import setzt nicht nur Attribute:
- Familien-Mapping: Über
SelectValueInSourceund eine Zuordnungstabelle (Mappings) wird aus einem Quellwert die passende Familie bestimmt – so landet jedes Produkt automatisch in der richtigen Struktur. - Status-Mapping: Zustände lassen sich beim Import setzen, inklusive Initialzustand.
Über die
StateActivateDeactivateConfigurationwerden Objekte anhand der Quelldaten automatisch aktiviert oder deaktiviert – etwa, um ausgelistete Artikel stillzulegen.
Verbindungen und Medien mit importieren
Abschnitt betitelt „Verbindungen und Medien mit importieren“- Verbindungen:
ConnectionMappingundStaticConnectionMappingverknüpfen Objekte bereits beim Import (z. B. Zubehör, Alternativen). ÜberBusinessObjectConnectionMappinglassen sich sogar objektübergreifende Verbindungen anhand von Quellwerten (ValueFromInSource→ValueToInSource) aufbauen. Mehr dazu unter Verbindungen. - Bilder:
ImageMappingübernimmt Bilder – wahlweise als URL oder aus einem Pfad (ImageMappingConfigurationmitIsUrl/Path). - Dokumente:
DocumentMappingordnet Dateien und Dokumente zu.
Aktualisieren statt überschreiben
Abschnitt betitelt „Aktualisieren statt überschreiben“Feingranulare Update-Regeln verhindern Datenverlust: OnlyUpdate beschränkt einen Import
auf bestehende Objekte, UpdateExistingValues und UpdateEmptyValues steuern pro
Attribut, ob und wann Werte überschrieben werden. So aktualisieren tägliche Feeds gezielt
nur das, was sich ändern soll – manuell gepflegte Inhalte bleiben unangetastet.
Wiederverwendbar und automatisiert
Abschnitt betitelt „Wiederverwendbar und automatisiert“Mapping-Profile sind nicht an einen einzelnen Lauf gebunden. Sie werden im Import-Workflow ausgeführt und lassen sich so mit Data Pots und Connectors zu vollautomatischen, wiederkehrenden Importstrecken kombinieren – inklusive zeitgesteuerter Läufe. Mehr zur Automatisierung unter Workflows, Tasks & Jobs.
Dein Nutzen
Abschnitt betitelt „Dein Nutzen“- Kein Code, keine ETL-Insellösung – mächtiges Mapping rein über Konfiguration
- Saubere Daten schon beim Import dank Konvertern, Bedingungen und Normalisierung
- Vollständige Objekte inkl. Familie, Status, Verbindungen, Bildern und Dokumenten
- Mehrsprachig und mit präziser Kontrolle über Updates
- Wiederverwendbar und voll automatisierbar
Das Wichtigste in Kürze
Abschnitt betitelt „Das Wichtigste in Kürze“- Mapping-Profile übersetzen Rohdaten regelbasiert in vollständige Business Objects
- JSON-Path, mehrere Quellwerte, Bedingungen und Wert-Konverter (StaticValue, ReplaceConverter, RemoveValue, NumberFormatValue, IfThenValue)
- Mappen Familie, Status, Aktivierung, Verbindungen, Bilder und Dokumente mit
- Feingranulares Update-Verhalten schützt gepflegte Daten
- Wiederverwendbar und in automatisierte Importstrecken einbettbar