🌟 Novinky a release v Mergadu

Nová verze Mergada

Inu, někdo se v létě válí u móře :desert_island: a někdo třeba zase lozí po horách :mountain_snow:
A my jim to přejeme! A u toho pilně pracujeme.

Datum a čas nasazení

čtvrtek 22. 8. 2019 v 16:00

Novinky a opravy

  • :sunflower: Nový typ pravidla - Import datového souboru:
    • Díky tomuto pravidlu můžete pomocí CSV souboru importovat úpravy k již existujícím položkám.
    • Formát CSV souboru musí být:
      • Kódování utf-8.
      • Oddělovač polí musí být čárka, tedy znak ,. Hodnoty obsahující doslovnou čárku musí být obaleny v uvozovkách ".
      • Soubor může obsahovat neomezený počet řádků či sloupců, ale maximální velikost nahraného souboru je 25 MB.
    • Obsah CSV souboru pak má následující strukturu:
      • První sloupec představuje tzv. párovací sloupec:
        • První řádek prvního sloupce (ekvivalent buňky A1 v programu Excel či Libre/OpenOffice Calc) definuje párovací element/pole (toto může být buď libovolný existující element v aktuálním exportu, nebo speciální pole :xid, představující interní ID položky v Mergadu - viz dále).
        • Další řádky definují hodnoty, podle kterých se bude párovat (záleží také na vybraném párovacím režimu - viz dále).
      • Druhý sloupec a všechny ostatní sloupce definují názvy existujících elementů, kterým se bude měnit obsah podle toho, co obsahují další řádky v CSV souboru.
        • Poznámka 1: Pokud některý sloupec obsahuje neexistující element, takový sloupec se ignoruje; jinými slovy: neexistující elementy se automaticky nevytvoří.
        • Poznámka 2: Pokud některý řádek CSV souboru pro element definuje prázdnou hodnotu, takové pole se ignoruje a hodnota elementu zůstane nezměněná; jinými slovy: prázdná hodnota CSV pole Mergadu říká, že hodnotu daného elementu u daného produktu měnit nechcete.
    • Existují 3 režimy párování:
      • :one: Párování podle přesné shody: Na produkt se aplikují změny z toho řádku CSV souboru, jehož první sloupec přesně odpovídá hodnotě párovacího elementu (tj. ten element, který datový soubor specifikuje v buňce A1) u daného produktu.
        • Tento režim se dá nastavit v nastavení pravidla v UI.
        • Dá se také nastavit, zda při párování záleží či nezáleží na velikosti písmen.
        • :warning: Pokud soubor definuje více řádků se stejnou párovací hodnotou, v režimu přesné shody platí vždy nejspodnější řádek (řádky dále v souboru přepíšou řádky předchozí).
        • Příklad:
          • Obsah datového souboru:
            ITEM_ID, PRODUCTNAME, HEUREKA_CPC
            12, "Kořalka", "130,4"
            34, Terénní kočárek s pásy
            12, "Kočárek s koly, možná i s dárkem", "5,60"
            56,,"12,3"
            78, "","7,8"
            788, "Nějaký balast"
            
          • Co se stane:
            • Produkt s ITEM_ID = 12:
              • Bude mít nově hodnoty elementů:
                1. PRODUCTNAME :arrow_right: Kočárek s koly, možná i s dárkem.
                2. HEUREKA_CPC :arrow_right: 5,60.
              • Proč? Protože třetí řádek s přesnou párovací hodnotou 12 přebije první řádek s párovací hodnotou 12.
            • Produkt s ITEM_ID = 34:
              • Bude mít nově hodnoty elementů:
                1. PRODUCTNAME :arrow_right: Terénní kočárek s pásy.
                2. HEUREKA_CPC :heavy_minus_sign: hodnotu nezmění.
            • Produkt s ITEM_ID = 56 třeba v exportu vůbec není, takže se nic nestane.
            • Produkt s ITEM_ID = 78:
              • Bude mít nově hodnoty elementů:
                1. PRODUCTNAME :heavy_minus_sign: hodnotu nezmění.
                2. HEUREKA_CPC :arrow_right: 7,8.
              • A proč ne "Nějaký balast"? Protože řádek s párovací hodnotou ITEM_ID = 788 tomuto produktu neodpovídá přesně.
      • :two: Párování podle částečné shody: Produkt je na řádek v CSV napárovaný i v případě, že hodnota párovacího elementu (specifikovanho v buňce A1 CSV souboru) daného produktu jen částečně obsahuje hodnotu z párovacího (prvního) sloupce datového souboru.
        • Tento režim se dá nastavit v nastavení pravidla v UI.
        • Dá se také nastavit, zda při párování záleží či nezáleží na velikosti písmen.
        • :warning: Pokud soubor definuje více řádků se stejnou párovací hodnotou, v režimu částečné shody platí vždy nejvrchnější řádek (pokud se produkt napáruje na nějaký řádek z datového souboru, další řádky se pro tento produkt přeskočí).
        • Příklad:
          • Obsah datového souboru:
            DESCRIPTION, CATEGORYTEXT
            pro panenky, "Dětské zboží | Hračky | Hračky pro holky | Doplňky pro panenky"
            kočárek, "Dětské zboží | Kočárky"
            granáty, "Sport | Střelecké sporty | Airsoft | Příslušenství na Airsoft | Airsoftové granáty"
            granát, "Oblečení a móda | Módní doplňky | Šperky | Soupravy šperků a bižuterie"
            
          • Co se stane:
            • Produkty, jejichž DESCRIPTION obsahuje hodnotu pro panenky:
              • Nová hodnota CATEGORYTEXT bude Dětské zboží | Hračky | Hračky pro holky | Doplňky pro panenky.
            • Produkty, jejichž DESCRIPTION obsahuje hodnotu kočárek:
              • Nová hodnota CATEGORYTEXT bude Dětské zboží | Kočárky.
            • Produkty, jejichž DESCRIPTION obsahuje hodnotu granáty:
              • Nová hodnota CATEGORYTEXT bude Sport | Střelecké sporty | Airsoft | Příslušenství na Airsoft | Airsoftové granáty.
            • Produkty, jejichž DESCRIPTION obsahuje hodnotu granát (a nikoliv granáty):
              • Nová hodnota CATEGORYTEXT: Oblečení a móda | Módní doplňky | Šperky | Soupravy šperků a bižuterie.
      • :three: :sunrise_over_mountains: Speciální režim párování podle interního Mergado ID produktu:
        • Tento režim se nedá nastavit v nastavení pravidla, ale je automaticky aktivován v případě, že datový soubor definuje párovací pole s hodnotou :xid. Uživatelské nastavení párovacího režimu je v takovém případě ignorováno a páruje se podle interního ID/:xid položky v Mergadu.
        • :face_with_monocle: K čemu tohle je?
          • Když si na stránce Produkty vyexportujete položky do CSV souboru, dostanete CSV soubor přesně v tomto formátu - první sloupec CSV zde u každého produktu definuje pole :xid.
          • Pokud si pak tento soubor otevřete v programu Excel či Libre/OpenOffice Calc), můžete snadno nadefinovat velké množství manuálních změn u konkrétních produktů.
          • Pokud pak takto upravený soubor nahrajete do pravidla Import datového souboru, vaše změny budou reprezentovány konkrétním hromadným pravidlem, které se dá pozastavit, přesouvat, či rovnou smazat.
        • Příklad:
          • Obsah datového souboru:
            :xid, "PARAM|Materiál|1", "PARAM|Materiál|2"
            123456, "Bavlna 50%", "Ovčí vlna 50%"
            123457, "Polyester 30%", "Ocel 70%"
            123458, "Sklo 45%", "Merino vlna 55%"
            123459, "Železo 23%", "Bavlna 77%"
            ...
            
          • Efekt by měl být zřejmý z předchozích příkladů…
  • :star2: Funkci sledování produktu při průchodu pravidly jsme konečně integrovali do nového designu stránky Produkty:
    • image
    • Průchod pravidly u každého produktu dostal vlastní záložku, ve které se dá sledování produktu aktivovat. Na tomto místě se také - až se nasbírají data v rámci aplikování pravidel - dají změny zobrazit.
    • Nově jsou graficky zvýrazněny i rozdíly v hodnotách, které jsou jednotlivými pravidly změněny.
  • :star2: Vylepšili jsme pravidlo pro nastavení UTM parametrů:
    • Nově se u tohoto typu pravidla dá explicitně nastavit cílový element, do kterého se UTM parametry mají propsat.
    • Již existující pravidla tohoto typu si ponechají již nastavený element (ten jim Mergado dříve nastavovalo na pozadí.)
  • :star2: Vylepšili jsme pravidlo Hromadně přepsat hodnoty:
    • Pokud je u pravidla zapnutý režim regulárních výrazů, tak jdou nyní v pravém sloupečku používat číslované zpětné reference - ty odkazují na text, který regulární výraz odchytne ve sloupečku nalevo.
    • Například:
      • V levém sloupci se hledá v elementu PRODUCTNAME podle regulárního výrazu:
        ^(.*)(Velikost )(.*)( %MANUFACTURER%).*$
        
      • V pravém sloupci lze nyní nově na stejném řádku - např. pro naplnění elementu PARAM|Velikost - použít zpětnou referenci v této formě:
        \3
        
      • Což ve výsledku element PARAM|Velikost vyplní obsahem třetí skupiny (tj. obsah třetích závorek zleva) z toho, co regulární výraz najde.
      • Konkrétněji:
        • Pokud má PRODUCTNAME hodnotu Dámská bunda Le Mesh bílá, Velikost S / M Le Moda (s tím, že MANUFACTURER má u produktu hodnotu Le Moda), tak se zde element PARAM|Velikost naplní hodnotou S / M.
  • :star2: Drobné vylepšení UI: Na stránce Produkty je pod názvem uloženého výběru nová ikonka s proklikem na vytvoření nového pravidla - s tím, že právě zobrazený výběr se do formuláře nového pravidla předvyplní.
    • image
  • :hammer_and_wrench: Opravili jsme chybu ve vyhledávání na stránce Elementy, které už umí správně vyhledávat řetězce obsahující znak % procenta.
  • V Mergado Store jsme vylepšili řazení subjektů, u kterých se dá appka spravovat, aby odpovídalo řazení e-shopů a exportů na jiných místech v Mergadu.
  • :hammer_and_wrench: Při převodu ceny z formátu Google Nákupy nově správně zohledňujeme hodnotu elementu G:SALE_PRICE, pokud je k dispozici (dříve jsme tento element ignorovali a ve všech případech jsme preferovali cenu definovanou v G:PRICE).
  • :hammer_and_wrench: Na stránce Přehled exportu jsme opravili situace, kdy jsme zobrazovali červený stav exportu i v případech, kdy s ním bylo vše v pořádku.
  • :hammer_and_wrench: Opravili jsme chybu, kvůli které u některých formátu padal export výstupního feedu, pokud název nějakého parametru bylo pouhopouhé číslo, tedy např. <PARAM><PARAM_NAME>1</PARAM_NAME>...</PARAM>, které se převádělo do formy PARAM|1, které jsme následně špatně považovali za vícenásobný element.
  • :bacon: Mergado umí nové formáty:
  • :sparkling_heart: Pokračujeme v práci na optimalizacích :gear::
    • Mergado by mělo mít více responzivnější UI v situacích, kdy internetový prohlížeč dělá na pozadí paralelně více dotazů na náš server.
    • Podívali jsme se na zoubek podivně pomalému pravidlu Hromadně přepsat podle výběru a zrychlili jsme ho (a nasadili už minulý týden - bystří si již mohli všimnout :wink:).
      • Podle dosavadních měření se toto pravidlo zrychlilo více než 10x. Na reálných datech jsme viděli zrychlení zpracování pravidla z 1+ hodiny na 5 minut :beers:.
  • A další drobné opravy a vylepšení…

Novinky v platformě

  • Přidali jsme logování webhooků, které Mergado vaší appce posílá.
    • Webhooky se dají prohlížet na stránce Webhooks v administraci vaší appky v Developers.
    • U poslaných webhooků se dá prohlédnout hlavička, obsah, ale i odpověď vaší appky.
    • Webhooky je možné si nechat zopakovat; tzn. znovu zaslat na hook URL vaší appky.
    • Webhooky aplikování pravidel se logují pouze v případě, že hook skončil s chybou - i takový hook se pak přes UI dá poslat znovu - např. kvůli debuggingu.

Může se stát, že v uvedený čas zaznamenáte drobné výpadky Mergada. Děkujeme za pochopení a trpělivost při nasazení nové verze.

V případě dotazů nás neváhejte kontaktovat.

6 Likes