Allgemein
Für eine Datentransformation in brandbox benötigen Sie einen ETL basierenden Prozess. ETL steht dabei für Extract, Transform, Load (Lesen, Transformieren, Schreiben). Im folgenden wird beschrieben, welche Aufgaben die jeweiligen Prozessteile übernehmen.
Technische Grundlage für den Transformationsprozess ist https://github.com/wizacode/php-etl (Dokumentation)
Extractor
Extractors sind der Einstiegspunkt eines jeden Prozesses. Um einen Prozess zu starten, müssen Sie einen Extractor einrichten und können dadurch eine Datenquelle (Doctrine oder CSV) lesen. Extractors erhalten drei Argumente: Typ, Quelle und Optionen (optional).
Quellen
Quellen repräsentieren die zu lesende Datenstruktur. Dabei wird die Datenstruktur in brandbox in der Form konfiguriert, die tatsächlich existiert. Man so also einen zu lesenden Datenbaum erstellen und linearisieren. Beispiel:
Artikelgruppe '-> Artikel '-> Preis
... wird zu:
Artikelgruppe | Artikel | Preis Dekoartikel | Kunstblume | 2,0 €Dekoartikel | Spiegel | 18,0 €