🐮 Blending Bull NÁPADY NA FUNKCE

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

@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:

  • :bulb: Nápady
    Máš nápad na funkci, která v přehledu není? Napiš ji sem do komentáře prosím.
  • :raised_hand: 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.

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

1 Like

Nápad č. 7

:softball: 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.

  • :white_check_mark: ANO, tahle funkce by se mi hodila
  • :heavy_minus_sign: nápad jsem četl, ale nepotřebuji ho

0 hlasující

Nápad č. 9

:softball: 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ží.

Peek 2022-04-27 14-59

  • :white_check_mark: ANO, tahle funkce by se mi hodila
  • :heavy_minus_sign: nápad jsem četl, ale nepotřebuji ho

0 hlasující

1 Like

Nápad č. 10

:softball: 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. 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.

  • :white_check_mark: ANO, tahle funkce by se mi hodila
  • :heavy_minus_sign: nápad jsem četl, ale nepotřebuji ho

0 hlasující

Nápad č. 11

:softball: 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ř. neobsahují 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.

  • :white_check_mark: ANO, tahle funkce by se mi hodila
  • :heavy_minus_sign: nápad jsem četl, ale nepotřebuji ho

0 hlasující

Nápad č. 12

:abacus: 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:

<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:

<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ě:

<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.
  • :white_check_mark: ANO, tahle funkce by se mi hodila
  • :heavy_minus_sign: nápad jsem četl, ale nepotřebuji ho

0 hlasující


  1. Syntaxi zápisu proměnné jsem převzal z proměnné datum. ↩︎

:white_check_mark: Hotové nápady

Nápady č. 1, 3, 4, 6, 7, 9 a 10 byly zrealizovány ve verzi 5. 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.

1 Like

:white_check_mark: Hotové nápady

Nápady č. 11 a 12 budou nasazeny ve verzi 6.

Nápad č. 13

:softball: 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:

<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:

<PRODUCTNAME>Velký poklad</PRODUCTNAME>
<PRODUCTNAME>Ještě větší poklad</PRODUCTNAME>
  • :white_check_mark: ANO, tahle funkce by se mi hodila
  • :heavy_minus_sign: nápad jsem četl, ale nepotřebuji ho

0 hlasující

Nápad č. 14

:softball: 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)
  • :white_check_mark: ANO, tahle funkce by se mi hodila
  • :heavy_minus_sign: nápad jsem četl, ale nepotřebuji ho

0 hlasující

Nápad č. 15

:softball: 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ů.

  • :white_check_mark: ANO, tahle funkce by se mi hodila
  • :heavy_minus_sign: nápad jsem četl, ale nepotřebuji ho

0 hlasující

Nápad č. 16

:sauropod: 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.

  • :white_check_mark: ANO, tahle funkce by se mi hodila
  • :heavy_minus_sign: nápad jsem četl, ale nepotřebuji ho

0 hlasující

Nápad č. 17

:nazar_amulet: Podpora zadávání více hodnot

Primárně mířím na pravidlo Smazat text. Uživatel chce ze souboru odstranit více slov. Ta se vyskytují na různých místech textu. Uživatel by mohl zadat pro každé slovo jedno pravidlo Smazat text. Slov je ale cca 30 ks. Už nyní by je mohl zadat pomocí regulárního výrazu a mazat např. slovoa|slovob|slovoc. Tedy slova oddělit svislítkem.

To ale nemusí být intuitivní. A uživateli se obtížněji bude zapisovat, pokud jde o sousloví - součástí “slova” je mezera. Je tedy otázka, zda mu to nezjednodušit. Třeba k textovému políčku pro text k narazení doplnit checkbox “zpracovat jako více slov” a oddělovač by byla čárka.

Pozor, myslím že bychom měli dokázat zpracovat jak zápis slovoa,slovob,slovoc tak slovoa, slovob, slovoc. Tedy že uživatel vložil za čárku mezeru.

Volbu “Zpracovat jako více hodnot oddělených čárkou” bych asi kombinovat s regulárními výrazy NEumožnil. celé by se to zesložitilo přehnaně.

  • :white_check_mark: ANO, tahle funkce by se mi hodila
  • :heavy_minus_sign: nápad jsem četl, ale nepotřebuji ho

0 hlasující

Nápad č. 18

:regex: Rozlišovat v regulárních výrazech velká a malá písmena

Nyní regulární výrazy velká a malá písmena rozlišují. To ale nemusí být někdy žádoucí. Co kdybychom tedy uživateli umožnili v pravidle zakliknout, zda regulární výraz má|nemá velká písmena rozlišovat?

Řešení

K checkboxu Zpracovat jako regulární výraz doplnit nastavení zda velká a malá písmena rozlišovat. Jako výchozí hodnota se mi zdá logická “NE”.

  • :white_check_mark: ANO, tahle funkce by se mi hodila
  • :heavy_minus_sign: nápad jsem četl, ale nepotřebuji ho

0 hlasující

1 Like

Nápad č. 19

:dotted_line_face: Rozšířit pravidlo Smazat prázdné řádky o mazání bílých znaků

Problém

Někdy si uživatel myslí, že je řádek prázdný, ale jsou na něm bílé znaky. Někdy o tom ví, ale rád by je odstranil a čím méně pravidel, tím lépe. Nastavení souboru je pak přehlednější.

Řešení

Zaškrtnutím checkboxu by se odstranily kromě řádků zcela prázdných také řádky, které obsahují pouze mezery, tabelátory a podobně - i více za sebou. Výchozí hodnota NEzaškrtnuto.

  • :white_check_mark: ANO, tahle funkce by se mi hodila
  • :heavy_minus_sign: nápad jsem četl, ale nepotřebuji ho

0 hlasující

1 Like

Nápad č. 20

:recycle: Tuning tlačítka pro přegenerování

Cíle

  • Uživatel vidí, zda je náhled souboru po stisku na přegenerování již přegenerován nebo ještě nikoliv.
  • Nový náhled se sám načte. Uživatel nemusí kliknout na jinou stránku a zpět.

Řešení

Řešením by mohla být dynamická komponenta. Ta by po stisku ikony přegenerovat např. zobrazila ikonu točící se, což by signalizovalo zpracovávání. Co pár vteřin by se zeptala backendu aplikace, zda již přegenerování proběhlo. Pokud ano, načte znovu obsah políčka s náhledem dat a zobrazí ikonu opět statickou.

Toto je spíše úvaha, než návrh řešení. Cíl je (snad) zřejmý.

  • :white_check_mark: ANO, tahle funkce by se mi hodila
  • :heavy_minus_sign: nápad jsem četl, ale nepotřebuji ho

0 hlasující

1 Like

Nápad č. 21

:robot: Zkopírování pravidel ze šablony

Cíle

Při tvorbě nového souboru uživatel nemusí klikat pravidla všechna od začátku. V novém kroku vybere šablonu. Tu vytvořil administrátor Bulla. Je to soubor pravidel. Obsahuje popis co to dělá. Uživatel klikne a všechna pravidla se mi vytvoří sama.

Poznámka: pokud amin vytvoří pravidla dobře a dobře popíše k čemu poslouží, nemusí uživatel pravidlům ani rozumět. Prostě je zkopíruje a ono to bude fungovat.

Řešení

Navrhuji vložit do průvodce vytvořením souboru nový krok. Na 3. pozici. Ten bude obsahovat radiobutton s volbami:

  • Nekopírovat pravidla ze šablon, vytvořím je osobně [výchozí možnost, zaškrtnutá]
  • Vytvořit pravidla ze šablony

Pokud uživatel vybere tvorbu pravidel ze šablony, objeví se seznam pravidel. Výběr bude radiobuttony, následuje textový popis. Bylo by fajn, kdyby byl lokalizován do jazyků. Je otázka jak toto zpracovat. Může to být buď seznam. nebo tabulka podobná tabulce s datovými zdroji. Výhodou tabulky by byla možnost filtrování.

Je otázka, zda by nedávalo dát na stránku dále chcekbox - spustit přegenerování dat. Výchozí hodnota NEzaškrtnutý.

Šablonou rozumím soubor pravidel. Při tvorbě souboru se pravidla vytvoří. Tím jejich vazba na šablonu končí. Pokud admin např. šablonu změní, pravidel dříve vytvořených se to nijak nedotkne. Přístup k šablonám není jinde než v průvodci založením souboru.

  • :white_check_mark: ANO, tahle funkce by se mi hodila
  • :heavy_minus_sign: nápad jsem četl, ale nepotřebuji ho

0 hlasující

Nápad č. 22

:basket: Podpora stahování zabezpečených datových zdrojů

Cíle

Aby šlo stáhnout datový zdroj zabezpečený, URL ve tvaru https://jmeno:heslo@www.domena.com/some-file.ext. To nyní nelze a bylo by třeba downloader upravit.

  • :white_check_mark: ANO, tahle funkce by se mi hodila
  • :heavy_minus_sign: nápad jsem četl, ale nepotřebuji ho

0 hlasující

:white_check_mark: Hotové nápady

Nápady č. 13, 14, 15, 16, 17, 18 a 19 budou nasazeny ve verzi 7.

1 Like