Home / Digital Commerce Blog - Blackbit / Blackbits Data Director für Pimcore: Version 3.1 ist da
Zurück zur Übersicht |

Blackbits Data Director für Pimcore: Version 3.1 ist da

Fleißig, fleißig! Nach dem großen Sprung mit Version 3.0 haben unsere Entwickler das hauseigene Import- und Export-Bundle schon wieder mit einigen Verbesserungen versehen. Blackbit präsentiert die neueste Version des Data Directors – mit folgenden Funktionen und Features:

Blackbit veröffentlicht Version 3.1 des Data Directors für Pimcore

Data Query Selector Grid Operator

Mit den Pimcore Standard Grid Operatoren ist es manchmal schwierig, die gewünschten Daten zu extrahieren. Viel einfacher wird es nun mit unserem neuen Data Query Selector Grid Operator: Extrahieren Sie Daten aus angezeigten Objekten, deren Beziehungen oder auch völlig anderen Objekten. Der Operator unterstützt auch die Autovervollständigungsfunktion, die Sie vielleicht schon von der Implementierung von Datenabfrage-Selektoren in Export-Rohdatenfeldern kennen.
Darüber hinaus gibt es jetzt auch einen neuen Feldtyp „Calculated Value (Data Query Selector)“, um die Logik auf Felddefinitionsebene zu definieren (ähnlich der Symfony Expression Language, aber mit Twig-Syntax und Datenabfrage-Selektoren stehen Ihnen viel mehr Möglichkeiten zur Wahl). Auf diese Weise können Sie die Logik von Feldern mit berechneten Werten direkt in der Felddefinition festlegen.

Leistungsverbesserungen

Bei der Extraktion und der Verarbeitung von Rohdaten werden jetzt Bulk Inserts verwendet, anstatt wie bisher Rohdaten bzw. Datenobjekte einzeln zu speichern. Dies führt zu einer Leistungssteigerung von ca. 600% bei der Rohdatenextraktion.

Eine weitere Leistungsverbesserung: Virtuelle Felder der Ergebnis-Erstellungs-Funktion werden jetzt nur noch einmal verarbeitet. Bisher wurde dies für jedes Rohdatenelement immer wieder durchgeführt.

Verbesserte Ad-hoc-Grid-Exporte

Der Data Director bietet jetzt sofort einsetzbare CSV-, XML- und JSON-Exporte von Daten, die im aktuellen Grid angezeigt werden – einschließlich benutzerdefinierter Tabellenkonfiguration und Operatoren –, ohne dass ein separater Datenport hierfür erstellt werden muss. Die gesamte Verarbeitung erfolgt serverseitig, was die Exportzeit im Vergleich zum Pimcore Standard-CSV-/Excel-Export reduziert.

Versionierung der Dataport-Einstellungen

Alle Änderungen an den Dataport-Einstellungen werden jetzt versioniert. Damit können Sie Änderungen bis zu 90 Tage lang zurückverfolgen, vergleichen und rückgängig machen.

Kleinere Features und Verbesserungen

Queue Processing

  • Importe mit dem Kontrollkästchen „automatisch ausführen bei neuen Daten“, bei denen Änderungen an der Datenquelle nicht durch Ereignisse erkannt werden können (wie z.B. Dateisystemimporte, FTP, URLs etc.), werden nun zusammen mit dem Wartungs-Cronjob ausgeführt.
  • Die Anzahl der erlaubten parallelen Prozesse in der Warteschlangenverarbeitung wird für jeden Dataport gespeichert, sodass der Queue Processor nach dem Neustart nicht wieder mit sehr wenigen parallelen Prozessen starten muss.
  • Beibehaltung der Scrolling-Position im Warteschlangenmonitor

Debugging und Logging

  • Ausgaben und Logs während des Dataport-Laufs werden für vereinfachtes Debugging nicht nur im Log, sondern auch im Vorschaufenster angezeigt.
  • Unterstützung der Protokollierung komplexer Werte mit $params['logger'] in Callback-Funktionen erspart die Notwendigkeit, sie zuerst in einen String zu konvertieren.
  • Protokollierung geparster Werte von Callback-Funktionen, z.B. wenn eine Callback-Funktion einen Data Query Selector zurückgibt, wird auch das ggf. gefundene Objekt protokolliert.

Importe und Exporte

  • Wenn das Kontrollkästchen „Vererbung aktivieren“ für Pimcore-basierte Dataports deaktiviert ist, wird auch die SQL-Bedingung jetzt auf nicht vererbte Datentabellen angewendet.
  • Speichern der Ergebnisse von DeepL oder anderen Übersetzungsanbietern in gemeinsamen Übersetzungen, um sie nach dem Löschen des Pimcore-Caches nicht erneut abrufen und bezahlen zu müssen. Vorher wurden diese im Pimcore-Cache gespeichert, sodass die Übersetzung für dieselbe Eingabe erneut bezahlt werden musste, wenn der Cache geleert wurde.
  • Wenn der Datenabfrage-Selektor kein Objekt finden kann, wird null zurückgegeben. Vorher wurde false oder sogar der Datenabfrage-Selektor-String selbst zurückgegeben.
  • Das Senden einer Fehlerprotokoll-E-Mail wird verhindert, wenn innerhalb von 5 Minuten bereits eine andere Fehlerprotokoll-E-Mail für den aktuellen Dataport versendet worden ist.
  • Unterstützung von field#locale zum Importieren von Daten in Felder des Klassifizierungsspeichers durch Zuweisung einer Callback-Funktion für den Klassifizierungsspeicher- bzw. Objekt-Brick-Container.
  • Unterstützung mehrerer Klassifizierungsspeicher-Gruppen.
  • Unterstützung des Abrufs von Daten aus Blockelementen, z.B. Block:each:(name) oder Block:each:(relation:name).
  • Byte-Order-Markierung zur CSV-Exportvorlage hinzugefügt, damit Excel Sonderzeichen korrekt anzeigt werden.
  • Neuer Importquellentyp 'Datei fester Länge' hinzugefügt.
  • Dataport::isQueued() gibt jetzt false zurück, wenn in der Warteschlange stehende Jobs für diesen Datenport gerade verarbeitet werden.

Benutzeroberfläche

  • UX-Verbesserung
    Dataport-Panel: Unterstützung der automatischen Erstellung von Rohdatenfeldern durch Hochladen einer Beispiel-Importdatei. Die Beispieldatei muss dazu nicht mehr als Importressource festgelegt werden.
  • Attribute Mapping
    Wenn $params['value'] in der Callback-Funktion aufgerufen wird, aber kein Rohdatenfeld zugewiesen wurde, wird nun eine Warnung angezeigt.
  • History Panel
    • Gestartete, aber noch in der Warteschlange befindliche Aufträge werden nun nur noch 1 × im History-Panel angezeigt. Zuvor entstand Irritation, weil es suggerierte, dass zwei Prozesse existierten, ein laufender und ein in der Warteschlange befindlicher.
    • Unterstützung zum Filtern nach „done“- und „total“-Items, die im Dataport-Lauf verarbeitet wurden, z.B.
      • done > 0
      • done > 1000
      • total > 1000
      • done < total
      • done = total
    • Protokolle bzw. Historie wird nicht mehr gelöscht, wenn Rohdaten oder Dataport-Ressourcen gelöscht werden, um z.B. zu wissen, wann ein Dataport zuletzt ausgeführt wurde.
  • Vorschau-Panel
    • Wenn ein einzelnes Rohdatenelement im Vorschaufenster bearbeitet wird, ist das Protokollfenster maximierbar.
    • Verbesserte Leistung bei der Suche.

Weitere Verbesserungen

  • Symfony Firewall für REST API wird durch benutzerdefinierte Token-Validierung ersetzt. Dies ermöglicht eine einfachere Installation, ohne die globale security.yaml ändern zu müssen.
  • priority wird auf SMALLINT geändert, um die Reihenfolge der Rohdatenfelder korrekt anzuzeigen, wenn mehr als 127 Rohdatenfelder in einem Dataport vorhanden sind.
  • Composer-Skript hinzugefügt, um Bundle-Migrationen automatisch auszuführen.
  • Saubere Implementierung asynchroner Dataport-Läufe. Nützlicher Nebeneffekt ist die Umgehung von Problemen mit nicht überschreibbarer max_execution_time oder Proxy-Timeouts.
  • Wartezeit für Importdateien in einem Ordner oder Glob-Ausdruck auf 2 Sekunden reduziert (vorher 10). Dies ist die Zeitspanne, in der eine Datei nicht verändert worden sein darf, um in einem Import verwendet zu werden. So werden keine Dateien importiert, die gerade hochgeladen werden.
  • Der favorisierte Dataport wird als Untermenüpunkt des Hauptmenüpunktes „Data Director“ angezeigt, wenn der Benutzer das Hauptmenü „Einstellungen“ nicht sehen kann.

Data Director Tutorials auf YouTube

Weitere hilfreiche Tipps zur Anwendung des Pimcore Data Directors bieten unsere YouTube Video-Tutorials. Detailgenaue Anleitungen finden Sie auf unserem YouTube-Kanal.

Sie kennen den Data Director noch nicht?

Neugierig auf unser Import- und Export-Bundle? Dann lernen Sie den Data Director kennen: Wir zeigen Ihnen in einer individuellen Demo, welche Möglichkeiten der Data Director Ihnen bietet. Sprechen Sie uns jetzt an!

Lassen Sie uns Feedback da