# Blending Bull NÁPADY NA FUNKCE (původní)

**URL:** <https://forum.mergado.cz/t/blending-bull-napady-na-funkce-puvodni/1781>\
**Category:** Blending Bull\
**Tags:** blending-bull, nápady-na-funkce\
**Created:** [únor 7, 2022, 12:12odp. UTC](https://forum.mergado.cz/t/blending-bull-napady-na-funkce-puvodni/1781 "2022-02-07T12:12:05Z")\
**Posts on this page:** 20\
**Page:** 1

<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 7, 2022, 12:12odp. UTC](https://forum.mergado.cz/t/blending-bull-napady-na-funkce-puvodni/1781/1 "2022-02-07T12:12:05Z")

</div>

Pište prosím nápady, co by se Vám líbilo, aby #blending-bull uměl. Bude-li nápad obsahovat hlasování a Vám by se funkce hodila, klikněte do hlasování ať víme, jaké funkce tvořit dříve a jaké počkají.

Děkuji.

---

<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 7, 2022, 12:26odp. UTC](https://forum.mergado.cz/t/blending-bull-napady-na-funkce-puvodni/1781/2 "2022-02-07T12:26:31Z")

</div>

_Nápad č. 1_

## 🍋 Podpora Mime type

### Situace

Nyní Blending Bull [mime type](https://cs.wikipedia.org/wiki/Typ_internetov%C3%A9ho_m%C3%A9dia) nepodporuje. Příčinou bylo složité nasazení, resp. jsem nechtěl měnit URL souboru. Pro nasazení podpory mime type je přitom podstatné, aby soubor měl příponu. Např. _nazevsouboru. **xml** _ aj.

### Řešení

Do průvodce tvorbou souboru a do nastavení doplnit volbu formátu souboru. vypadat by to mohlo viz náhled. V prvním kroku průvodce vytvořením souboru (a stránce nastavení) by byl select. Ten by nabízel možnosti: NEUVEDENO (výchozí možnost), XML, CSV, JSON, TXT, TSV. Výchozí by bylo _neuvedeno_ a chovalo by se jako nyní. Pokud by uživatel vybral jinou variantu, na konec názvu souboru by se doplnila tečka a přípona. Např. `.xml` atp.

 ![screenshot-app.mergado.com-2022.02.07-13_15_07](https://forum.mergado.cz/uploads/forum.mergado.cz/original/2X/a/a44eda6450a8a098e4de94cbf06521444f4dc6f0.png)

### Užitek

Pokud by nějaký cílový systém měl problémy bez korektního mime type soubor stahovat, toto by se vyřešilo.

_Poll ([view on site](https://forum.mergado.cz/t/blending-bull-napady-na-funkce-puvodni/1781/2))_

---

<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 7, 2022, 12:35odp. UTC](https://forum.mergado.cz/t/blending-bull-napady-na-funkce-puvodni/1781/3 "2022-02-07T12:35:16Z")

</div>

_Nápad č. 2_

## 👁 Náhled konce souboru

### Situace

Uživatel edituje např. JSON. Chce si zkontrolovat, zda má na konci souboru správné znaky.

### Možné řešení

Např. do náhledu doplnit přepínač, který by přepnul, zda se zobrazuje začátek nebo konec souboru. Asi to bude technicky složitější - půjde o dva náhledy a nevím, jak pracné je náhled konce implementovat. Nicméně jako návrh toto vzít můžeme.

 ![screenshot-app.mergado.com-2022.02.07-13_29_45](https://forum.mergado.cz/uploads/forum.mergado.cz/original/2X/7/7e13ddd181b57621ada523c52f4414474d3a25e8.png)

### Užitek

Možnost kontroly konce souboru.

_Poll ([view on site](https://forum.mergado.cz/t/blending-bull-napady-na-funkce-puvodni/1781/3))_

---

<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 7, 2022, 12:44odp. UTC](https://forum.mergado.cz/t/blending-bull-napady-na-funkce-puvodni/1781/4 "2022-02-07T12:44:23Z")

</div>

_Nápad č. 3_

## 🪜 Vlastní URL podstránek aplikace

### Situace

Nyní jsou všechny podstránky aplikace na společné URL viz př.: `https://app.mergado.com/eshops/1235/applications/view/?app=blendingbull` kde `12345` je ID e-shopu v Mergadu. Pokud tak pošlete odkaz např. e-mailem, zobrazí se vždy hlavní stránka Bulla.

### Možné řešení

Nasadit podporu vlastních URL. Mergado pro toto poskytuje speciální framework.

_Poll ([view on site](https://forum.mergado.cz/t/blending-bull-napady-na-funkce-puvodni/1781/4))_

---

<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 8, 2022, 11:19am UTC](https://forum.mergado.cz/t/blending-bull-napady-na-funkce-puvodni/1781/5 "2022-02-08T11:19:20Z")

</div>

_Nápad č. 4_

## 📅 Proměnná DATUM

### Situace

Někdy je třeba opravit dostupnostní feed. Do něj vložit datum. To nyní neumíme.

### Řešení

Zavést „systémovou“ proměnnou (proměnné) pro datum. Ta by vracela hodnotu ve tvaru např. `2021-12-31`. Tedy dnešní datum. To by bylo fajn stanovit jednou, a pak v celém pravidle zapsat stejnou hodnotu. Případně pro více pravidel dohromady, pokud by to nebylo složité. Pozor totiž na zpracování dat kolem půlnoci, kdy se datum může během zpracování souboru změnit a hodnota by v jednom souboru mohla být různá.

Hodně sexy by bylo, kdyby uměl Bull s proměnnou datum počítat. Tedy něco jako „dnešní datum + 2 dny“ by dne 31. 12. 2021 vracelo `2022-01-02`. Je otázka, zda by to bylo programátorsky složité, případně jak stanovit syntax, aby byla pro uživatele srozumitelná.

#### Upřesnění

Je otázka. jak systémové proměnné pojmenovávat. Mohli bychom zavést systém. Např. pojmenovávat velkými písmeny s `BB_` na začátku. BB jako Blending Bull 😉 Alternativně by to mohlo být `BBULL_`. Ale přijde mi to dlouhé. Mohly by tak vzniknout proměnné:

- `BB_DATE` příklad: `2022-04-24`
- `BB_YEAR` příklad: `2022`
- `BB_MONTH` příklad: `04`
- `BB_DAY` příklad: `24`

Do textu pravidla by se zapisovaly asi jako `\<BB_DAY>`. Tedy jako běžné proměnné, které si uživatel pojmenoval.

_Poll ([view on site](https://forum.mergado.cz/t/blending-bull-napady-na-funkce-puvodni/1781/5))_

---

<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 8, 2022, 11:26am UTC](https://forum.mergado.cz/t/blending-bull-napady-na-funkce-puvodni/1781/6 "2022-02-08T11:26:20Z")

</div>

_Nápad č. 5_

## 🗂 Makra

### Situace

Uživatel dělá jedno nastavení vícekrát na různých souborech.

### Cíl ušetřit mu práci

### Řešení

Umožnit uživateli export pravidel do souboru. To by mohl být např. zazipovaný JSON. Obsahoval by název a nastavení pravidel. Po nahrání by vytvořil pravidla. Ta by si následně uživatel upravil dle potřeby. Jinou část než pravidla bych neexportoval.

### Využití

Např. uživatel konvertuje Heureka dostupnostní XML feed ja Mall dostupnostní. Nebo jiné opakované činnosti.

 ![screenshot-app.mergado.com-2022.02.08-12_21_18](https://forum.mergado.cz/uploads/forum.mergado.cz/original/2X/2/216f37f79ff2e6945211f4d67be38ba5bb959acd.png)

_Poll ([view on site](https://forum.mergado.cz/t/blending-bull-napady-na-funkce-puvodni/1781/6))_

---

<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 8, 2022, 11:35am UTC](https://forum.mergado.cz/t/blending-bull-napady-na-funkce-puvodni/1781/7 "2022-02-08T11:35:13Z")

</div>

_Nápad č. 6_

## 🥎 Vylepšení stránky Datové zdroje

### Cíle

- Dát uživateli informaci který datový zdroj není používán.
- Dát informaci který datový zdroj používaný je.
- Ukázat stav datového zdroje - zda daná URL poskytuje data.

### Řešení

Viz náhled. Znamenalo by to k datovým zdrojům zavést ukládání jak dopadl pokus o stažení souboru. Zda zdrojový server vrátil http hlavičku 200 a soubor byl stažen, nebo zda došlo k chybě. Podle toho by se mohli i filtrovat. Dále by mohlo být fajn uživateli ukázat, zda konkrétní datový zdroj používá pro generování nějakého výstupního souboru. Zejména po delším čase se může stát, že výstupní soubor uživatel smaže, datové zdroje ponechá a ty Bull stahuje, i když nejsou potřeba.

 ![screenshot-app.mergado.com-2022.02.08-12_28_22](https://forum.mergado.cz/uploads/forum.mergado.cz/original/2X/6/6576c9c536c5c890822703795a5db51cc8eeb5ce.png)

_Poll ([view on site](https://forum.mergado.cz/t/blending-bull-napady-na-funkce-puvodni/1781/7))_

---

<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 8, 2022, 11:47am UTC](https://forum.mergado.cz/t/blending-bull-napady-na-funkce-puvodni/1781/8 "2022-02-08T11:47:00Z")

</div>

## Sběr nápadů na funkce a hlasování o nich

[@group\_blendingbull](https://forum.mergado.cz/groups/group_blendingbull) prosím o pomoc. Přišly ke mě nápady na **nové funkce** Blending Bulla. K tomu jsem přidal některé nápady ze svého „notýsku“. A uvedl jsem je do příspěvků výše. Je otázka, zda nastal čas sestavit zadání na další verzi Bulla a pokud ano, co má **prioritu**.

### Prosím o tuto pomoc:

- 💡 **Nápady**  
Máš nápad na funkci, která v přehledu není? Napiš ji sem do komentáře prosím.
- ✋ **Hlasování**  
Mrkni na nápady a klikni svůj hlas funkcím, které bys **využil/a**. Nehlasuj prosím pro všechno. Jen pro to, co ti přijde opravdu užitečné a použil/a bys. Ať nemáme všude (přibližně) stejný počet hlasů.

### Další postup

Dáme tomu pár dní. Já pak hlasy spočtu. Když jich bude hodně, rozhodnu podle nic, které funkce Bulla naučíme a kdy.

Za pomoc moc děkuji.

---

<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 16, 2022, 9:45am UTC](https://forum.mergado.cz/t/blending-bull-napady-na-funkce-puvodni/1781/9 "2022-02-16T09:45:57Z")

</div>

@group\_feedmarketing rád bych požádal o pomoc. V tomto vlákně jsem sepsal některé nápady na vylepšení #blending-bull. Chtěl bych požádat o kliknutí hlasu funkcím, které vám přijdou cenné. Je možné, že podstatná není žádná. Ale kdyby byla, tak ať to víme a případně dodáme. Víc jsem se rozepisoval v komentáři výše.

Za pomoc děkuji.

---

<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:** [duben 27, 2022, 12:55odp. UTC](https://forum.mergado.cz/t/blending-bull-napady-na-funkce-puvodni/1781/10 "2022-04-27T12:55:23Z")

</div>

_Nápad č. 7_

## 🥎 Nový typ pravidla: Smazat řádek obsahující text

Volně navazuje na pravidla pro mazaní textů, bílých znaků, prázdných řádků…

### Cíle

Uživatel snadno **odstraní celý řádek** (např. jednu shopitem) s určitým textem (např. XML elementem určité hodnoty). Mám na mysli celý řádek, **včetně řádkového zlomu** na konci. Využití předpokládám např. společně po pravidlu „Zarovnat XML do tabulky“.

### Řešení

Vyřešit toto lze pomocí regulárního výrazu. Např. smazáním `.*KONKRÉTNÍTEXT.*\n`  
Sestavit regulární výraz je pro některé uživatele obtížné. Toto pravidlo by situaci _zjednodušilo_. Předpokládám, že uživatel bude do pravidla zadávat text. Pokud by mohl vložit i regulární výraz, bylo by to bezva.

_Poll ([view on site](https://forum.mergado.cz/t/blending-bull-napady-na-funkce-puvodni/1781/10))_

---

<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:** [duben 27, 2022, 1:02odp. UTC](https://forum.mergado.cz/t/blending-bull-napady-na-funkce-puvodni/1781/11 "2022-04-27T13:02:40Z")

</div>

_Nápad č. 9_

## 🥎 Pořadí pravidel změnit tažením myši

### Cíle

Změna pořadí pravidel na méně kliknutí.

### Řešení

Jde o toto viz náhled níže. Pořadí pravidel se definuje kliknutím na ikonu šipky. Pokud je pravidel více, může být stanovení pracné. Mergado toto umožňuje tažením myší. Zdá se mi to méně pracné. Uživatel uchopí pravidlo za ikonu a posune. Po umístění do tabulky se nové pořadí uloží.

 ![screenshot-app.mergado.com-2022.04.27-14_57_05](https://forum.mergado.cz/uploads/forum.mergado.cz/original/2X/1/18837718a24dcfdebfce150cd31b685ebd513565.png)

![Peek 2022-04-27 14-59](https://forum.mergado.cz/uploads/forum.mergado.cz/original/2X/3/385b903712273348222d19b195483de27a495de2.gif)

_Poll ([view on site](https://forum.mergado.cz/t/blending-bull-napady-na-funkce-puvodni/1781/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:** [duben 27, 2022, 1:16odp. UTC](https://forum.mergado.cz/t/blending-bull-napady-na-funkce-puvodni/1781/12 "2022-04-27T13:16:56Z")

</div>

_Nápad č. 10_

## 🥎 Drobná vylepšení stránky Nastavení souboru

Na stránku Nastavení souboru navrhuji doplnit jednak ikonu pro zkopírování výstupní URL souboru, jednak doplnit možnost smazat soubor. Umístění viz náhledy. Ikona pro kopírování je de facto stejná jako na stránce Soubory. Umístil bych ji vlevo od ikony pro přegenerování nové URL. Dospod stránky bych dal nabídku „Smazat soubor“. To by mohlo být [červené tlačítko](https://mergado.github.io/docs/design/buttons.html). Po stisknutý by bylo nutno volbu potvrdit. Např. napsáním nějakého textu (např. `DELETE`). Po smazání by byl uživatel odeslán na stránku Soubory.

 ![screenshot-app.mergado.com-2022.04.27-15_04_17](https://forum.mergado.cz/uploads/forum.mergado.cz/original/2X/4/41b6274f1dc70f88d4508523fffd1dccc69b03d0.png)

 ![screenshot-app.mergado.com-2022.04.27-15_04_02](https://forum.mergado.cz/uploads/forum.mergado.cz/original/2X/0/03fd3ba16cb0d97a6176fad2f3fef06d06707b7a.jpeg)

_Poll ([view on site](https://forum.mergado.cz/t/blending-bull-napady-na-funkce-puvodni/1781/12))_

---

<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:** [květen 20, 2022, 10:06am UTC](https://forum.mergado.cz/t/blending-bull-napady-na-funkce-puvodni/1781/13 "2022-05-20T10:06:24Z")

</div>

_Nápad č. 11_

## 🥎 Nový typ pravidla: Smazat řádek NEobsahující text

Navazuje na pravidlo které smaže řádky obsahující text.

### Cíle

Uživatel chce z feedu odstranit všechny **řádky** , které např. **ne** obsahují text `<DELIVERY_DATE>0</DELIVERY_DATE>`. A to **včetně zalomení na konci řádku** tak, aby nezůstaly po smazání v souboru prázdné řádky. Nyní to zapsat jde pomocí regulárního výrazu. Cílem je snazší zadávání.

### Řešení

Vyřešit toto lze (snad) pomocí regulárního výrazu.

_Poll ([view on site](https://forum.mergado.cz/t/blending-bull-napady-na-funkce-puvodni/1781/13))_

---

<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:** [květen 20, 2022, 10:35am UTC](https://forum.mergado.cz/t/blending-bull-napady-na-funkce-puvodni/1781/14 "2022-05-20T10:35:29Z")

</div>

_Nápad č. 12_

## 🧮 Počítadlo

Řekněme, že jsem XML soubor s informacemi o zboží převedl v Bullovi pravidlem na „tabulku“ tak, že **na každém řádku je jedna položka zboží**. Položky zboží obsahují označení výrobce. Např. `<brand>Nike</brand>` pro zboží značky „Nike“. Já bych potřeboval **počítadlo**. Toto počítadlo bude sledovat hodnoty v proměnné. Když najde hodnotu poprvé, zapíše do počítadla „1“. Když už hodnotu zná, navýší stav počítadla vždy o 1. Hodnotu počítadla může zapsat do souboru pomocí systémové proměnné.

Příklad vstupních dat:

```auto
<item><name>Tenisky A</name><brand>Nike</brand></item>
<item><name>Tenisky B</name><brand>Nike</brand></item>
<item><name>Tenisky C</name><brand>Adidas</brand></item>
<item><name>Tenisky D</name><brand>Botas</brand></item>
<item><name>Tenisky E</name><brand>Nike</brand></item>

```

Nyní zapnu počítadlo. jako proměnnou stanovím `<brand>(.*)</brand>`. Odtud budu čerpat hodnoty proměnné. Výstup zapíši do: `<brand>\g<1></brand><counter>%BB_COUNT%</couter>`\[1\]. Tedy do elemnu `brand` zapíši původní nalezenou hodnotu `\g<1>`. A za něj zapíši element `counter` do kterého zapíši proměnnou s hodnotou počítadla. Pro tento příklad jsem ji pojmenoval `BB_COUNT`. Pojmenování je pracovní. Jmenovat se může jinak. Výstup by pak vypadal takto:

```auto
<item><name>Tenisky A</name><brand>Nike</brand><counter>1</counter></item>
<item><name>Tenisky B</name><brand>Nike</brand><counter>2</counter></item>
<item><name>Tenisky C</name><brand>Adidas</brand><counter>1</counter></item>
<item><name>Tenisky D</name><brand>Botas</brand><counter>1</counter></item>
<item><name>Tenisky E</name><brand>Nike</brand><counter>3</counter></item>

```

Celkem by přitom počítadlo našlo proměnné:

| Hodnota proměnné | Počet |
| --- | --- |
| Nike | 3 |
| Adidas | 1 |
| Botas | 1 |

Z příkladu je vidět, že u nalezených výskytů obsahu proměnné, se hodnota počítadla postupně navyšuje. Tak jak pravidlo prochází data. Pokud bych ze vstupního příkladu vyfiltroval pouze řádky, kde proměnná `\g<1>` nabývá hodnoty `Nike`, vypadaly by tyto řádky po zpracování pravidlem s počítadlem následovně:

```auto
<item><name>Tenisky A</name><brand>Nike</brand><counter>1</counter></item>
<item><name>Tenisky B</name><brand>Nike</brand><counter>2</counter></item>
<item><name>Tenisky E</name><brand>Nike</brand><counter>3</counter></item>

```

Zde je vidě, že hodnota počítadla postupně roste: 1 - 2- 3…

### K čemu je to dobré

Jiné aplikace zpracování dat paralelizují. Je tedy komplikované v práci zohlednit **vztahy mezi shopitems**. Např. zda je zboží daného názvu v nabídce unikátní, zda se název zboží opakuje (má varianty, kolik těch variant je atp.) atp. Bull pracuje lineárně. Toho bychom mohli využít a práci s vícenásobnými výskyty zavést.

### Řešení

Nastíním laicky. Mohlo by jít o speciální typ pravidla. Něco jako „Najít a nahradit s počítadlem“. Nebo by se počítadlo volitelně mohlo zapnout u stávajícího pravidla Najít a nahradit. Pravidlo by v textu hledalo text který splní zadání uživatele a z něj vyparsuje proměnnou. Novinkou by byl „dočasný zásobník“. Do něj by pravidlo nalezené hodnoty „házelo“. Vždy zkontrolovalo zda tam hodnota už je. Pokud není, zapíše nově. Pokud je, číslo počítadla navýší o jedničku. Po ukončení práce pravidla by se zásobník vyprázdnil. Hodnota počítadla pro danou proměnnou by byla uživateli přístupná v (nějaké) systémové proměnné. Podobně jako např. datum.

#### Řešení v UI

Viz výše, napadají mne dvě možnosti:

1. Nový typ pravidla „Najít a nahradit s počítadlem“. To by se chovalo stejně jako pravidlo Najít a nahradit. Navíc by **první proměnnou** v regulárním výrazu zpracovalo jako viz výše.
2. Možnost zapnout počítadlo jako „doplněk“ stávajícího pravidla Najít a nahradit. V UI by mohlo jít o checkbox pod stávajícím checkboxem Zpracovat jako regulární výraz. Oři zapnutí by Bull musel zkontrolovat, zda je zapnuté zpracování regulárním výrazem. Bez něj by počítadlo nemělo kde číst data.

_Poll ([view on site](https://forum.mergado.cz/t/blending-bull-napady-na-funkce-puvodni/1781/14))_

* * *

1. Syntaxi zápisu proměnné jsem převzal z [proměnné datum](https://forum.mergado.cz/t/promenne-v-aplikaci-blending-bull-seznam-a-napoveda/1920).

---

<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:** [květen 27, 2022, 6:40am UTC](https://forum.mergado.cz/t/blending-bull-napady-na-funkce-puvodni/1781/15 "2022-05-27T06:40:44Z")

</div>

## ✅ Hotové nápady

Nápady č. [1](https://forum.mergado.cz/t/blending-bull-napady-na-funkce/1781/2), [3](https://forum.mergado.cz/t/blending-bull-napady-na-funkce/1781/4), [4](https://forum.mergado.cz/t/blending-bull-napady-na-funkce/1781/5), [6](https://forum.mergado.cz/t/blending-bull-napady-na-funkce/1781/7), [7](https://forum.mergado.cz/t/blending-bull-napady-na-funkce/1781/10), [9](https://forum.mergado.cz/t/blending-bull-napady-na-funkce/1781/11) a [10](https://forum.mergado.cz/t/blending-bull-napady-na-funkce/1781/12) byly [zrealizovány](https://forum.mergado.cz/t/blending-bull-news/1421/19) ve [verzi 5](https://forum.mergado.cz/t/blending-bull-news/1421/19). V seznamu výše jsem je označil zaškrtnutým checkboxem a barevně. Nápady nepodbarvené nevzbudily (zatím) takový zájem, abychom je realizovali.

Případné další nápady prosím pište. Nebo posílejte na support.

Děkuji.

---

<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:** [červenec 27, 2022, 6:30am UTC](https://forum.mergado.cz/t/blending-bull-napady-na-funkce-puvodni/1781/16 "2022-07-27T06:30:17Z")

</div>

## ✅ Hotové nápady

Nápady č. [11](https://forum.mergado.cz/t/blending-bull-napady-na-funkce/1781/13) a [12](https://forum.mergado.cz/t/blending-bull-napady-na-funkce/1781/14) budou nasazeny ve [verzi 6](https://forum.mergado.cz/t/blending-bull-news/1421/21).

---

<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:** [červenec 27, 2022, 7:36odp. UTC](https://forum.mergado.cz/t/blending-bull-napady-na-funkce-puvodni/1781/17 "2022-07-27T19:36:11Z")

</div>

_Nápad č. 13_

## 🥎 Smazat všechny XML značky kromě uvedené

Svým způsobem protiklad stávajícího pravidla _Smazat XML značku i s obsahem_

### Cíle

Uživatel chce v souboru ponechat pouze jedinou XML značku i s hodnotami. Nyní toto může řešit regulárním výrazem. Nově by se mu zadávání zjednodušilo. Využije např. při generování produktových skupin z názvů produktů.

### Příklad

Vstupní data:

```auto
<SHOPITEM>
    <ITEM_ID>123</ITEM_ID>
    <PRODUCTNAME>Velký poklad</PRODUCTNAME>
    <DESCRIPTION>Lorem ipsum. Možná i s HTML...</DESCRIPTION>
    <URL>https://www.blendingbull.com/velky-poklad/</URL>
    <PARAM>
        <PARAM_NAME>Barva</PARAM_NAME>
        <VAL>červená</VAL>
</SHOPITEM>
<SHOPITEM>
    <ITEM_ID>456</ITEM_ID>
    <PRODUCTNAME>Ještě větší poklad</PRODUCTNAME>
    <DESCRIPTION>Lorem ipsum. Možná i s HTML...</DESCRIPTION>
    <URL>https://www.blendingbull.com/vetsi-poklad/</URL>
    <PARAM>
        <PARAM_NAME>Barva</PARAM_NAME>
        <VAL>zelená</VAL>
</SHOPITEM>

```

Uživatel zadá pravidlo Smazat všechny XML značky kromě uvedené s parametrem `PRODUCTNAME`.

Výstup:

```auto
<PRODUCTNAME>Velký poklad</PRODUCTNAME>
<PRODUCTNAME>Ještě větší poklad</PRODUCTNAME>

```

_Poll ([view on site](https://forum.mergado.cz/t/blending-bull-napady-na-funkce-puvodni/1781/17))_

---

<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:** [červenec 27, 2022, 7:42odp. UTC](https://forum.mergado.cz/t/blending-bull-napady-na-funkce-puvodni/1781/18 "2022-07-27T19:42:47Z")

</div>

_Nápad č. 14_

## 🥎 Pravidlo: Smazat řádky podle počtu znaků

### Cíle

Uživatel čistí seznam klíčových slov. Na každém řádku má několik slov. Na výstupu chce ponechat pouze řádky, které mají např. méně nebo rovno 30 znaků.

### Řešení

Laicky bych to napsal regulárním výrazem. Mazal bych např. `.{30,}`. Odborník by to asi navrhl lépe. Toto je příklad. Podle mne by pravidlo mohlo mít dvě vstupní políčka:

- `<` `=` `>` (select)
- čísla (textové políčko, validní hodnota je číslo)

_Poll ([view on site](https://forum.mergado.cz/t/blending-bull-napady-na-funkce-puvodni/1781/18))_

---

<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:** [červenec 27, 2022, 8:10odp. UTC](https://forum.mergado.cz/t/blending-bull-napady-na-funkce-puvodni/1781/19 "2022-07-27T20:10:38Z")

</div>

_Nápad č. 15_

## 🥎 Pravidlo: Smazat znaky

### Cíle

Uživatel čistí seznam klíčových slov. V něm jsou např. číselná ID položek zboží. Ta chce smazat všechna. Neumí ale napsat regulární výraz. Pravidlo mu v tomto pomůže.

### Řešení

Pravidlo. Uživatel kliknutím vybere skupinu, kterou chce smazat. Mohly by to být **checkboxy** a uživatel mohl vybrat více položek v jednom pravidle. Mazání by mohly obstarat regulární výrazy. Uvedu příklady.

- **čísla** `[0-9]*` nebo `\d*`
- **velká písmena** `[A-Z]*`
- **malá písmena** `[a-z]*`
- **speciální znaky**
- **bílé znaky** - zde pozor, mám na mysli mezery, tabelátory… ale konce řádků nikoliv
- **bílé znaky na koncích řádků** (pouze na koncích řádků, jinde nikoliv)
- **bílé znaky před znakem …** (pozor, nemazat konce řádků, míří hlavně na mezery - i jeden ks tam kde nemá být)
- **bílé znaky za znakem …** (viz předchozí bod)
- slova která mají **méně než … znaků** (já bych laicky psal nějak takhle `\W(\w{.....,.....})\W` kde místo teček je číslo)
- slova která mají **více než … znaků** (viz příklad výše)

### Poznámka

Blending Bull nyní obsahuje pravidlo **Smazat všechny bílé znaky v souboru**". Toto pravidlo jej de facto rozšiřuje. Mohlo by ho tedy _nahradit_.

Je k zamyšlení, zda toto pravidlo nespojit i s pravidly **Smazat bílé znaky na začátcích řádků** a **Smazat konce řádků**.

_Poll ([view on site](https://forum.mergado.cz/t/blending-bull-napady-na-funkce-puvodni/1781/19))_

---

<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:** [červenec 27, 2022, 8:17odp. UTC](https://forum.mergado.cz/t/blending-bull-napady-na-funkce-puvodni/1781/20 "2022-07-27T20:17:47Z")

</div>

_Nápad č. 16_

## 🦕 Pravidlo: Deduplikovat mezery

Pokud uživatel z textu smaže některá slova, mohou zůstat mezery co byly např. před a za slovem. Tím pádem bude v textu více mezer po sobě. Příklad: `Dámské hodinky typ 123 bílé` po odstranění slov `typ` a `123` zůstane: `Dámské hodinky bílé`. Mezi slovy hodinky a bílé budou tři mezery. Cílem je, aby zůstala mezera jediná.

### Řešení

Toto půjde zapsat regulárním výrazem. Např. `mezera{2,}` nahradit za mezeru jedinou.

_Poll ([view on site](https://forum.mergado.cz/t/blending-bull-napady-na-funkce-puvodni/1781/20))_

[Další strana](https://forum.mergado.cz/t/blending-bull-napady-na-funkce-puvodni/1781.md?page=2)
