2022-01-23T23:00:00Z - odstraňování hlaviček datových zdrojů
Problém
Evidujeme nesprávné chování funkce, která odstraňuje hlavičky u jednotlivých datových zdrojů. Chybné zpracování hlavičky evidujeme pokud obsahuje nahrazovaný text řádkový zlom. Jednořádkové texty se odstraňují správně.
Řešení
Situaci prověřuje vývojář. Bude napravena. V případě urgentních situací lze použít běžné pravidlo odstranit text a nadbytečný obsah ze souboru tímto pravidlem odstranit.
O dalším vývoji budu zde informovat.
Problém jsme analyzovali. Je to dosti propletené. Sešlo se více věcí naráz:
- Mergado v posledním release nasadilo úpravy formátů. V nich mohlo dojít ke změnám hlaviček feedů. Diskutovalo se httpS. Nyní koukáme, že se v některých hlavičkách mohla změnit velikost písmen v deklaraci znakové sady
UTF-8
→ utf-8
. Obecně vzato by měly fungovat obě varianty. Jenže…
…Blending Bull je case sensitive. Tedy zohledňuje velikost písmen. A tedy <?xml version="1.0" encoding="UTF-8" ?>
není to stejné jako <?xml version="1.0" encoding="utf-8" ?>
. První uvedený text nenahradí druhý uvedený text.
Mergado tým o tomto byl informován. Pravděpodobně generování hlaviček feedů upraví. O tomto bude informovat. Jen chci říct, že se může situace v horizontu hodin (nejpozději zítra) změnit.
- Objevili jsme v parsování hlaviček a patiček pro nahrazování v datových zdrojích chybu, která se mohla projevit u extrémně malých souborů. V takovém případě by se hlavička nenahradila správně. Bylo by to vidět v administraci Blending Bull. Toto bylo v aplikaci již déle a bylo to vidět. Takto extrémně krátké feedy jsou výjimkou a zřejmě se chyba vyskytla jen v našich testovacích feedech.
Situaci dál sleduji. Status změním na
neboť nečekáme na opravu v Blending Bull, ale do zelené status přepnu až bude situace vypadat vyřešená zcela.
Děkuji za pochopení.
1 Like
Finální výsledek incidentu je tento:
Blending Bull fungoval správně. Příčinou je to, že Mergado v posledním release změnilo zápis hlaviček a znakovou sadu UTF-8
nyní zapisuje jako utf-8
. Tento zápis je validní. Nicméně Blending Bull rozlišuje malá a velká písmena. Mergado nyní zápis měnit nebude. Ale změní ho v release 2022-02-02T14:30:00Z. To proto, že nyní zápis není jednotný, liší se pro různé formáty. Zároveň chce, aby úprava prošla testováním a byla oznámena uživatelům předem.
Řešení
Pokud Vám zpracování hlaviček nefunguje, vidím dva možné postupy.
-
Změna textu odstraňovaného z hlavičky
Upravte text na malá písmena. Po přegenerování souboru zkontrolujte, že nyní je v pořádku. Pozor, po termínu release Mergada viz výše, bude třeba soubory zkontrolovat podruhé. A nejspíš text upravit. Doporučuji si nastavit upomínku do kalendáře.
Tento postup doporučuji pokud zpracováváte jeden či menší množství datových zdrojů.
-
Odstranění textu pravidlem
Je možné nadbytečné texty odstranit ze souborů pravidlem. Pokud necháte původní hlavičku a přidáte pravidlo, mělo by zpracování fungovat i po změně na straně Mergada. Následně bude možno pravidlo opět odstranit. I v tomto případě doporučuji (někdy) soubory zkontrolovat.
Při psaní pravidel si dejte pozor na řádkové zlomy a bílé znaky. Mohou zpracování dat komplikovat. Pokud zpracováváte soubor zpracovaný do tabulky, mělo by riziko být menší. Pokud by se vám jedno mazací pravidlo psalo špatně, může být cestou rozdělení do dvou (či více) pravidel.
Tento postup doporučuji, pokud zpracováváte hodně datových zdrojů.
Při mazání by se vám text v náhledu měl podbarvit. Pokud je obarvena jen část znaků, nemusí být smazán správně.
Tímto by měla být “akce” ukončena.
Za komplikace se omlouvám.
Problém s pravidlem Odstranit XML element i s obsahem
Popis problému
Pravidlo Odstranit XML element i s obsahem obsahuje nedokonalost. Ta se projeví, pokud chcete smazat element, jehož název je podmnožinou jiného elementu, přičemž stejnými písmeny začínají.
Příklady:
PRODUCT a PRODUCTNAME
PRODUCT a PRODUCTNO
atp.
V takových situací se obsah z datového souboru neobsahuje správně.
Řešení
Použijte pravidlo typu Smazat text a text pro smazání zapište regulárním výrazem. Např. <PRODUCT>.*<\/PRODUCT>
. Před lomítkem uzavírajícím element nezapomeňte zapsat zpětné lomítko. Tento zápis funguje správně.
O nedokonalosti víme. Řešení je viz výše. Opravu spojíme s přípravou nových funkcí na kterých pracujeme.
Děkuji za poschopení.
Dnešní release problém s elementy vyřešil. Aplikace by měla fungovat bez komplikací.
Detekujeme nárazově pomalejší práci v uživatelském rozhraní. Příčinou je nárazově pomalá odpověď autorizačního API Mergada. To potvrzuje, že má daný uživatel k danému e-shopu přístup. Tým Mergado o tom ví a věc řeší. Příčina je mimo Blending Bull.