4. diel - Vytvorenie modelu Easytask - časť 1.
V minulej lekcii, Prvé spustenie systému ObjectGears , sme vykonali prvé spustenie systému ObjectGears, vytvorenie prvého užívateľa a prehliadku základných stránok pre správu systému.
V dnešnej lekcii začneme vytvárať prvý model. Ako príklad použijeme model EasyTask, ktorý umožňuje menšiemu tímu evidovať svoje úlohy, jednoducho ich odovzdávať medzi sebou a organizovať do sekcií.
Typy objektov v ObjectGears
Ešte než začneme, predstavíme si niekoľko typov objektov používaných v systéme ObjectGears:
- Úloha - umožňuje priradiť konkrétnych užívateľov k objektom (napr. Triede, dotazu, stránke, tlačidlu ...). Toto riešenie predstavuje best practice (Role-based access control - RBAC). Priradenie užívateľov do rolí môžeme preberať aj z externého systému, napr. ActiveDirectory.
- Model - najvyššia jednotka pre logické oddelenie funkcionality do samostatných "blokov". V podstate sa jedná o aplikáciu. ObjectGears umožňuje funkcionalitu rozdeliť do modelov a tie spravovať samostatne. Môžeme tak mať model EasyTask, model pre incidenty, pre správu projektov alebo budov ...
- Trieda - ekvivalent databázovej tabuľky, do ktorej sa ukladajú záznamy s dátami.
- Stĺpec - ekvivalent databázového stĺpčeku v databázovej tabuľke. Tu sa stĺpec vkladá do triedy. Každý stĺpec má svoj typ, napr. Text, číslo, dátum a odkaz.
Ďalšie typy objektov budú prebrané v ďalších lekciách. Pre začiatok nám tento prehľad postačí.
Riešenie modelu EasyTask
Základom modelu bude trieda Úloha, do ktorej budú vkladať úlohy, ktoré majú používatelia riešiť. Ďalej vytvoríme niekoľko tried fungujúcich ako číselníky - Stav a Sekcia úlohy alebo Projekt. Pre prístup užívateľov k objektom v systéme ObjectGears sa používajú výhradne role. Pre náš model vytvoríme tieto role:
- EasyTask - administrátor - používateľ s touto rolou bude môcť spravovať všetky triedy modelu
- EasyTask - riešiteľ - riešitelia úloh, budú môcť vytvárať a upravovať jednotlivé úlohy
- EasyTask - čitateľ - rola pre manažérov, ktorí nebudú riešiť úlohy, ale potrebujú mať prehľad v akom stave sú jednotlivé úlohy. Táto úloha bude mať len oprávnenie na čítanie pre triedu Úloha.
Tieto roly budú použité len v tomto modeli. Preto majú prefix EasyTask. Ak by sme chceli používať role cez viac modelov, pomenujeme je univerzálne.
Krok 1 - Vytvorenie rolí
Podľa nasledujúceho postupu vytvoríme tieto role:
Kód + Názov v systéme | Názov | popis |
easytask_admin | EasyTask - administrátor | Administrátor má právo spravovať všetky objekty v modeli EasyTask. |
easytask_solver | EasyTask - riešiteľ | Riešiteľ má právo spravovať úlohy. |
easytask_reader | EasyTask - čitateľ | Čitateľ má právo iba prezerať úlohy. |
- Dole na toolbaru klikneme na tlačidlo Nový.
- Vyplníme všetky polia (viz. Tabuľka rolí hore).
- Pole Ihneď priradiť užívateľovi a Povolené ponecháme zaškrtnuté
- Klikneme na tlačidlo Uložiť.
Pokiaľ role budeme preberať z externého systému (napr. ActiveDirectory), potom pre pole Kód a Názov v systéme použijeme názov role z daného systému.
Krok 2 - Vytvorenie modelu
Model bude v administrácii vyzerať nejako takto:
Vytvoríme si teda jeden model podľa nasledujúceho postupu:
- Prejdime na stránku so zoznamom modelov Správa / Modely / Modely.
- Dole na toolbaru klikneme na tlačidlo Nový.
- Vyplníme nasledujúce polia: Kód = easytask
Názov = EasyTask
Povolené = zaškrtneme
- Kód = easytask
- Názov = EasyTask
- Povolené = zaškrtneme
- Dole na toolbaru klikneme na tlačidlo Uložiť a zostať. Tým sa model uloží a sprístupní sa nám ďalší záložky.
- Na záložke Úloha a zobrazenie v sekcii Zoznam rolí vyberieme postupne všetky tri roly "EasyTask ..." a klikneme na tlačidlo Pridať.
- Potom už len dole na toolbaru klikneme na tlačidlo Uložiť.
Krok 3 - Vytvorenie triedy
V modeli EasyTask, ktorý je v inštalačnom balíku "ObjectGears 1.9.0.0 s modelmi EN", je viac tried. Tu si pre príklad vytvoríme len niekoľko tried.
Najprv vytvoríme číselníky, teda triedy, na ktoré sa budú odkazovať ostatní. Vytvoríme je takto:
- Na stránke s detailom modelu EasyTask klikneme na spodnom toolbaru vpravo na tlačidlo Triedy.
- Dole na toolbaru klikneme na tlačidlo Vytvoriť číselníky. Tento spôsob vytvorenia tried je vhodný pre triedy, ktoré majú rovnakú štruktúru, typicky číselníky. Všetky tak možno vytvoriť naraz.
- Na stránke do poľa Hodnoty pre číselníky vložíme kód triedy a jej názov. Na každý riadok jedna trieda:
sekceukolu;Sekcia úlohy stavukolu;Stav úlohy projekt;Projekt
- V sekcii Univerzálny stĺpca zaškrtneme stĺpca Názov, Popis a Poradie.
Vyplnený formulár bude teda vyzerať takto:
Teraz stačí len kliknúť na tlačidlo Vytvoriť číselníky.
Systém ObjectGears vytvoril naše prvé tri triedy a presmeroval nás na zoznam tried v modeli:
Teraz vytvoríme hlavnú triedu pre úlohy. Postup je nasledujúci:
- Na stránke so zoznamom tried klikneme na tlačidlo Nový.
- Do poľa Kód zadáme "uloha" a do poľa Meno zase zadáme "Úloha".
- V poli Spôsob mazanie záznamov nastavíme Logické mazanie záznamov. Záznam tak bude možné zmazať, ale zostane v databáze pre prípadné dohľadanie.
- Prejdime na záložku Úloha a zobrazenia a v sekcii Zoznam rolí vyberieme postupne všetky tri roly a podľa tabuľky nižšie každej úlohe priradíme operácie. Tlačidlom Pridať je potom pridáme k triede.
EasyTask - administrátor | zaškrtneme všetky operácie |
EasyTask - riešiteľ | zaškrtneme operácie Čítanie, vkladanie, zmena a mazanie dát |
EasyTask - čitateľ | zaškrtneme operáciu Čítanie dát |
Krok 4 - Vytvorenie stĺpce triedy Úloha
Teraz je vytvorená trieda Úloha, ale obsahuje iba systémové stĺpce. My však potrebujeme vytvoriť vlastné stĺpčeky pre vkladanie dát.
- Na stránke so zoznamom tried na toolbaru dole vpravo klikneme na tlačidlo Stĺpce.
Pokiaľ si na zobrazenej stránke sa stĺpci triedy Úloha (kde ešte žiadne stĺpce nevidíme) odškrtnite voľbu Zobraziť bez systémových stĺpcov, zobrazí sa nám 11 systémových stĺpcov slúžiacich pre identifikáciu záznamu a audit.
- Klikneme na tlačidlo Nový dole na toolbaru a začneme vytvárať nové stĺpce
- Najskôr využijeme možnosti vytvoriť stĺpce z už predpripravených (podobne ako sme to urobili u číselníkov). Na stránke dole zaškrtneme stĺpca Názov, Popis a Priradené. Potom klikneme na tlačidlo Vytvoriť vybrané stĺpce.
- Stĺpčeky sa vytvorí a systém nám zobrazí zoznam všetkých stĺpcov v triede.
- Teraz opäť klikneme na tlačidlo Nový a vytvoríme stĺpce pre odkaz na číselníky Sekcia, Stav úlohy a Projekt.
- Vyberieme typ Číselníkové hodnota.
- Na stránke s detailom stĺpca vyplníme do poľa:
Kód = sekcia Názov = Sekcia Typ väzby = Väzba na jeden záznam z odkazujúce triedy Referencovania trieda = EasyTask - Sekcia úlohy
- Na toolbaru klikneme na tlačidlo Uložiť.
- Rovnako budeme postupovať aj pre stĺpec Stav úlohy s nasledovnými hodnotami:
Kód = stav Názov = Stav Typ väzby = Väzba na jeden záznam z odkazujúce triedy Referencovania trieda = EasyTask - Stav úlohy
- Zase rovnako budeme postupovať aj pre stĺpec Projekt s nasledovnými hodnotami:
Kód = projekt Názov = Projekt Typ väzby = Väzba na jeden záznam z odkazujúce triedy Referencovania trieda = EasyTask – Project
Výsledný zoznam stĺpcov by mal vyzerať nasledovne:
Hodnoty ID a Stĺpec v DB sa prideľujú automaticky, a tak môžu byť u každého odlišné.
Môžeme si všimnúť odkazu v stĺpci Informácie o odkaze. Jednoduchým preklikom sa dostaneme na zoznam stĺpcov odkazujúce triedy. Takto možno prechádzať celé dátové schému.
Krok 5 - Priradenie rolí triedam
Ak chceme, aby mohli užívatelia prezerať alebo meniť obsah tried, musíme triedam priradiť príslušné úlohy. U triedy Úloha sme to urobili priamo v jej definícii. Pre číselníkové triedy použijeme iný postup, ktorý je rýchlejší pre viac tried naraz.
- Prejdeme na stránku s detailom modelu (Správa / Modely / Modely, klikneme na ID modelu EasyTask)
- Na toolbaru dole je tlačidlo Model, po nabehnutí myšou nad neho vyberieme položku Správa rolí
- Na tejto stránke môžeme hromadne priraďovať role nielen pre triedy, ale aj pre otázky, stránky, importy a exporty v danom modeli.
- Na záložke Triedy v poli Úloha vyberieme EasyTask - administrátor a zaškrtneme všetky operácie.
- V zozname tried bani na stránke zaškrtneme triedy Projekt, Sekcia úlohy a Stav úlohy
- Klikneme na tlačidlo Priradiť roly ku všetkým vybraným triedam.
Tak a máme hotové dátové schému. Zároveň sa nám vytvorili aj formuláre pre zobrazovanie dát.
V ďalšej lekcii, Objekty systému ObjectGears - Model , si popíšeme objekt Model, ktorý je základnou pre vytváranie "aplikácií" v systéme ObjectGears.