Neu Custom Connector > CategoryController > Attributes - Pull berücksichtigt neue Kategorie-Attribute im Endpoint bestehender Host-Kategorien nicht

broesHPB

Mitglied
9. Dezember 2020
13
1
Ahoi!

Aktuell implementiere ich die Pull-Funktion für Kategorien.

Im Beispiel aus der Dokumentation für den CategoryController geht leider nicht hervor, wie beim Pull neuer Kategorie-Attribute aus dem Endpoint einer in der WaWi bereits bestehenden Kategorie berücksichtigt werden.

In der Beispiel-Pull-Methode werden ja grundsätzlich nur Kategorien berücksichtigt, die in der Endpoint-Datenbank in der Mapping-Tabelle keine Host-ID und/oder keinen Entitäten-Typ hinterlegt haben (bzw. kein Eintrag dafür im Mapping vorhanden ist). Das funktioniert auch ganz gut. Über den Connector Tester werden die Daten via Pull entgegen genommen: Host-ID ist dann 0 (so die Vorgabe, es muss ein Integer sein). Bei einem Push dieser Daten, nachdem man im Connector Tester per Hand eine Host-ID höher 0 gesetzt hat, wird dann auch das Mapping erzeugt.

Soweit so gut: Wenn ich das richtig gesehen habe, werden da auch Kategorie-Attribute beim Pull einer neuen Kategorie berücksichtigt und wenn beim (Re-)Push die jeweiligen Host-IDs im Connector Tester von 0 auf andere Werte umgestellt werden, geht auch alles seinen korrekten Gang (Mapping wird erzeugt).

Allerdings scheint der Fall, dass neue Kategorie-Attribute im Endpoint einer bereits in der WaWi bestehenden Kategorie vorkommen können, nicht berücksichtigt zu sein. Der CategoryController aus der Doku behandelt ja generell keine Kategorie-Attribute bisher. Er stellt aber die Grundlage für meine Implementierung dar, die in der Doku bei einem Pull besagt "Selektiere nur Kategorien, die noch kein Mapping haben". Verstehe ich das richtig, dass ich hier erweitern müsste "Selektiere nur Kategorien, die noch kein Mapping haben oder Kategorie-Attribute hat, die selbst noch kein Mapping haben" und gebe dann für den Pull - die zwar in der WaWi bereits existierende - Kategorie plus der neuen Kategorie-Attribute zurück (ohne die bereits evtl. bestehenden Kategorie-Attribute dieser Kategorie)?

Freundliche Grüße
Hape von Bröös
 

Immanuel

Gesperrter Benutzer
24. August 2016
1.542
324
Hallo Hape,

ich bin mir nicht sicher ob ich richtig verstehe was du machen möchtest. Es wäre wahrscheinlich besser, wenn unabhängig von der Technik erklärst was du erreichen möchtest (Äußeres Modell).
 

broesHPB

Mitglied
9. Dezember 2020
13
1
Hallo @Immanuel ,

nehmen wir folgendes an:
  • Im Host ( WaWi) ist eine Kategorie "Brot".

  • Im Host hat diese Kategorie noch keine Eigenschaften.

  • Im Endpoint (Custom Onlineshop) erstelle ich nun eine Eigenschaft für diese Kategorie.

  • Im Connector für den Endpoint ist für Kategorie-Eigenschaften in der Feature-Matrix "PULL" aktiviert.
Wie bemerkt im Connector nun der Controller für Kategorien bei einem PULL, dass da eine neue Kategorie-Eigenschaft im Endpoint existiert?

Im Beispiel in der Doku werden Eigenschaften ja nun nicht erklärt. Und das Beispiel für die Kategorien basiert ja nun nur einmal darauf, dass bei einem Pull nur Kategorien berücksichtigt werden, die kein Mapping haben.

Nach dem Beispiel in der Doku werden also Kategorien mit Mapping während des PULL nicht berücksichtigt. Somit können neu hinzugefügte oder gar veränderte Eigenschaften via Endpoint bei einem Pull auch nicht berücksichtigt werden. Und somit werden Änderungen an einer Kategorie via Endpoint ebenfalls nicht berücksichtigt.

-------------------------

Wenn ich im Endpoint eine Kategorie ändere, z. B. eine Übersetzung oder deren Status, dann berücksichtigt das Beispiel aus der Doku diese Änderung nicht - da dort nur Kategorien für einen Pull berücksichtigt werden, die noch kein Mapping haben? Ist es überhaupt vorgesehen, dass ich Kategorien via Endpoint ändern darf? Oder dürfen via Endpoint nur neue angelegt werden?

Mir ist gerade nicht ganz klar, woran dann fest gemacht würde, ob bei einem Delta zwischen Host und Endpoint, z. B. nach einer Änderung im Endpoint, welcher Datenstand dann der Führende ist. Kann (soll) dass nach Bedarf festgelegt werden? Also dass man definiert, die WaWi führt (was dann Änderungen im Endpoint obsolete machen würde) oder der Endpoint führt (was dann Änderungen in der WaWi obsolet machen würde). Im Grunde müsste die WaWi doch immer das führende System für Stammdaten wie Kategorien und Produkte sein (für Bestellungen wäre es eher der Endpoint)?

Was genau macht eigtl. die Action Statistic? Die selektiert im Beispiel aus der Doku auch nur Kategorien, die noch nicht gemapped sind und gibt deren Anzahl zurück. Wenn Statistic also ermittelt ob es da was neues gäbe, dann würden hier die Eigenschaften ebenfalls ignoriert. Oder bin ich da gerade total auf dem falschen Gleis?

Auch ist mir nicht klar, wenn ich im Endpoint eine Kategorie löschen würde (in der Feature-Matrix ist PULL aktiv), löscht dann die WaWi diese Kategorie auch oder geht dann der Connector auf Grund des fehlenden Mappings beim nächsten PUSH davon aus, dass die Kategorie im Endpoint wieder anzulegen wäre?

-------------------------

Sorry, wenn ich so viele Fragen habe, es geht für mich aus der Dokumentation einfach nicht hervor und es bremst mich jetzt schon eine ganze Weile aus, weil ich immer öfter anfangen muss den Connector-Quellcode zu analysieren, was der eigentlich tut, was nicht in der Doku steht (aber vielleicht stehen sollte).

Im Moment gewinne ich immer mehr den Eindruck, dass die PULL-Funktion zwar rudimentäre Dinge abdeckt, aber eigentlich nicht dazu geeignet scheint Änderungen an z. B. Kategorien vom Endpoint in den Host zu übertragen. Das mag bei Bestellungen anders aussehen, da ist das führende System eben der Endpoint, aber bei Kategorien und Produkten ist für mich die WaWi das führende System.

:confused:

Freundliche Grüße
Hape von Bröös
 

Immanuel

Gesperrter Benutzer
24. August 2016
1.542
324
Wie bemerkt im Connector nun der Controller für Kategorien bei einem PULL, dass da eine neue Kategorie-Eigenschaft im Endpoint existiert?

Im Beispiel in der Doku werden Eigenschaften ja nun nicht erklärt. Und das Beispiel für die Kategorien basiert ja nun nur einmal darauf, dass bei einem Pull nur Kategorien berücksichtigt werden, die kein Mapping haben.

Nach dem Beispiel in der Doku werden also Kategorien mit Mapping während des PULL nicht berücksichtigt. Somit können neu hinzugefügte oder gar veränderte Eigenschaften via Endpoint bei einem Pull auch nicht berücksichtigt werden. Und somit werden Änderungen an einer Kategorie via Endpoint ebenfalls nicht berücksichtigt.
In der Regel prüft man ob ein Linking für eine bestimmte Kategorie schon vorhanden ist oder nicht. Will man, dass eine Kategorie erneut importiert wird, dann könnte man bspw. das vorhandene Linking löschen. Hier ist die Kreativität des Entwicklers gefragt.

Wenn ich im Endpoint eine Kategorie ändere, z. B. eine Übersetzung oder deren Status, dann berücksichtigt das Beispiel aus der Doku diese Änderung nicht - da dort nur Kategorien für einen Pull berücksichtigt werden, die noch kein Mapping haben? Ist es überhaupt vorgesehen, dass ich Kategorien via Endpoint ändern darf? Oder dürfen via Endpoint nur neue angelegt werden?

Mir ist gerade nicht ganz klar, woran dann fest gemacht würde, ob bei einem Delta zwischen Host und Endpoint, z. B. nach einer Änderung im Endpoint, welcher Datenstand dann der Führende ist. Kann (soll) dass nach Bedarf festgelegt werden? Also dass man definiert, die WaWi führt (was dann Änderungen im Endpoint obsolete machen würde) oder der Endpoint führt (was dann Änderungen in der WaWi obsolet machen würde). Im Grunde müsste die WaWi doch immer das führende System für Stammdaten wie Kategorien und Produkte sein (für Bestellungen wäre es eher der Endpoint)?
Vorgesehen ist, dass ein initialer Import von Kategorien durchgeführt wird und danach Änderungen nur noch über JTL-Wawi erfolgen. Man kann dennoch Kategorien erneut importieren, meine ich. Aber auch hier ist die Kreativität des Entwicklers gefragt.

Was genau macht eigtl. die Action Statistic? Die selektiert im Beispiel aus der Doku auch nur Kategorien, die noch nicht gemapped sind und gibt deren Anzahl zurück. Wenn Statistic also ermittelt ob es da was neues gäbe, dann würden hier die Eigenschaften ebenfalls ignoriert. Oder bin ich da gerade total auf dem falschen Gleis
Die Statistik ist dazu da um anzuzeigen wieviel Elemente eines bestimmten Typs (zb. Artikel oder Bestellungen) noch zu importieren sind. Wenn man drauf verzichten möchte, dann kann das Feature Flag "disable_statistics" auf true gesetzt werden.

Auch ist mir nicht klar, wenn ich im Endpoint eine Kategorie löschen würde (in der Feature-Matrix ist PULL aktiv), löscht dann die WaWi diese Kategorie auch oder geht dann der Connector auf Grund des fehlenden Mappings beim nächsten PUSH davon aus, dass die Kategorie im Endpoint wieder anzulegen wäre?
Es ist gilt der Grundsatz "JTL-Wawi ist federführend". Insofern sollte eine Kategorie im Endpoint nur über JTL-Wawi gelöscht (oder für den Shop deaktiviert) werden. JTL-Wawi kennt weder die Linkings im Endpoint noch weiß sie, ob eine Kategorie im Endpoint existiert oder nicht.
 
  • Gefällt mir
Reaktionen: broesHPB

broesHPB

Mitglied
9. Dezember 2020
13
1
Hallo @Immanuel ,

danke für das Feedback.

Verstanden habe ich das, was ich bereits zuvor angenommen hatte. WaWi federführend - daher Push/Delete only für die meisten Controller, lediglich Bestellungen und (ggf.) Artikel Pull/Statistics.

Statistics ist demnach nur für Controller geeignet, die Pull supporten? Für Push wird Statistics nicht verwendet oder auch?

Es wäre sicherlich für andere hilfreich, dies auch in der Doku klar zu kommunizieren, Gerade das Beispiel mit dem CategoryController aus der Doku und dem darin enthaltenen Pull hat mich dazu verleitet zu glauben, dass man alles auch Pull`en könnte (da nirgends explizit steht, dass dem nicht so ist).

Jedenfalls hat mir Dein Feedback sehr weitergeholfen, den Connector besser zu verstehen. :thumbsup:

Freundliche Grüße
Hape von Bröös
 
Zuletzt bearbeitet:
Ähnliche Themen
Titel Forum Antworten Datum
Neu Amazon Custom ZIP URL Amazon-Anbindung - Ideen, Lob und Kritik 0
Beantwortet Custom Workflows anlegen JTL-Workflows - Fehler und Bugs 3
Neu Custom visual product customizer User helfen Usern - Fragen zu JTL-Wawi 0
Neu Artikeldetails - Hersteller wird nicht übertragen WooCommerce JTL Connector WooCommerce-Connector 0
Wichtig Changelog PrestaShop Connector PrestaShop-Connector 0
JTL 6 + Shopware 5 Connector -> Shop hat nicht alle Artikel gesendet Shopware-Connector 1
Neu JTL Connector Product-Import mit Images, Type und ShippingClass Allgemeines zu den JTL-Connectoren 0
Wichtig Changelog Shopify Connector Shopify-Connector 0
Neu Wawi erkennt den neuen Connector anscheinend nicht. PrestaShop-Connector 2
Wichtig Changelog Woocommerce Connector WooCommerce-Connector 0
Wichtig Changelog Connector Shopware 5 und 6 Shopware-Connector 0
Neu Shopware 6 Connector Fehler ? Shopware-Connector 6
Gelöst Stücklistenartikel verschwinden nach Connector Abgleich aus der Wawi JTL-Wawi - Fehler und Bugs 2
Neu Core-Connector 5 Doku, Mac-Entwicklung Allgemeines zu den JTL-Connectoren 0
Neu Connector nicht mehr konfigurierbar Shopware-Connector 5
Neu Shopware 5.7 Connector zurücksetzen bedeutet was genau Shopware-Connector 2
Neu Kaufbares digitales Produkt in Shopify anbieten - Hat das Auswirkungen auf den Connector? Shopify-Connector 0
Neu PrestaShop Connector erkennt alle Positionen im Auftrag als Freipositionen PrestaShop-Connector 1
Neu Wird meine Gambio Anbindung mir dem Connector zu JTL 2023 unbrauchbar / abgeschaltet. Gambio-Connector 6
Neu JTL Connector in Wawi einrichten - nicht möglich. JTL-Wawi 1.6 1
Neu Ist es möglich den JTL Connector für WooCommerce ohne sqlite3 zu betreiben? WooCommerce-Connector 1
Neu Nach Update funktioniert Shopware Connector nicht mehr. Auch Fehlermeldung nach Bestellung für Kunden Shopware-Connector 5
Neu SW6 - Connector Roadmap Shopware-Connector 2
Neu [Gelöst] Schopanbindung mit JTL-Connector User helfen Usern - Fragen zu JTL-Wawi 4
Neu PayJoe Connector Arbeitsabläufe in JTL-Wawi 0
Neu SW5 Connector Plugin Freigabe für aktuelle SW-Version Shopware-Connector 4
Neu Connector-Anbindung Shopware 6 kann nicht aktiviert werden - Code 0 | Status 405 Shopware-Connector 6
Neu JTL-Connector Sendet Keine Produkte an Shopify ! User helfen Usern - Fragen zu JTL-Wawi 0
Neu JTL Connector zur Modified auf Github Modified eCommerce-Connector 0
Neu SW6 Connector Fehler bei Konfiguration Shopware-Connector 7
Neu Shopware 6 Connector hängt: Merkmale senden Shopware-Connector 1
Neu Shopware 6 Connector läuft nicht mehr Bad Gateway Shopware-Connector 6
Neu Connector überträgt Shopify Abo als eine Bestellung summiert Shopify-Connector 1
Neu Domain wechseln - Shopware 5 - jtl connector Shopware-Connector 3
Neu Puffer beim Artikel - wird vom Shopify-Connector berücksichtigt? Shopify-Connector 0
Neu Nach Update auf JTL Woocommerce Connector 1.37.1 Backend extrem langsam für Order-Quickview WooCommerce-Connector 0
Neu Eigene Plugins im Shopware 5 Connector Shopware-Connector 2
Neu Abgleich Fehler (Variationen) mit Gambio 4.5.3.1 + JTL-Wawi 1.6.39.0 + JTL-Connector 2.22.0 Gambio-Connector 3
Neu Gambio Connector mit JTL hat Ebay Artikel zerschossen Gambio-Connector 0
Neu JTL-Connector und SQLite3 WooCommerce-Connector 0

Ähnliche Themen