Smart Data Synchronizer

1-Klick Synchronisation für Produkte, Kategorien und CMS-Inhalte an unterschiedliche Adobe Magento 2 Shops.
699,00 €
zzgl. MwSt.

+  QUELLE → ZIEL

Mehrere Systeme, eine Leitung

Die Extension wird auf mindestens auf einer Quellsystem- und einer Zielsystem-Instanz installiert. Das Quellsystem überträgt die gewünschten Informationen via Magento WebAPI. Das Zielsystem nimmt sie entgegen und legt sie an – oder aktualisiert sie, falls sie schon existieren. 

 

QUELLSYSTEM Redaktion / Staging Produkt bearbeiten Data Sync 1 Klick POST /rest/V1/cz-datasync Bearer Token · TLS · ACL-geschützt product category cms_page cms_block ZIELSYSTEM 01 Live-Shop DE angelegt oder aktualisiert ZIELSYSTEM 02 Live-Shop AT angelegt oder aktualisiert

+  TYPISCHE SZENARIEN

Wer mit "Smart Data Synchronizer" arbeitet

Staging → Live

Kampagnenseiten und neue Produkte in Ruhe auf dem Staging bauen, prüfen lassen und dann gezielt einzeln freischalten. Ohne Datenbank-Dump, ohne Deployment-Fenster.

Mehrere Ländershops

Separate Magento-Installationen für DE, AT und CH. Ein Produkt wird einmal gepflegt und geht mit einem Klick in alle Instanzen, die es haben sollen.

Agentur und Kunde

Vorlagenseiten und Blockbibliotheken zentral pflegen und in Kundeninstanzen ausrollen – ohne dass jemand Zugriff auf die Produktionsdatenbank braucht.

Relaunch mit Parallelbetrieb

Während der neue Shop entsteht, laufen die alten Inhalte weiter. Änderungen aus dem Tagesgeschäft ziehen Sie stückweise in die neue Instanz nach.

B2B- und B2C-Instanz

Gemeinsame Stammdaten, getrennte Systeme. Über die Feldauswahl gehen Texte und Bilder mit, die Preislogik bleibt je Instanz eigenständig.

Notfall-Nachpflege

Ein Tippfehler in der Kategoriebeschreibung, drei Systeme betroffen. Korrigieren, Data Sync, erledigt – statt dreimal einloggen.

+  WARUM ÜBERHAUPT

Der Weg von Staging nach Live kostet Sie jedes Mal einen halben Tag

bisher

Export, Datei, Import, Nacharbeit

  • CSV exportieren, Spalten prüfen, Mapping pflegen, wieder importieren.
  • Bilder liegen nicht in der Datei – die lädt jemand von Hand nach.
  • Page-Builder-Inhalte brechen, weil die Block-IDs im Zielsystem andere sind.
  • Fehlt ein Attribut im Ziel, bricht der Import ab.
  • Für eine einzige geänderte Landingpage denselben Aufwand wie für 5.000 Produkte.
  • Niemand weiß hinterher genau, was übertragen wurde.

mit Smart Data Synchronizer

Bearbeiten, Data Sync, fertig

  • Die Redaktion bleibt in der Maske, in der sie ohnehin gerade arbeitet.
  • Bilder der Galerie und aus Page-Builder-Inhalten werden base64-kodiert mitgeliefert.
  • Referenzierte CMS-Blöcke werden vorab übertragen und die ID's im Zielsystem neu verknüpft.
  • Fehlende Attribute und Attributsets legt das Zielsystem auf Wunsch selbst an.
  • Jeder Sync steht mit Status und Zeitstempel im Log.

+  IM BETRIEB GESEHEN

Ein Sync in zwei Minuten erklärt

Die Funktionalitäten im Überblick und an zwei Beispiel-Synchronisationen einfach erklärt.

+  WAS ÜBERTRAGEN WIRD

Vier Datentypen, jeder mit eigener Vorlage

Pro Typ definieren Sie eine Sync-Vorlage: welche Felder an das  Zielsysteme, mit welchen Optionen übertragen werden sollen. Was Sie nicht auswählen, bleibt im Ziel unverändert.

product

Produkte

Alle Produktattribute stehen zur Auswahl. Die Zuordnung im Ziel läuft über die SKU. Die Galerie kann als base64 mitgeschickt werden.

category

Kategorien

Kategoriefelder inklusive der strukturellen Bezüge zur Elternkategorie. Der url_key geht immer mit.

cms_page

CMS-Seiten

Inklusive Page-Builder-Inhalt: Bilder werden eingebettet, absolute URLs zu host-unabhängigen Direktiven normalisiert.

cms_block

CMS-Blöcke

Zuordnung über den Identifier. Blöcke, die in einer Seite referenziert sind, synchronisieren automatisch vorweg.

Immer dabei, egal was Sie auswählen: Identitäts- und Strukturschlüssel (SKU), identifierurl_key, Eltern-Referenzen und Medien-Assets. Ohne die könnte das Zielsystem die Datentypen nicht sicher zuordnen.

+  WAS ÜBERTRAGEN WIRD

Einmal konfiguriert, danach ein Klick

Die folgenden Schritte 1 bis 3 werden nur einmalig durchgeführt. Schritt 4 macht die Redaktion danach jeden Tag.


SCHRITT 01 — EINMALIG

Zielsystem anlegen und Verbindung testen

Basis-URL eintragen, Authentifizierung wählen – wahlweise ein statischer Integration Access Token oder Admin-Zugangsdaten. Zugangsdaten liegen verschlüsselt vor und werden im Backend maskiert angezeigt.

Der Button Test Connection pingt das Ziel an und meldet sofort zurück, ob die Leitung steht – aus der Übersicht heraus oder direkt im Formular.

Es können mehrere Zielsysteme konfiguriert und für Daten-Synchronisationen genutzt werden.

Zielsystem konfigurieren: Name, Basis-URL, Auth-Typ, Timeout, aktiv ja/nein.


SCHRITT 02 — EINMALIG

Sync-Vorlage definieren

Eine Vorlage legt fest, was übertragen wird und wohin: Datentyp (Entity), die Felder und Attribute per Mehrfachauswahl, ein oder mehrere Zielsysteme sowie die Optionen für Medien und Page-Builder-Referenzen.

Werden keine Felder ausgewählt, greifen die Standardwerte. Für jeden Entitätstyp gibt es eine eigene Vorlage – die Feldliste filtert sich entsprechend.

Vorlage anlegen: Entitätstyp wählen, Felder picken, Ziele zuordnen.


SCHRITT 03 — EINMALIG

Globale Einstellungen

Timeout für die Verbindung, maximale Mediengröße für den base64-Transfer, Log-Level und die Frage, ob fehlende Attribute im Ziel automatisch angelegt werden sollen. Alles unter Stores › Configuration › CLEVER+ZOEGER › Smart Data Synchronizer.

Zentrale Einstellungen inklusive Log-Level für var/log/cleverzoeger_datasync.log.


SCHRITT 04 — TÄGLICH

Smart Data Synchronizer starten

Der Button "Data Sync" sitzt in der Toolbar jeder unterstützten Bearbeitungsmaske. Ein Klick öffnet ein Fenster mit den aktiven Vorlagen für diesen Entitätstyp. Vorlage wählen, Run Sync drücken – und im selben Fenster steht, was im Ziel passiert ist.

Kein Kontextwechsel, keine Datei, kein Warten auf die Technik.

Vorlage wählen, Sync starten. Das Ergebnis erscheint direkt im Dialog.

Der Button ist überall dort, wo Sie ihn brauchen

Produkt

Kategorie

CMS-Seite

CMS-Block

+  DER SCHWIERIGE FALL

Page Builder überlebt den Umzug

Eine Landingpage mit einem Bild und einem eingebundenen CMS-Block ist genau der Inhalt, an dem klassische Import-Werkzeuge scheitern. Hier ist, was beim Übertragen tatsächlich passiert.

  • Bilder werden gelesen und eingebettet. Sowohl https://<QUELLSYSTEM>/media/…-Direktiven als auch absolute …/media/…-Quellen in <img>-Tags. Im Ziel landen sie unter demselben Medienpfad.
  • Absolute URLs werden normalisiert zu host-unabhängigen Direktiven – die Seite funktioniert im Ziel auch unter anderer Domain.
  • Referenzierte CMS-Blöcke gehen zuerst. Sie werden einmalig über ihren identifier angelegt.
  • Die numerische block_id im Widget wird umgeschrieben auf die lokale ID im Zielsystem.

Schematische Darstellung. Die tatsächliche Ausgabe steht im Job-Log und in var/log/cleverzoeger_datasync.log.

Ehrlich bleiben: Übergroße Bilder werden vom Größen-Schutz übersprungen und im Log als Warnung vermerkt. Verschachtelte Block-in-Block-Referenzen werden in der aktuellen Version eine Ebene tief übertragen.

Vorher: die Seite im Editor des Quellsystem.

Nachher: Die Seite im Frontend des Zielsystems – aus einem zuvor leeren Ziel heraus angelegt.

+  FUNKTIONSUMFANG

Alles, was zwischen mehreren Instanzen gebraucht wird

Mehrere Zielsysteme

Eine Vorlage kann beliebig viele Ziele bedienen. Nur aktive Ziele bekommen Daten – zum Pausieren genügt ein Schalter.

Feldgenaue Auswahl

Per Mehrfachauswahl bestimmen, welche Attribute mitgehen. Preise im Ziel behalten, nur Texte aktualisieren? Kein Problem.

Attribute anlegen

Auf Wunsch erzeugt das Zielsystem fehlende Attribute, Attributoptionen und Attributsets selbst, statt den Vorgang abzubrechen.

Medien-Dateien

Die Produktgalerie wird direkt in der Payload mit synchronisiert. Kein separater FTP-Sync, kein nachträgliches Bilderschieben.

Fehlerfreier Import

Eindeutige Zuordnung über SKU und identifier. Wiederholte Läufe aktualisieren, sie duplizieren nicht.

Verbindungstest

Ein Klick, eine Antwort. Aus der Zielübersicht heraus oder direkt im Formular – bevor die erste echte Entität losgeschickt wird.

Logging

Jeder Lauf mit Entitätstyp, Quellentität, Status je Ziel und Zeitstempel. Nachvollziehbar auch Wochen später.

Verschlüsselt

Access Token und Admin-Passwörter werden verschlüsselt gespeichert und im Backend nur maskiert angezeigt.

Entwickler-TLS

Für lokale Ziele mit selbstsigniertem Zertifikat lässt sich die TLS-Prüfung gezielt abschalten. Extra für Dev-Systeme.

+  SICHERHEIT

Sauber abgesichert

  • Die Empfängerseite stellt zwei REST-Endpunkte bereit: GET /rest/V1/cz-datasync/ping für den Gesundheitscheck und POST /rest/V1/cz-datasync/import für den eigentlichen Import.
  • Beide verlangen einen Bearer Token und die ACL-Ressource CleverZoeger_DataSync::sync. Kein offener Endpunkt, keine Hintertür.
  • Zugangsdaten liegen verschlüsselt in der Konfiguration und werden im Backend maskiert.
  • Ein Größenlimit für Mediendaten verhindert, dass ein einzelnes Bild den Transfer sprengt.
  • Die Extension lässt sich global deaktivieren, einzelne Ziele und Vorlagen separat.

+  TECHNISCHE DATEN

Auf einen Blick

Modulname CleverZoeger_DataSync
Kompatibilität Magento 2.4.x
Installation auf Quell- und Zielsystem
Entitätstypen product · category · cms_page · cms_block
Transport Magento WebAPI (REST), Bearer Token
Mediadaten base64 in Payload, Größenlimit konfigurierbar
Backend-Pfad CLEVER+ZOEGER › Smart Data Synchronizer
Logdatei var/log/cleverzoeger_datasync.log
Quellcode unverschlüsselt, 100% Open Source

Das Smart Data Synchronizer Log zeigt jeden Synchronisations-Durchlauf – schreibgeschützt, mit Status je Zielsystem.

+  HÄUFIGE FRAGEN

Bevor Sie kaufen

Muss die Extension auf beiden Systemen installiert sein?
Ja. Das Quellsystem verschickt die Daten, das Zielsystem stellt die geschützten WebAPI-Endpunkte bereit und importiert. Beide Rollen stecken im selben Modul – Sie installieren dieselbe Extension zweimal und entscheiden über die Konfiguration, welche Instanz welche Rolle übernimmt. Eine Instanz kann beides gleichzeitig sein.
Ersetzt das den CSV-Import von Magento?
Nein, es löst ein anderes Problem. Der CSV-Import ist für Massendaten aus Fremdsystemen gedacht. Der Smart Data Synchronizer ist für den redaktionellen Alltag zwischen zwei Magento-Instanzen: gezielt eine Entität, direkt aus der Maske heraus, ohne Datei und ohne Mapping. Beides lässt sich problemlos parallel betreiben.
Was passiert, wenn die Entität im Zielsystem schon existiert?
Sie wird aktualisiert, nicht dupliziert. Die Zuordnung läuft über stabile Schlüssel – SKU bei Produkten, identifier bei CMS-Blöcken, url_key bei Seiten. Deshalb können Sie denselben Sync beliebig oft wiederholen, ohne im Ziel aufzuräumen.
Gehen Bilder mit?
Ja. Die Produktgalerie wird auf Wunsch base64-kodiert im Payload mitgeschickt. Bei Page-Builder-Inhalten werden zusätzlich die im Content referenzierten Bilder gelesen und im Ziel unter demselben Medienpfad wieder abgelegt. Für sehr große Dateien gibt es ein konfigurierbares Limit; übersprungene Bilder erscheinen als Warnung im Log.
Was ist mit Attributen, die es im Zielsystem noch nicht gibt?
Wenn Sie die entsprechende Option aktivieren, legt das Zielsystem fehlende Attribute, Attributoptionen und Attributsets selbst an. Sie können das global oder je Vorlage steuern – oder bewusst abschalten, wenn im Ziel nur bereits definierte Strukturen entstehen dürfen.
Bleiben Page-Builder-Widgets funktionsfähig?
Ja. Referenzierte CMS-Blöcke werden vor der Seite übertragen und die numerische block_id im Widget-Aufruf auf die lokale ID im Zielsystem umgeschrieben. Absolute Bild-URLs werden zu host-unabhängigen Direktiven normalisiert, damit die Seite auch unter anderer Domain rendert. Verschachtelte Block-in-Block-Referenzen werden aktuell eine Ebene tief mitübertragen.
Wie ist die Verbindung abgesichert?
Über die Magento WebAPI mit Bearer Token und der ACL-Ressource CleverZoeger_DataSync::sync. Zugangsdaten werden verschlüsselt gespeichert und im Backend maskiert angezeigt. Für lokale Entwicklungsziele mit selbstsigniertem Zertifikat lässt sich die TLS-Prüfung abschalten – im Produktivbetrieb sollte diese Option aus bleiben.
Kann ich einen Sync nachvollziehen?
Jeder Lauf landet im schreibgeschützten Job-Log mit Entitätstyp, Quellentität, Status je Zielsystem und Zeitstempel. Für die technische Analyse gibt es zusätzlich var/log/cleverzoeger_datasync.log mit einstellbarem Log-Level.
Brauche ich Programmierkenntnisse?
Für die Installation per Composer und das Anlegen des Integration-Tokens im Zielsystem braucht es einmalig jemanden mit Magento-Erfahrung. Die tägliche Nutzung – Vorlage wählen, Sync starten – ist reine Backend-Bedienung. Bei der Einrichtung helfen wir gern.
Bekomme ich Support?
Ja. Wir entwickeln seit 2008 Magento-Lösungen, sind Adobe Solution Partner mit zertifizierten Entwicklern und stehen für Fragen zur Verfügung – auf Deutsch, aus Augsburg. Die vollständige technische Dokumentation ist frei zugänglich, bevor Sie kaufen.

+  NÄCHSTER SCHRITT

Schluss mit doppelter Pflege

Sehen Sie sich die vollständige Dokumentation an oder sprechen Sie mit uns über Ihr Setup. Beratung kostet bei uns nichts.

Modul Version 1.0.0
CE 2.4.x
EE 2.4.x
Sprachen englisch, deutsch

Release Notes - Data Sync

Version 1.0.0 (17.07.2026)

  • FEATURE Initiale Version: Daten-Synchronisation zwischen zwei Magento-2-Systemen.
  • FEATURE Sync-Targets (verschlüsselte Credentials, Token- oder Admin-Auth, optionaler TLS-Verify-Toggle) und Sync-Templates im Backend verwaltbar.
  • FEATURE WebAPI-Empfang (/V1/cz-datasync/ping|import, ACL-geschützt) mit Payload-Validierung und Strategy-Dispatch nach Entitätstyp.
  • FEATURE Produkt-Sync: Sync-Button + Modal am Produkt, Attribute je Store (Select/Multiselect portabel übertragen — Details siehe BUGFIX unten), Attribut-/Options-Anlage am Ziel, Websites, Kategorie-Remap, Medien als base64 (mit Dedup), idempotenter SKU-Upsert.
  • FEATURE Page-Builder-Content: Medien-Transfer und CMS-Block-Referenzen (block_id wird auf die Ziel-ID remappt, Block wird zuerst übertragen).
  • FEATURE Category-, CMS-Page- und CMS-Block-Sync (idempotent über Identität).
  • FEATURE Job-/Log-Grid (mit Richtung outbound/inbound und Quell-System-Spalte), Identity-Mapping, eigenes Logfile cleverzoeger_datasync.log.
  • FEATURE Empfängerseitiges Logging: jede eingehende Synchronisation wird auf dem Zielsystem als Inbound-Job (inkl. Quell-System, Entitätstyp, Quell-Identität und Ergebnis-Item) im Job-/Log-Grid erfasst — auch abgewiesene Requests (Schema-/ Payload-/Importer-Fehler). Das Logging ist gekapselt und bricht einen Import nie ab.
  • FEATURE Template-Feldauswahl: die frühere Textarea wurde durch einen durchsuchbaren Multiselect-Picker ersetzt, der nach entity_type gefiltert alle verfügbaren Felder/Attribute anbietet (Produkt: alle EAV-Attribute; Category/CMS: die unterstützten Felder). CMS-/Category-Exporter respektieren die Auswahl jetzt ebenfalls (Pflicht-/Identity-Keys bleiben immer erhalten).
  • FEATURE Sync-Modal: Die Auswahl im Template-Dropdown zeigt jetzt direkt die im Template konfigurierten Felder an (bzw. „Alle Felder" bei leerer Feldliste), damit vor dem Sync ersichtlich ist, was übertragen wird. Label/Dropdown, Feldliste und Ergebnis sind als Tabelle angeordnet. Nach dem Sync wird aus dem „Run Sync"-Button ein schwarzer „Close"-Button, der das Modal schließt.
  • FEATURE Job-/Log-Grid protokolliert jetzt den auslösenden Admin-User: jeder Sync-Job erhält den Benutzernamen des Admins, der ihn gestartet hat (neue Spalte „User"). Inbound-Jobs (WebAPI) bleiben ohne User.
  • FEATURE Config-Änderungen an Templates und Targets werden als Audit-Einträge (Richtung „Configuration change") ins selbe Log-Grid geschrieben — Anlegen, Ändern und Löschen (inkl. Massenlöschung), jeweils mit Admin-User und einem Feld-Diff in der neuen Spalte „Detail" (z. B. name: 'A' → 'B'; is_active: no → yes). Target-Credentials (Access-Token, Remote-Admin-User/-Passwort) werden dabei niemals im Klartext geloggt: Änderungen erscheinen nur als set/changed/cleared.
  • BUGFIX Admin-Grids (Targets/Templates/Jobs): fehlender storageConfig/indexField führte dazu, dass die Client-Data-Storage alle Zeilen unter entity_id (=undefined) keyte und dadurch mehrere Zeilen als dieselbe (letzte) Zeile anzeigte. indexField auf das jeweilige Primärfeld gesetzt, requestFieldName auf id (Core-Standard).
  • BUGFIX Produkt-Sync von Select-/Multiselect-Attributen (z. B. visibility) brach zwischen Systemen mit unterschiedlicher Sprache. Bisher wurde immer das übersetzte Options-Label übertragen und zielseitig per Text gematcht — ein en_US-Sender schickte visibility als "Catalog, Search", ein de_DE-Ziel kennt aber nur "Katalog, Suche" → kein Treffer → visibility wurde auf null gesetzt. Der Wert wird jetzt abhängig von der Options-Quelle portabel übertragen: Attribute mit code-definiertem Source-Model (visibility, status, …) haben systemübergreifend stabile Option-IDs und werden per ID übertragen/aufgelöst (locale-unabhängig); Attribute mit DB-Options (Table-Source, i. d. R. user-defined) haben install-spezifische IDs und werden weiterhin per Admin-Label gemappt (Optionen bei Bedarf angelegt). Der Empfänger akzeptiert für Source-Model-Attribute zusätzlich weiterhin das Label als Fallback für ältere Payloads. Hinweis: Der vollständige Cross-Locale-Fix greift erst, wenn beide Seiten aktualisiert sind.

Kundenbewertungen

Gesamtbewertung
Staging zu Live mit einem Klick
Bewertung von
Wir schieben einzelne Produkte und Kategorien vom Staging aufs Live-System, ganz ohne den üblichen Export-Import-Zirkus. Bearbeiten, Data Sync, fertig. Läuft sauber über die WebAPI und dank der idempotenten Importe gibts keine Doubletten. Spart uns richtig Zeit.

1 Artikel

Eigene Bewertung schreiben
Sie bewerten: Smart Data Synchronizer
Ihre Bewertung:
loader
Laden...

Sie haben Ihre Bewertung für die Moderation übermittelt.