Nová verze aplikace
BLENDING BULL - 2021-01-28T23:00:00Z - “najít a nahradit”
V pátek jsme nasadili novou verzi aplikace Blending Bull. Ta přinesla přepracovanou strukturu aplikace, pravidla najít a nahradit a další vylepšení.
Co je nového
Struktura aplikace
Strukturu jsme přepracovali. Pro názornost ji popíši celou.
Výstupní feedy
Nastavení jednotlivých výstupních feedů. Těch můžeš mít v aplikaci více.- Vstupní feedy
Nastavení jak zpracovávat vstupní feedy ze kterých je daný výstupní feed spojen. Zde se nastavují také případná hlavička a patička výstupního feedu. - Pravidla
Nová funkcionalita. Umožňuje najít ve výstupním feedu text a ten nahradit ničím nebo jiným textem. Podporuje regulární výrazy a proměnné viz níže. - Nastavení
Nastavení názvu a veřejné URL výstupního feedu.
- Vstupní feedy
- Vstupní feedy
Vstupní datové zdroje. Zde nastavíš vstupní URL. V rámci výstupních feedů (část Výstupní feedy → Vstupní feedy) pak nastavuješ konkrétní zpracování dat pro konkrétní výstupní feed. Zde jde de facto pouze o to odkud data stahovat. - Historie
Historie zpracování všech feedů.
Přegenerování výstupního feedu
Nově můžete kliknutím na ikonu vyvolat přegenerování výstupních dat. Funguje to tak, že se daný feed zadá do fronty přegenerování na co nejbližší okamžik.
Pravidla
Pravidla nově umožňují upravit obsah výstupního feedu. Cílem je, aby výstupní feed byl pro další zpracování pěkný, s daty které v něm uživatel chce. Logika pravidel odpovídá “najít a nahradit” pravidlu z Mergada. Můžete tedy:
- nahradit text za text
- nahradit text za nic (odstranit ho)
- použít regulární výrazy a získat určité části textu
Využití je velmi mocné, nicméně vyžaduje znalost regulárních výrazů. Syntaxe regulárních výrazů je podobná jako v Mergadu. Jen proměnné se zapisují jinak viz dále.
Regulární výrazy a proměnné
Syntaxe je obvyklá viz následující příklady. Oba ukáži na XML sitemap. To asi nebude nejčastější zpracovávaný formát, nicméně jako příklad zápisu poslouží dobře.
Odstranění textu
Z feedu bych chtěl odstranit elementy <lastmod>
které obsahují různá data. Například <lastmod>2018-01-02T07:55Z</lastmod>
a podobně. Použiji toto pravidlo.
- Nalézt ve feedu text:
<lastmod>(.*)</lastmod>
- Nahradit za text: (nic, pole nechám prázdné)
Vyparsování proměnných a vložení do textu
Chtěl bych ve feedu vytvořit nový element <domain>
do kterého chci zadat doménu z URL v elementu <loc>
. URL chci do elementu bez “www” na začátku přičemž v elementu loc někdy www na začátku je a někdy není.
- Nalézt ve feedu text:
<loc>https:\/\/(www.)?([^\/]*)\/(.*)<\/loc>
- Nahradit za text:
<loc>https://\g<1>\g<2>/\g<3></loc><domain>\g<2></domain>
Všimni si, že:
- každé závorky v “nalézt ve feedu” vytvoří jednu skupinu znaků. Skupin může být více. Skupiny se označují pořadím od 1, tedy 1, 2, 3…
- chceš li vložit do “nahradit za text” proměnnou, použij text
\g<1>
kde “1” je číslo skupiny
V našem příkladě jsme vyparsovali tři skupiny (proměnné) které jsme vložili do textu. Tento příklad zároveň ukázal, že do XML feedu lze jak odstranit, tak doplnit nové elementy.
Nastavení exportu
Nově můžete upravit jak název, tak veřejnou URL výstupního feedu. Myslete na bezpečnost (aby byla adresa těžko uhodnutelná) i na to, zda z původní adresy někdo nestahuje data.
Další vylepšení
V aplikaci najdeš další drobná vylepšení stránek, formulářů, překladů. Jejich používání by mělo být zřejmé.
Závěrem
Cílem Blending Bull je spojování více vstupních feedů do jednoho výstupního feedu. Lze využít i na vstupu soubor jediný. Nově dokáže pomocí pravidel data upravovat. Úpravy probíhají na úrovni jednotlivých znaků. Zpracování je rychlé. Přegenerování výstupních dat probíhá každou hodinu. Uživatel má velmi široké možnosti co s XML feedy dělat. Nepotřebuje přitom zásah administrátora aplikace - vše si nastaví sám.