Neues Thema starten

Zeichenbeschränkung für MAP-Spaltenschema

Hallo zusammen,


die VariationProperties werden im Output des PlentyGetVariations Step als Key-Value Werte zurückgegeben. Die Limitierung von max. 1000 Zeichen pro Value stellt uns dabei vor Probleme, da wir Texteigenschaften mit weit über 1000 Zeichen verwenden.


Behelfsmäßig denke ich nun darüber nach, die entsprechende(n) Eigenschaft(en) als eigene Spalten mit Spaltentyp SINGLE zu führen um die Limitierung zu umgehen und richtig mit den eigentlichen Key-Value Spalten arbeiten zu können. Folgende Fragen stellen sich mir:


1. Wie benenne ich im Import die jeweiligen Keys um speziell nur diese in separate Spalten zu schreiben 

 

2. Wie trage ich dafür Sorge, dass diese Keys und deren jeweiligen Werte NICHT in meinen Key-Value Spalten vom Typ MAP landen?

 

Oder hättet Ihr noch einen anderen Workaround als Idee? Ein weiterer Datastore?  

 

Vorab vielen Dank für hilfreiches Feedback!  


Gruß,

Marc


Die Lösung per JSON erscheint mir super, schön dass die so schnell kommen soll.


Bis dahin Ergänzung zum Workaround oben: der matcht nicht nur auf "685=", sondern auch auf "1685=" u.ä. (bei mir konkret: auf 13 statt 3).


Ich habe selbst nur begrenzt Ahnung von RegEx, aber Stack Overflow sei dank trotzdem eine Lösung ;-)


(?:^|;) matcht für "entweder Start des Strings, oder Semikolon", so dass mit

<#assign res = result['Beispiel']?matches("(?:^|;)685=(.+?)(?=;\\d+=|$)")><#list res as m>${m?groups[1]}</#list>

tatsächlich nur Property 685 ausgegeben wird, und keine Verkettung von allen IDs die auf 685 enden.


Gruß & schönes WE,

Daniel


1 Person gefällt dies

Hallo zusammen, 


seit heute sind die beiden neuen Spalten für die Varianten-Eigenschaften im JSON Format verfügbar (VariationPropertyIDsJSON und VariationPropertiesJSON). Wie schon weiter oben beschrieben könnt ihr auf einzelne Werte über


${VariationPropertyIDsJSON.at("ID Eigenschaft")} 


bzw. 


${ VariationPropertiesJSON.at("Backendname Eigenschaft")}


zugreifen.


Wir haben uns dazu entschieden vorerst nur für die Varianten-Eigenschaften neue Spalten im JSON Format zur Verfügung zu stellen. Solltet ihr Probleme mit anderen MAP Spalten haben, könnt ihr euch gerne bei uns melden. 


Viele Grüße

Torsten 

Guten Morgen,


ich muss leider nochmal auf das Thema zurück kommen. Wir haben gestern die Quellen der Datastore-Spalten entsprechend angepasst, um die neuen Felder zu nutzen, siehe Bild.


image


In der Schema-Validierung erhalte ich nun aber auch Fehler aufgrund eines zu großen Map-Keys bei diversen Varianten:


image


Möchte ich auf diese Key-Value-Paare per 


 

${VariationPropertyIDs.at("517")!}

 zugreifen, wird ebenfalls wieder die Warning geschossen, das der Map-Key auf 255 characters limitiert ist, siehe Eventlog zu RunID 


 

0b574e42-f39c-11ea-a408-901b0ed5b6cc

 

Nachtrag: Die genannte RunID ist falsch weil noch vor dem Update der Felder im Datastore gelaufen. Diese hier ist von heute morgen NACH Update des Datastores:


 

498c5eef-f3f3-11ea-95d4-901b0ea49fee

 

Die Einstellung im Datastore haben wir vergessen zu erwähnen:


Schau mal, dass du die Spalte im Schema auf Art des Inhalts=JSON umstellst. 


Wir reichen das auch noch im Handbuch nach. 


1 Person gefällt dies

Danke euch, das Schema ist wieder sauber, der Flow problemlos durchgelaufen.


Nächster Fall (ich komm mir langsam doof vor, sorry):


image



Abfrage per Filter ob Key vorkommt, falls ja Ausgabe des identifiers und schreiben einer .csv führt zu folgendem Flow-Error:


 

Fehler beim Anwenden des Filters auf das Spreadsheet. (Root Causes: JsonMappingException: Can not deserialize instance of com.synesty.csvconverter.internal.spreadsheet.SynestyMap out of VALUE_NUMBER_INT token at [Source: java.io.StringReader@60fbbb8; line: 1, column: 1] _TemplateModelException: Java method "com.synesty.csvconverter.internal.spreadsheet.AbstractField.containsKey(String)" threw an exception when invoked on com.synesty.csvconverter.internal.spreadsheet.ColImpl object "547=https://www.werkstatt-king.de/marken/dewalt"; see cause exception in the Java stack trace. ---- FTL stack trace ("~" means nesting-related): - Failed at: #if (VariationPropertyIDs.containsKey... [in template "RowFilterExpression VariationPropertyIDs.containsKey('515')" at line 1, column 1] ----)

 

Sorry für den Ärger kurz vorm Wochenende. Kann es sein das in der Spalte ( VariationPropertyIDs ) im Datastore noch Werte im alten MAP (nicht JSON ) Format vorhanden sind ? Evtl. von alten / gelöschten Varianten, die nicht nochmal abgerufen wurden.


Der Gedanke kam mir eben auch, da ich die neue Quelle mit der bestehenden Spalte verknüpft hatte. Und ja, das war der Grund! 


Danke euch, schönes Wochenende!


Gruß,

MArc

Hallo zusammen,


ich komme auf das Angebot von Torsten zurück:

Wir haben uns dazu entschieden vorerst nur für die Varianten-Eigenschaften neue Spalten im JSON Format zur Verfügung zu stellen. Solltet ihr Probleme mit anderen MAP Spalten haben, könnt ihr euch gerne bei uns melden. 

 

Für die alten Artikelmerkmale "ItemProperties" und "ItemPropertiesWithGroups" aus Plenty-Step "PlentyGetVariations" bräuchten wir ebenfalls neue Outputs vom Typ JSON. Wäre das kurzfristig machbar? 


Gruß,

Marc


Hallo Marc, 


das können wir (wie versprochen) kurzfristig einbauen. Ich denke dass wir es bis spätestens morgen schaffen.


VG Torsten


2 Personen gefällt dies

Hallo Marc, 


die beiden Spalten  ItemPropertiesJSON &  ItemPropertiesWithGroupsJSON  sind jetzt vorhanden. 


Viele Grüße

Torsten


1 Person gefällt dies
Anmelden um einen Kommentar zu veröffentlichen