# Blending Bull - NEWS

**URL:** <https://forum.mergado.cz/t/blending-bull-news/1421>\
**Category:** Blending Bull\
**Tags:** blending-bull\
**Created:** [říjen 5, 2020, 2:58odp. UTC](https://forum.mergado.cz/t/blending-bull-news/1421 "2020-10-05T14:58:47Z")\
**Posts on this page:** 1\
**Showing post:** 11

<div class="post-metadata">

**Author:** ![michaljanik](https://forum.mergado.cz/user_avatar/forum.mergado.cz/michaljanik/32/2_2.png) [@michaljanik](https://forum.mergado.cz/u/michaljanik)\
**Post date:** [únor 1, 2021, 8:13am UTC](https://forum.mergado.cz/t/blending-bull-news/1421/11 "2021-02-01T08:13:51Z")

</div>

## 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í 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.

 ![screenshot-app.mergado.com-2021.02.01-08_38_59](https://forum.mergado.cz/uploads/forum.mergado.cz/original/2X/a/a700dfd9b7a3fd67d62d892030e35f346e216f91.png)

#### 👷‍♂️ 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.

 ![screenshot-app.mergado.com-2021.02.01-08_40_47](https://forum.mergado.cz/uploads/forum.mergado.cz/original/2X/8/8d2968fd44f5d91fa3d28247e4efda2dfb58d62d.png)

##### 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.

---

_[View the full topic](https://forum.mergado.cz/t/blending-bull-news/1421)._
