80 % bodů zdarma na online výuku díky naší Letní akci!
Pouze tento týden sleva až 80 % na e-learning týkající se PHP

Lekce 4 - Vytvoření modelu Easytask - část 1.

V minulé lekci, První spuštění systému ObjectGears, jsme provedli první spuštění systému ObjectGears, vytvoření prvního uživatele a prohlídku základních stránek pro správu systému.

V dnešní lekci začneme vytvářet první model. Jako příklad použijeme model EasyTask, který umožňuje menšímu týmu evidovat své úkoly, jednoduše je předávat mezi sebou a organizovat do sekcí.

Typy objektů v ObjectGears

Ještě než začneme, představíme si několik typů objektů používaných v systému ObjectGears:

  • Role - umožňuje přiřadit konkrétní uživatele k objektům (např. třídě, dotazu, stránce, tlačítku...). Toto řešení představuje best practice (Role-based access control - RBAC). Přiřazení uživatelů do rolí můžeme přejímat i z externího systému, např. ActiveDirectory.
  • Model - nejvyšší jednotka pro logické oddělení funkcionality do samostatných "bloků". V podstatě se jedná o aplikaci. ObjectGears umožňuje funkcionalitu rozdělit do modelů a ty spravovat samostatně. Můžeme tak mít model EasyTask, model pro incidenty, pro správu projektů nebo budov...
  • Třída - ekvivalent databázové tabulky, do které se ukládají záznamy s daty.
  • Sloupec - ekvivalent databázového sloupečku v databázové tabulce. Zde se sloupec vkládá do třídy. Každý sloupec má svůj typ, např. text, číslo, datum a odkaz.

Další typy objektů budou probrány v dalších lekcích. Pro začátek nám tento přehled postačí.

Řešení modelu EasyTask

Základem modelu bude třída Úkol, do které budou vkládány úkoly, které mají uživatelé řešit. Dále vytvoříme několik tříd fungujících jako číselníky - Stav a Sekce úkolu nebo Projekt. Pro přístup uživatelů k objektům v systému ObjectGears se používají výhradně role. Pro náš model vytvoříme tyto role:

  • EasyTask - administrátor - uživatel s touto rolí bude moci spravovat všechny třídy modelu
  • EasyTask - řešitel - řešitelé úkolů, budou moci vytvářet a upravovat jednotlivé úkoly
  • EasyTask - čtenář - role pro manažery, kteří nebudou řešit úkoly, ale potřebují mít přehled v jakém stavu jsou jednotlivé úkoly. Tato role bude mít jen oprávnění na čtení pro třídu Úkol.

Tyto role budou použity jen v tomto modelu. Proto mají prefix EasyTask. Pokud bychom chtěli používat role přes více modelů, pojmenujeme je univerzálně.

Krok 1 - Vytvoření rolí

Podle následujícího postupu vytvoříme tyto role:

Kód + Název v systému Název Popis
easytask_admin EasyTask - administrátor Administrátor má právo spravovat všechny objekty v modelu EasyTask.
easytask_solver EasyTask - řešitel Řešitel má právo spravovat úkoly.
easytask_reader EasyTask - čtenář Čtenář má právo pouze prohlížet úkoly.
  • Přejděme na stránku se seznamem rolí Správa / Řízení přístupu / Role.
  • Dole na toolbaru klikneme na tlačítko Nový.
  • Vyplníme všechna pole (viz. tabulka rolí nahoře).
  • Pole Ihned přiřadit uživateli a Povoleno ponecháme zaškrtnuté
  • Klikneme na tlačítko Uložit.

Pokud role budeme přebírat z externího systému (např. ActiveDirectory), pak pro pole Kód a Název v systému použijeme název role z daného systému.

Krok 2 - Vytvoření modelu

Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!

Model bude v administraci vypadat nějak takto:

Vytvoříme si tedy jeden model podle následujícího postupu:

  • Přejděme na stránku se seznamem modelů Správa / Modely / Modely.
  • Dole na toolbaru klikneme na tlačítko Nový.
  • Vyplníme následující pole:
    • Kód = easytask
    • Název = EasyTask
    • Povoleno = zaškrtneme
  • Dole na toolbaru klikneme na tlačítko Uložit a zůstat. Tím se model uloží a zpřístupní se nám další záložky.
  • Na záložce Role a zobrazení v sekci Seznam rolí vybereme postupně všechny tři role "EasyTask..." a klikneme na tlačítko Přidat.
  • Pak už jen dole na toolbaru klikneme na tlačítko Uložit.

Krok 3 - Vytvoření třídy

V modelu EasyTask, který je v instalačním balíčku „ObjectGears 1.9.0.0 s modely EN“, je více tříd. Zde si pro příklad vytvoříme jen několik tříd.

Nejprve vytvoříme číselníky, tedy třídy, na které se budou odkazovat ostatní. Vytvoříme je takto:

  • Na stránce s detailem modelu EasyTask klikneme na spodním toolbaru vpravo na tlačítko Třídy.
  • Dole na toolbaru klikneme na tlačítko Vytvořit číselníky. Tento způsob vytvoření tříd je vhodný pro třídy, které mají stejnou strukturu, typicky číselníky. Všechny tak lze vytvořit najednou.
  • Na stránce do pole Hodnoty pro číselníky vložíme kód třídy a její název. Na každý řádek jedna třída:
sekceukolu;Sekce úkolu
stavukolu;Stav úkolu
projekt;Projekt
  • V sekci Univerzální sloupce zaškrtneme sloupce Název, Popis a Pořadí.

Vyplněný formulář bude tedy vypadat takto:

Teď stačí pouze kliknout na tlačítko Vytvořit číselníky.

Systém ObjectGears vytvořil naše první tři třídy a přesměroval nás na seznam tříd v modelu:

Nyní vytvoříme hlavní třídu pro úkoly. Postup je následující:

  • Na stránce se seznamem tříd klikneme na tlačítko Nový.
  • Do pole Kód zadáme "ukol" a do pole Jméno zase zadáme "Úkol".
  • V poli Způsob mazání záznamů nastavíme Logické mazání záznamů. Záznam tak bude možné smazat, ale zůstane v databázi pro případné dohledání.
  • Přejděme na záložku Role a zobrazení a v sekci Seznam rolí vybereme postupně všechny tři role a podle tabulky níže každé roli přiřadíme operace. Tlačítkem Přidat je pak přidáme ke třídě.
EasyTask – administrátor zaškrtneme všechny operace
EasyTask – řešitel zaškrtneme operace Čtení, vkládání, změna a mazání dat
EasyTask – čtenář zaškrtneme operaci Čtení dat
  • Tlačítkem Uložit a zůstat (zobrazí se po najetí myši na tlačítko Uložit) dole na toolbaru třídu uložíme nebo vytvoříme

Krok 4 – Vytvoření sloupce třídy Úkol

Nyní je vytvořena třída Úkol, ale obsahuje pouze systémové sloupce. My však potřebujeme vytvořit vlastní sloupečky pro vkládání dat.

  • Na stránce se seznamem tříd na toolbaru dole vpravo klikneme na tlačítko Sloupce.

Pokud si na zobrazené stránce se sloupci třídy Úkol (kde ještě žádné sloupce nevidíme) odškrtneme volbu Zobrazit bez systémových sloupců, zobrazí se nám 11 systémových sloupců sloužících pro identifikaci záznamu a audit.

  • Klikneme na tlačítko Nový dole na toolbaru a začneme vytvářet nové sloupce
  • Nejdříve využijeme možnosti vytvořit sloupce z již předpřipravených (podobně jako jsme to provedli u číselníků). Na stránce dole zaškrtneme sloupce Název, Popis a Přiřazeno. Pak klikneme na tlačítko Vytvořit vybrané sloupce.
  • Sloupečky se vytvoří a systém nám zobrazí seznam všech sloupců ve třídě.
  • Nyní opět klikneme na tlačítko Nový a vytvoříme sloupce pro odkaz na číselníky Sekce, Stav úkolu a Projekt.
  • Vybereme typ Číselníková hodnota.
  • Na stránce s detailem sloupce vyplníme do pole:
Kód = sekce
Název = Sekce
Typ vazby = Vazba na jeden záznam z referencované třídy
Referencovaná třída = EasyTask – Sekce úkolu
  • Na toolbaru klikneme na tlačítko Uložit.
  • Stejně budeme postupovat i pro sloupec Stav úkolu s následujícími hodnotami:
Kód = stav
Název = Stav
Typ vazby = Vazba na jeden záznam z referencované třídy
Referencovaná třída = EasyTask – Stav úkolu
  • Zase stejně budeme postupovat i pro sloupec Projekt s následujícími hodnotami:
Kód = projekt
Název = Projekt
Typ vazby = Vazba na jeden záznam z referencované třídy
Referencovaná třída = EasyTask – Project

Výsledný seznam sloupců by měl vypadat následovně:

Hodnoty ID a Sloupec v DB se přidělují automaticky, a tak mohou být u každého odlišné.

Můžeme si všimnout odkazu ve sloupci Informace o odkazu. Jednoduchým proklikem se dostaneme na seznam sloupců referencované třídy. Takto lze procházet celé datové schéma.

Krok 5 – Přiřazení rolí třídám

Pokud chceme, aby mohli uživatelé prohlížet či měnit obsah tříd, musíme třídám přiřadit příslušné role. U třídy Úkol jsme to udělali přímo v její definici. Pro číselníkové třídy použijeme jiný postup, který je rychlejší pro více tříd najednou.

  • Přejdeme na stránku s detailem modelu (Správa / Modely / Modely, klikneme na ID modelu EasyTask)
  • Na toolbaru dole je tlačítko Model, po najetí myší nad něj vybereme položku Správa rolí
  • Na této stránce můžeme hromadně přiřazovat role nejen pro třídy, ale i pro dotazy, stránky, importy a exporty v daném modelu.
  • Na záložce Třídy v poli Role vybereme EasyTask – administrátor a zaškrtneme všechny operace.
  • V seznamu tříd dole na stránce zaškrtneme třídy Projekt, Sekce úkolu a Stav úkolu
  • Klikneme na tlačítko Přiřadit role ke všem vybraným třídám.

Tak a máme hotové datové schéma. Zároveň se nám vytvořily i formuláře pro zobrazování dat.


 

Předchozí článek
První spuštění systému ObjectGears
Všechny články v sekci
Systém ObjectGears
Článek pro vás napsal Jan Stodůlka
Avatar
Jak se ti líbí článek?
Ještě nikdo nehodnotil, buď první!
Autor se věnuje programování v C# a MS SQL serveru.
Aktivity (3)

 

 

Komentáře

Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zatím nikdo nevložil komentář - buď první!