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

broesHPB

Neues Mitglied
9. Dezember 2020
7
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

Moderator
Mitarbeiter
24. August 2016
1.258
264
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

Neues Mitglied
9. Dezember 2020
7
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

Moderator
Mitarbeiter
24. August 2016
1.258
264
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

Neues Mitglied
9. Dezember 2020
7
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 Custom Connector > CategoryController > Attributes - Mapping wird nicht gespeichert Technische Fragen zu den JTL-Connectoren 4
Neu JTL Connector - Custom Product Options Dienstleistung, Jobs und Ähnliches 0
Neu OnPageComposer und custom Video Allgemeine Fragen zu JTL-Shop 0
Neu Create custom plugin Plugins für JTL-Shop 3
Neu Error in Formular wenn Amazon Custom Pfad nicht vorhanden ist (Der Index lag außerhalb des Bereichs...) Individuelle Listenansichten in der JTL-Wawi 0
Neu Search Products by custom attribute Betrieb / Pflege von JTL-Shop 0
Neu Gambio Connector Installation Gambio-Connector 2
Neu SW6 / JTL-Connector - Kategorie- und Produktlayouts Shopware-Connector 2
Neu Connector blockiert Module PrestaShop-Connector 1
Neu Connector Update 2.9.0 in verständlichen Worten Shopware-Connector 6
Neu Xdebug mit JTL-Connector-Tester und PHPStorm Technische Fragen zu den JTL-Connectoren 1
Neu JTL Connector mit WooCommerce Fehler: "Es wurde ein Absturz festgestellt" WooCommerce-Connector 0
Neu Connector synchronisiert nur in eine Richtung WooCommerce-Connector 6
Neu Seit Connector Update: Wenn Versand gesetzt, wird kein Lieferschein über den Connector an Shopware 5 übertragen Shopware-Connector 0
Neu Connector ohne Artikelimport nutzen Shopware-Connector 0
Neu Gambio Connector in der Wawi meldet falsche Lizenz Gambio-Connector 2
Neu Connector bricht ab, wie finden wir heraus durch welche Produkte dies verursacht wird Shopify-Connector 7
Neu Woocommers JTL Connector WooCommerce-Connector 4
Neu Übermittlung LMIV in German Market mit Connector und Woocommerce WooCommerce-Connector 0
Gelöst Fehler bei Shopware 6 Connector Übertragung von Artikelbildern durch den Shopabgleich Shopware-Connector 4
Neu Wegen Multishop bei allen den gleichen Connector... Modified eCommerce-Connector 12
Neu JTL Connector nicht für PHP-Version geeignet WooCommerce-Connector 4
Neu Woocommerce Connector Abgleich Bilder Kinderartikel WooCommerce-Connector 0
Neu Abgleich mit dem JTL-Connector WaWi Ver.:1.5.41.0 nicht mehr möglich Allgemeine Fragen zu JTL-Shop 3
Neu Presta Connector 1.6 + Wawi 1.5.44 PrestaShop-Connector 0
Neu Gambio Connector 2.15.1 : Die Shop-Konfiguration verweist nicht auf einen gültigen Shop Gambio-Connector 3
Beantwortet JTL-Connector und Staging Site Installation von JTL-Wawi 0
Neu SW5 und SW6 Connector parallel laufen lassen? Shopware-Connector 2
Neu Connector für Gambio 4.4.0.0 in arbeit? Gambio-Connector 3
Neu *Probleme mit Shopware-Connector nach Update auf 1.5.42.0 und großem Abgleich* Shopware-Connector 1
Neu Connector für Ecwid Shop Allgemeines zu den JTL-Connectoren 0
Neu JTL Connector 3.5.0 mit Modified 2.0.5 und JTL version 1.5.40.0 Onlineshop-Anbindung 0
Neu Wichtige Fragen zu Plentymarkets-Connector für Fulfillment & welcher Anbieter? Allgemeines zu den JTL-Connectoren 1
Neu Gambio Connector - 0 in Kategorieschteibung Gambio-Connector 0
Gelöst Abgleich mit dem JTL-Connector nach Update auf 1.5.42.0 nicht mehr möglich JTL-Wawi - Fehler und Bugs 6
Neu Connector zu SW5 und SW6 - Matchingtabelle? Stabilität? Shopware-Connector 0
Neu Artikel nicht Aktivierbar für Connector Shop Allgemeines zu den JTL-Connectoren 3
Neu Shopware 5 Connector - JTL WaWi Critical Error User helfen Usern - Fragen zu JTL-Wawi 0
Neu Bilderuplaod Shopware 5 - Connector - ohne Funktion Shopware-Connector 3
Neu Shopify-Connector funktioniert seit Update auf 1.5.41.2 nicht mehr Shopify-Connector 4
Neu Shopware Connector kein Abgleich mehr möglich Shopware-Connector 4
Neu 7% / 19% Berechnung funktioniert nicht mehr seit Update Connector Woocommerce WooCommerce-Connector 2
Neu Connector schließt keine Bestellung in Shopware ab Shopware-Connector 6
Neu Abgleich mit dem JTL-Connector nach Update auf 1.5.41.0 nicht mehr möglich News, Events und Umfragen 94
Neu Shopware Connector 5 und 6 Shopware-Connector 4
Neu Woocommerce -> Connector -> Steuernummer WooCommerce-Connector 0
Neu Gambio Connector Dokumentation Gambio-Connector 8
Neu Gambio Connector und Gambio Klarna HUB Gambio-Connector 7
Neu Shopware - Connector - JTL 5 Shop Umstieg auf JTL-Shop 0
Neu Alter Oxid Connector Oxid-Connector 0

Ähnliche Themen