Hallo,
Wir mussten mehrere Importe schreiben um Daten unterschiedlichster Object Types und Categories aus unterschiedlichen Systemen zu aggregieren und zu i-doit zu synchronisieren. Dabei hat sich gezeigt, dass insb. die Serialisierung und Deserialisierung der Felder gar nicht so einfach ist. Gerade auch wegen den unterschiedlichen Formaten beim Auslesen und Schreiben.
Die Implementierung von Syncs ganzer Object Types inkl. aller zugewiesenen Kategorien mit dynamischen konvertieren in beide Richtungen war nicht wirklich selbsterklärend.
Wenn man aus fremden Systemen mal ein einziges Kategorieattribut aktualisieren möchte muss man die gesamte Kategorie laden, die Attribute konvertieren und dann entsprechend speichern.
Erst sehr spät im Projekt haben wir gemerkt, dass es eine recht gute Lösung in der idoitcli dafür gibt (leider funktioniert diese ja ohne Angabe der @dev-main Branch in der composer.json nicht).
Ich meine den HandleAttribute Service (https://github.com/bheisig/i-doit-cli/blob/master/src/Service/HandleAttribute.php). Dieser sollte in der README.md mit Beispielen prominenter dargestellt werden und vielleicht sogar auch in der README des idoit API clients als Example platziert werden.
Ist eine Überarbeitung der API (Bspw. Format-switch, swagger API) oder zumindest eine Überarbeitung der Doku irgendwann angedacht? Oder sind wir die einzigen, die eine komplette, dynamische Synchronisierung implementiert haben und diese Probleme hatten?
Viele Grüße