Jetstack
Zpět na blog Blog

Bohatá knihovna vlastností — firemní data nejsou jen „text“

Publikováno 1. dubna 2021

Technická ilustrace k článku Jetstacku

Textovému editoru vystačí jediný druh textu. Platforma, která slouží skutečným firmám, potřebuje pole v mnoha podobách. Rozdíl mezi "umíme namodelovat vaši práci" a "umíme ji namodelovat pořádně" skoro vždycky spočívá v hloubce knihovny vlastností — v nabídce stavebních prvků, po kterých při definování typu saháte. Za čtyři roky pravidelného doplňování z ní vyrostlo něco, na co jsme právem hrdí.

Základní část palety vypadá povědomě. Krátký i dlouhý text, čísla v několika přesnostech, data a časy v obvyklých variantách, logické hodnoty, URL, e-maily, telefonní čísla. Nic překvapivého. Jakmile ale opustíte základ, knihovna se rozevře: výběr z jedné nebo více možností s vlastním pořadím a barevným rozlišením; odkazy na jiné objekty, jednoduché i vícenásobné, se zobrazením i z opačné strany vazby; vlastnosti s výsledkem dotazu, které zůstávají živé a mění se spolu s daty pod nimi. Každá z nich zní jako maličkost. Dohromady vám ušetří pořádný kus obcházení kolem modelu, do kterého vás jiné platformy nutí.

Kde knihovna opravdu ukáže, co umí, jsou média. Obrázkové vlastnosti automaticky vytvářejí náhledy, umí prohlížení v lightboxu a nastavitelnou kompresi — ne jako přilepenou funkci navíc, ale prostě jako součást toho, co znamená "přidat obrázkové pole". Souborové vlastnosti hladce zapadnou do cloudového úložiště. Formátovaný text zvládá zmínky o dalších uživatelích a záznamech přímo v textu. Odkazy do knihovny médií umožní udržovat sdílenou sadu souborů a používat je opakovaně napříč mnoha záznamy. Nic z toho se nemusí vymýšlet znovu pro každou implementaci.

Nejvíc péče jsme věnovali specializovanému konci palety. Vlastnost země zná seznam existujících zemí a postará se o překlad jejich názvů. Vlastnost barva nabídne výběr barvy místo pole na hexadecimální kód. Vlastnost telefonní číslo rozumí předvolbám zemí. Vlastnost ikona nechá uživatele vybrat z připravené knihovny. Hodnocení hvězdičkami dá lidem přesně ten ovládací prvek, který čekají. Strukturované pole přijme upravitelná vnořená data ve chvíli, kdy je opravdu potřebujete. Nadpis sekce slouží jen k rozvržení — občas formulář potřebuje jen předěl a popisek. A vlastnost peníze nese vedle částky i měnu, což je jedna z těch drobností, které vám ušetří spoustu pozdějších starostí.

Knihovna ale není jen seznam ovládacích prvků — sílu jí dává to, co mají všechny vlastnosti společné pod povrchem. Ke každé patří editor, zobrazení hodnoty, filtr, oprávnění i pravidla viditelnosti. Skutečnou hodnotou je jednotnost. Naučíte se jednu sadu pravidel a řídí se jimi každý typ vlastnosti v nabídce — starý i nový, běžný i specializovaný. Uživatelé se u každého nového pole neučí platformu znovu.

Výsledek se ukáže ve chvíli, kdy vlastnost zapnete. Přidejte k typu Objednávka vlastnost očekávané datum dodání a pole se hned objeví ve formulářích pro vytváření i úpravu, i s výběrem data. Ze seznamu se stane sloupec, podle kterého lze řadit. V každém dotazu nad tímto typem je k dispozici jako filtr. Vyhledávání s ním počítá. REST API ho vystaví ven. Export do tabulky ho zformátuje. Kalendářní pohled podle něj umí seskupovat. Nic dalšího už dělat nemusíte — přesně o to jde, když věci definujete jednou na sdílené platformě.

A pokud vám vestavěné zobrazení někdy úplně nesedí, přesnou kontrolu nad vzhledem a rozvržením vám dá jazyk vložených výrazů a tvorba stránek v Canvasu. To jsou ale nouzové východy, ne běžná cesta. Většinou stačí z palety vybrat správný typ vlastnosti a chová se správně hned napoprvé.

Knihovna vlastností je obsáhlé téma a tohle je jen přehled. Články o tvůrci formulářů a o pohledech ukazují, jak se ta hloubka vyplácí v každodenní práci — právě tam je nejvíc vidět, jak volba typu vlastnosti utváří výsledek.