Apexloop

Datový model, který roste s týmem

Jak v Apexloopu navrhnout databáze, relace, formule a pohledy tak, aby workspace zvládl CRM, projekty, faktury i interní procesy bez slepých uliček.

Dobře navržený workspace nezačíná otázkou, kolik stránek vytvořit. Začíná otázkou, které věci mají vlastní životní cyklus. Firma, kontakt, projekt, úkol, faktura, položka, newsletter nebo e-mail nejsou jen odstavce v dokumentu. Jsou to záznamy, které mají stav, vlastníka, historii, vztahy a často i výstupy.

V Apexloopu proto dává smysl přemýšlet nejdřív o databázích a teprve potom o stránkách, které je vysvětlují nebo zobrazují.

Začněte agendou, ne dokonalým modelem

První verze modelu má pokrýt reálný proces, který tým používá každý týden. Typicky stačí tři až pět databází. Například CRM může začít databázemi Firmy, Kontakty, Obchody, Aktivity a E-maily. Projektové řízení může začít Projekty, Úkoly, Milníky, Riziky a Soubory.

U každé databáze si napište:

  • kdo záznam vytváří,
  • kdo ho vlastní,
  • jaké stavy prochází,
  • k čemu se vztahuje,
  • jaký report nebo výstup z něj vzniká.

Tím se vyhnete sloupcům, které se nikdy nepoužijí, a stránkám, které jen opakují data z gridu.

Sloupce vybírejte podle významu

Plain text se hodí pro jednoduché hodnoty, ale většina pracovních dat má přesnější typ. Čísla mohou nést jednotku nebo měnu, datumy určují plánování, person sloupec drží lidi i skupiny a files attachment sloupec uchovává přílohy. Rich text patří do popoveru buňky, když potřebujete krátký strukturovaný popis. Odkaz na dokumentovou stránku použijte ve chvíli, kdy má každý záznam vlastní dokument.

Speciální pozornost si zaslouží ID. Uživatelské ID s prefixem a autoincrement číslem je praktické pro faktury, požadavky, smlouvy nebo incidenty. Systémové GUID zůstává skryté a slouží pro jednoznačnou identitu.

Relace jsou kostra pracovního prostoru

Select a multiselect sloupce propojují záznamy s konkrétní databází. Record sloupec je polymorfní a může odkazovat na záznam z libovolné databáze. View sloupec ukáže filtrované související záznamy, například položky aktuální faktury nebo úkoly aktuálního projektu.

Backlinky přes related property používejte u vztahů, které mají být synchronní: „Subitem / Parent item“, „Blokuje / Blokováno“, „Firma / Kontakt“ nebo „Projekt / Zákazník“. Uživatel pak nemusí ručně doplňovat druhou stranu vztahu.

Slovníky patří do databází

Stavy, priority, segmenty, typy zakázek a důvody ztráty nedržte jen jako pevné seznamy. V Apexloopu se vyplatí udělat z nich samostatné databáze a používat je přes select nebo multiselect.

Díky tomu lze hodnoty popsat, filtrovat, anotovat, řadit a využít v pohledech i automatizacích. Když obchod přidá nový segment, nemusí se měnit struktura CRM. Přibude záznam ve slovníku.

Formule propojí úrovně dat

Formule umí vyplnit číslo, text, datum, boolean nebo person pole z kontextu záznamu. Když formule závisí na jiné formuli, vznikne kaskáda v rámci jednoho řádku. View sloupec navíc přidává do kontextu filtrované děti.

To umožňuje rollupy bez ručního opisování. Úkol spočítá náklad, projekt sčítá úkoly a firma sčítá projekty. Stejný princip funguje pro kapacitu, marži, otevřené blokery, splněnost nebo riziko.

Pohledy přizpůsobte roli

Datagrid je skvělý pro správu dat, ale není jediný pracovní režim. Kanban pomáhá řídit stav, calendar a schedule pracují s časem, timeline drží dlouhé plány, chart ukazuje agregace a gallery se hodí pro vizuální obsah.

Jeden datový model může mít více pohledů pro různé role. Finance sledují částky, obchod pipeline, projektový tým úkoly a vedení souhrn. Všichni přitom pracují se stejnými záznamy.

Dobrý model se pozná podle výstupů

Na konci návrhu se zeptejte, co má workspace umět vytvořit. Pokud má generovat fakturu, potřebujete číselnou řadu, zákazníka, položky, částky, adresu, QR kód a PDF šablonu. Pokud má posílat newsletter, potřebujete kampaň, segment, dokumentový obsah, termín a automatizaci pro převod do email-safe HTML.

Model není hotový, když má všechny sloupce. Je hotový, když z něj tým dokáže spolehlivě udělat další krok.