1. Základní informace

  • Editační formulář je grafické rozhraní určené k práci s jedním databázovým záznamem. Slouží buď k vytvoření nového záznamu v databázi, nebo k editaci již existujícího záznamu.
  • Každý editační formulář má právě jednu přidruženou databázovou tabulku, do které se ukládají uživatelská data vyplňovaná ve formuláři. Název databázové tabulky je automaticky odvozen z názvu editačního formuláře a vždy začíná prefixem „ng_”.
  • Vytváření i následné úpravy struktury přidružené databázové tabulky probíhají plně automaticky na základě konfigurace editačního formuláře a jeho ovládacích prvků. Databázová struktura se tedy nikdy neupravuje ručně, ale je řízena výhradně nastavením formuláře.
  • Každá přidružená databázová tabulka obsahuje sadu systémových databázových sloupců, které tvoří základ aplikační logiky:
    • „id” – primární klíč databázového záznamu, s datovým typem „int NOT NULL” nebo „long NOT NULL” podle nastavení editačního formuláře.
    • „system” – příznak systémového záznamu. Hodnota „True” označuje záznam, který není možné smazat (např. systémové záznamy uživatelů NET Genia).
    • „pid” – identifikátor rodičovského databázového záznamu, používaný pro hierarchické vazby.
    • „pform” – identifikátor editačního formuláře, ve kterém se nachází rodičovský záznam.
    • „userid” – identifikátor uživatele, který databázový záznam vytvořil a je jeho vlastníkem.

1.1. Ovládací prvky editačního formuláře

  • Editační formulář se skládá z databázových a vizuálních ovládacích prvků.
    • Databázový ovládací prvek má vždy přiřazen jeden databázový sloupec v přidružené tabulce, do kterého se ukládají hodnoty zadané uživatelem. Aby měl editační formulář smysl, musí obsahovat alespoň jeden databázový ovládací prvek.
    • Vizuální ovládací prvky slouží pouze k prezentaci nebo ovládání aplikace a neukládají žádná data. Patří sem například nadpisy, nahlížecí tabulky, tlačítka, grafické oddělovače nebo dekorativní prvky.
    • Součástí každého editačního formuláře je automaticky ovládací prvek „ActionButtons”, který obsahuje tři základní tlačítka: „Uložit”, „Smazat” a „Zpět”. Detailní popis tohoto prvku je uveden v samostatné příručce ActionButtons – Ovládací prvek v editačním formuláři.
  • Ovládací prvky jsou ve formuláři standardně řazeny pod sebou, případně mohou být opticky seskupeny do více sloupců pomocí přichytávání k předchozím prvkům. Mezi databázovými ovládacími prvky lze přecházet klávesou „TAB” směrem dolů a kombinací „SHIFT+TAB” směrem nahoru.
  • K ovládacím prvkům editačního formuláře je možné přistupovat pomocí JavaScriptu a dynamicky tak měnit jejich vlastnosti, chování nebo hodnoty. U databázových ovládacích prvků je možné číst i nastavovat hodnoty textových polí, rozbalovacích seznamů a dalších prvků, pokud je znám jejich identifikátor v objektovém modelu HTML dokumentu.

1.2. Oprávnění ke vstupu do editačního formuláře

  • Do editačního formuláře lze vstoupit výhradně prostřednictvím navigačních prvků umístěných na nahlížecích stránkách nebo v jiných editačních formulářích.
  • Pro vytvoření nového databázového záznamu může uživatel otevřít editační formulář několika způsoby:
    • Tlačítkem umístěným na nahlížecí stránce nebo v jiném editačním formuláři, které přesměruje uživatele do konkrétního formuláře. Tento způsob se nastavuje ve vlastnostech ovládacího prvku „Button” nebo v jeho skriptu pomocí funkce „SCHEDULEFORM”.
    • Prostřednictvím nahlížecí tabulky, která zobrazuje data daného editačního formuláře. Tato možnost je dostupná povolením ikony „Nový záznam…” ve vlastnostech nahlížecí tabulky.
    • Pomocí dalších vizuálních ovládacích prvků, jako je kalendář, plánovací vícezdrojový kalendář, rozvrh hodin, ganttův diagram nebo stromová struktura, pokud je v jejich nastavení povoleno vytváření nových záznamů.
    • Přímým vstupem z nahlížecí stránky, která je nastavena tak, aby uživatele přesměrovala do konkrétního editačního formuláře.
  • Pro editaci již existujícího databázového záznamu může uživatel otevřít editační formulář:
    • Kliknutím na ikonu tužky v nahlížecí tabulce.
    • Prostřednictvím vizuálních ovládacích prvků, které umožňují otevření detailu záznamu (např. kliknutím na položku v kalendáři, mapě, ganttově diagramu nebo stromové struktuře).
    • Tlačítkem s definovaným skriptem „SCHEDULEFORM”, které otevře konkrétní databázový záznam.
    • Pomocí nahlížecí stránky nastavené tak, aby vždy otevřela první záznam daného editačního formuláře.

1.3. Oprávnění k zobrazení obsahu editačního formuláře

  • Samotný editační formulář nemá samostatné oprávnění na zobrazení. Viditelnost formuláře je odvozena od oprávnění k jeho vnitřním ovládacím prvkům.
  • Editační formulář se zobrazí pouze tehdy, pokud obsahuje alespoň jeden ovládací prvek, ke kterému má aktuálně přihlášený uživatel oprávnění. V opačném případě se zobrazí pouze přihlašovací obrazovka.
  • Každý ovládací prvek může mít nastaveny konkrétní uživatelské skupiny nebo jednotlivé uživatele, kteří jej mohou vidět a používat. Ostatní uživatelé ovládací prvek neuvidí a nemohou s ním pracovat.
  • Pokud uživatel vytvoří nový databázový záznam a nemá oprávnění k některým databázovým ovládacím prvkům, budou odpovídající databázové sloupce uloženy s hodnotou „null”.

1.4. Vlastnictví záznamů

  • Každá databázová tabulka obsahuje sloupec „userid”, který uchovává identifikátor uživatele, jenž databázový záznam vytvořil a je jeho vlastníkem.
  • Databázové záznamy, které byly importovány nebo vytvořeny externí aplikací, nemusí mít hodnotu sloupce „userid” vyplněnou. Takové záznamy se považují za záznamy bez vlastníka.
  • Vlastníkem záznamu bez vyplněného vlastníka se stane ten uživatel, který daný záznam poprvé otevře v editačním formuláři a uloží jej.

1.5. Spoluvlastnictví záznamů

  • Databázové záznamy mohou mít kromě jednoho vlastníka také jednoho nebo více spoluvlastníků.
  • Spoluvlastníky mohou být jednotliví uživatelé i celé uživatelské skupiny.
  • Informace o spoluvlastnictví se nenastavuje na úrovni jednotlivých databázových záznamů, ale na úrovni databázové tabulky, resp. editačního formuláře jako celku.
  • Pro editaci existujícího databázového záznamu a jeho uložení je vyžadováno vlastnictví nebo alespoň spoluvlastnictví daného záznamu.
  • Není-li uživatel vlastníkem ani spoluvlastníkem záznamu, nemá oprávnění provádět změny tohoto záznamu.
  • Spoluvlastnictví nemá vliv na vytváření nových databázových záznamů. Vlastníkem nového záznamu se vždy stává uživatel, který záznam v editačním formuláři uloží.

1.6. Oprávnění k zobrazení hodnoty ovládacího prvku

  • Viditelnost hodnot databázového ovládacího prvku může být řízena vlastnictvím nebo spoluvlastnictvím databázového záznamu.
  • Právo na zobrazení hodnoty databázového ovládacího prvku se nastavuje přímo ve vlastnostech daného ovládacího prvku.
  • Ovládací prvek může být nastaven jedním z následujících způsobů:
    • hodnota je zobrazena všem uživatelům (výchozí stav),
    • hodnota je zobrazena pouze vlastníkovi nebo spoluvlastníkovi záznamu.
  • Pokud uživatel nemá právo na zobrazení hodnoty ovládacího prvku, ovládací prvek se v editačním formuláři nezobrazuje a uživatel nemá možnost hodnotu zobrazit ani vyplnit.

1.7. Oprávnění k uložení záznamu

  • Oprávnění k uložení databázového záznamu je podmíněno oprávněním k editaci a současně vlastnictvím nebo spoluvlastnictvím záznamu.
  • Právo na editaci se nastavuje přímo ve vlastnostech editačního formuláře.
  • Editační formulář může být nastaven jedním z následujících režimů:
    • oprávnění k editaci má vlastník i spoluvlastník záznamu,
    • oprávnění k editaci má pouze spoluvlastník záznamu (výchozí nastavení).

1.8. Oprávnění ke smazání záznamu

  • Oprávnění ke smazání databázového záznamu je podmíněno oprávněním k editaci a současně oprávněním ke všem databázovým ovládacím prvkům editačního formuláře.
  • Uživatel může databázový záznam smazat pouze tehdy, pokud:
    • má oprávnění k editaci záznamu a
    • má právo ke všem databázovým ovládacím prvkům editačního formuláře.
  • Uživatel nemůže databázový záznam smazat, pokud:
    • nemá oprávnění k editaci záznamu nebo
    • se v editačním formuláři nachází alespoň jeden databázový ovládací prvek, ke kterému nemá oprávnění.

1.9. Identifikátory ovládacích prvků

  • Identifikátor ovládacího prvku představuje odkaz na databázový ovládací prvek v objektovém modelu HTML dokumentu a současně určuje název databázového sloupce, do kterého jsou ukládány hodnoty zadané ve formuláři.
  • Identifikátor je odvozen z názvu ovládacího prvku a začíná prefixem „ng_”. Systémové ovládací prvky prefix „ng_” nepoužívají.
  • Identifikátor ovládacího prvku je dostupný na záložce „Administrace” ve vlastnostech ovládacího prvku.
  • Identifikátory lze používat:
    • v JavaScriptu ve webovém prohlížeči,
    • ve skriptech na straně serveru,
    • v databázových podmínkách a join ech,
    • v ovládacím prvku „HTML”,
    • v tiskových šablonách.

1.10. Zamykání záznamů

  • Databázové záznamy otevřené v editačním formuláři mohou být zamykány tak, aby je mohl v jeden okamžik editovat pouze jeden uživatel.
  • Uživatel, který záznam otevře jako první, jej automaticky uzamkne.
  • Zámek se po dobu práce v editačním formuláři automaticky prodlužuje a je uvolněn při opuštění formuláře.
  • Délka platnosti zámku se nastavuje v minutách ve vlastnostech editačního formuláře a hraje roli zejména při technických problémech (zavření záložky, ztráta připojení apod.).
  • Zamčené záznamy jsou v nahlížecích tabulkách označeny ikonou zámku s informací o uživateli, který záznam uzamkl, a o době platnosti zámku.
  • Zamčený záznam lze otevřít i jiným uživatelem, avšak editační formulář je v takovém případě dostupný pouze pro čtení.

1.11. Historie a sledování změn

  • Ke každému editačnímu formuláři existuje automaticky generovaná databázová tabulka historie s názvem ve tvaru „ng_formular_history”.
  • Struktura tabulky historie odpovídá struktuře hlavní tabulky a je rozšířena o systémové sloupce:
    • „date” – datum změny,
    • „userid” – uživatel, který změnu provedl,
    • „action” – ID skriptu, kterým byla změna provedena,
    • „changedid” – ID změněného záznamu,
    • „created” – příznak vytvoření záznamu,
    • „deleted” – příznak smazání záznamu.
  • Vytvoření, úprava i smazání databázového záznamu vždy generuje odpovídající záznam v historii.
  • Protokolování historie je ve výchozím stavu zapnuto a lze jej vypnout v nastavení editačního formuláře.

1.12. Synchronizace databázových tabulek

  • Synchronizace slouží k udržování konzistentní kopie databázových tabulek mezi více instalacemi NET Genia.
  • Podporována je jednosměrná i obousměrná (multiple master) synchronizace.
  • Při obousměrné synchronizaci jsou změny prováděny ve stejném pořadí, v jakém byly iniciovány na zdrojovém serveru.

2. Seznam záložek v dialogu nastavení editačního formuláře

  • Obecné – Nastavení obecných vlastností
  • Ostatní – Nastavení primárního klíče, zámků, sledování změn a javascriptu
  • Nápověda – Nastavení textu plovoucí nápovědy a seskupování ovládacích prvků
  • Práva na editaci – Nastavení práv
  • Práva podřízených objektů – Nastavení práv podřízených ovládacích prvků
  • Administrace – Nastavení ostatních vlastností

2.1. Záložka „Obecné”

ef-obecné.png

2.1.1. Název

  • Název editačního formuláře určuje ideálně v jednotném čísle vyjádřené pojmenování jednoho databázového záznamu, který je uložen v databázové tabulce přidružené k formuláři.
  • Název editačního formuláře se zobrazuje v titulku záložky webového prohlížeče.

2.1.2. Slovník

  • Slovník zobrazuje seznam názvů aplikačních skupin, aplikací, kategorií, nahlížecích stránek, editačních formulářů a ovládacích prvků použitých napříč celou aplikací.
  • Vyhledávání ve slovníku slouží k navržení správného názvu editačního formuláře a k udržení konzistence názvosloví v celé aplikaci.

2.1.3. Možnosti

  • Tab Obecné + Ostatní
    • Zaškrtnutí tohoto pole určuje, zda mají být při vytvoření nového editačního formuláře vytvořeny také ovládací prvky záložek „Tab” a „Ostatní”.
  • Sledování změn + Watcher
    • Zaškrtnutí tohoto pole určuje, zda mají být při vytvoření nového editačního formuláře vytvořeny také ovládací prvky pro sledování změn:
      • Ovládací prvek „History”
      • Ovládací prvek „Watcher”
        • Zadáno kým
        • Zadáno kdy
        • Změněno kým
        • Změněno kdy

2.1.4. Zadejte sloupce vaší nové tabulky

  • Pole „Zadejte sloupce vaší nové tabulky” umožňuje vytvoření nových ovládacích prvků v editačním formuláři.
  • Jednotlivé názvy sloupců jsou zapisovány po řádcích, oddělené enterem, přičemž každý řádek představuje jeden sloupec tabulky.
  • Za název sloupce je možné uvést také datový typ, který je zapsán za dvojtečku a mezeru hned po názvu sloupce:
    • string
      • Tlačítko v průvodci pro rychlé zvolení tohoto typu: Textový řetězec
      • Cílový ovládací prvek: TextBox
      • Datový typ: Textový řetězec
      • Šířka: 150 px
      • Maximální délka: 100 znaků
    • integer
      • Tlačítko v průvodci pro rychlé zvolení tohoto typu: Celé číslo
      • Cílový ovládací prvek: TextBox
      • Datový typ: Celé číslo
      • Šířka: 150 px
      • Maximální délka: 100 znaků
      • Zarovnání: Vlevo
    • double
      • Tlačítko v průvodci pro rychlé zvolení tohoto typu: Desetinné číslo
      • Cílový ovládací prvek: TextBox
      • Datový typ: Desetinné číslo
      • Šířka: 150 px
      • Maximální délka: 100 znaků
      • Zarovnání: Vlevo
    • date
      • Tlačítko v průvodci pro rychlé zvolení tohoto typu: Datum
      • Cílový ovládací prvek: TextBox
      • Datový typ: Datum
      • Šířka: 150 px
      • Maximální délka: 50 znaků
    • file
      • Tlačítko v průvodci pro rychlé zvolení tohoto typu: Soubor
      • Cílový ovládací prvek: File
    • image
      • Tlačítko v průvodci pro rychlé zvolení tohoto typu: Obrázek
      • Cílový ovládací prvek: Image
  • Datový typ je volitelná informace, při neuvedení datového typu je automaticky zvolen textový řetězec.

2.1.5. Přidat nové sloupce

  • Do již vytvořeného a uloženého editačního formuláře lze přidat nové sloupce po zaškrtnutí možnosti „Přidat nové sloupce”.

ef-obecné-přidat-sloupce.png

  • Umístění vložených ovládacích prvků do formuláře se řídí tím, zda je před úpravou editačního formuláře, resp. před stisknutím ikony ozubeného kolečka, označena konkrétní pozice:
    • Bez označení – vložení ovládacích prvků na konec editačního formuláře
    • S označením místa pomocí horizontální linie – vložení ovládacích prvků na předem určenou pozici

2.2. Záložka „Ostatní”

Obrázek.png

2.2.1. Primární klíč

  • Primární klíč určuje datový typ primárního klíče – databázového sloupce "id", který je součástí každé databázové tabulky v NET Geniu.
  • Datový typ primárního klíče může být kdykoliv změněn z Integeru na Long, zpětná změna z Long na Integer však není možná.
  • Před změnou primárního klíče na Long je důležité zajistit správnou funkcionalitu externích funkcí, služeb nebo ostatních aplikací, které s databázovou tabulkou pracují. Především jde o objekty DataSaver nebo DataSaverSynchro, které musí být změněny na DataSaver2 a DataSaverSynchro2.

2.2.2. Zamykání záznamů

  • Databázové záznamy otevřené v editačním formuláři mohou být nastaveny tak, aby je v jednu chvíli mohl editovat pouze jeden uživatel.
  • Uživatel, který databázový záznam otevře jako první, záznam automaticky zamyká. Během práce v editačním formuláři se zámek automaticky prodlužuje, dokud uživatel editační formulář neopustí. Při opuštění editačního formuláře se zámek ihned automaticky uvolní.
  • Zamykání záznamů se definuje v nastavení editačního formuláře zadáním časového intervalu v minutách, během kterého má být zámek aktivní. Délka časového intervalu hraje roli pouze při technických problémech uživatele, díky kterým nemůže docházet k automatickému prodlužování zámku během celé doby práce uživatele s daným databázovým záznamem v editačním formuláři. Typicky jde o otevření jiné záložky webového prohlížeče, zavření aktuální záložky křížkem, spuštění jiné aplikace na mobilním telefonu, nebo o výpadky internetu. V případě technických problémů tedy dojde k automatickému uvolnění zámku až po uplynutí zvoleného časového intervalu od posledního automatického prodloužení zámku. Délka časového intervalu tedy určuje dobu, po kterou bude zámek aktivní i v případě výpadku spojení mezi klientem a serverem.
  • Zamčené záznamy mají v nahlížecí tabulce místo ikony lupy, která slouží k otevření databázového záznamu, ikonu zámku. Ikona zámku obsahuje tooltip s informací, kdo záznam uzamknul, a do kdy je zámek aktivní. I tak je však možné databázový záznam pomocí ikony zámku otevřít, ostatním uživatelům se editační formulář se zamčeným záznamem zobrazuje pouze ke čtení bez možnosti editace.

2.2.3. Možnosti

  • Protokolovat otevírání záznamů
    • Zaškrtnutí tohoto pole určuje, zda má být každé otevření databázového záznamu v editačním formuláři zaznamenáno do historie sledování změn.
  • Zakázat protokolování historie záznamů
    • Zaškrtnutí tohoto pole určuje, zda má být zakázáno protokolování historie databázových záznamů.
    • Úplné, nebo třeba jen dočasné vypnutí protokolování, se doporučuje před hromadnou úpravou nebo mazáním databázových záznamů, kdy každá změna nebo smazání databázového záznamu vytvoří jeden záznam v historii sledování změn.
  • Zakázat JavaScript
    • Zaškrtnutí tohoto pole určuje, zda má být zakázáno spouštění javascriptových událostí ovládacích prvků, a zároveň generování obsahu ovládacích prvků JavaScript.
    • Této možnosti se využívá v situacích, kdy dojde k zacyklení editačního formuláře nevhodným javascriptem. V některých případech dokonce není možné nastavení editačního formuláře otevřít běžným způsobem, a je nutné k tomu použít reporty. Detailní popis reportů je uveden v samostatné příručce Reporty.

2.3. Záložka „Nápověda”

Obrázek.png

2.3.1. Šířka plovoucí nápovědy

  • Šířka plovoucí nápovědy určuje šířku boxu s nápovědou k editačnímu formuláři umístěného v pravém horním rohu formuláře. Tento box se zobrazuje nezávisle na vertikálním skrolování v editačním formuláři.
  • Součástí plovoucího boxu je také obsah všech ovládacích prvků „RichText” a „HTML” se zaškrtnutým polem „Plovoucí nápověda v editačním formuláři”. Tento obsah je umístěný za nápovědu editačního formuláře v pořadí, které mají tyto ovládací prvky v editačním formuláři.
  • Není-li šířka vyplněna, použije se výchozí šířka plovoucího boxu 200 pixelů.

2.3.2. Možnosti

  • Automatické seskupování nápovědy přichycených ovládacích prvků
    • Je-li zaškrtnuto „Automatické seskupování nápovědy přichycených ovládacích prvků”, bude ve sloupci s nápovědou jednotlivých ovládacích prvků editačního formuláře automaticky vygenerován odrážkový seznam všech ovládacích prvků s nápovědou umístěných ve stejné řádce, s možností rozkliknout položku odrážkového seznamu a zobrazit text nápovědy.
    • Není-li zaškrtnuto „Automatické seskupování nápovědy přichycených ovládacích prvků”, nápovědy ovládacích prvků umístěných nalevo od přichycených ovládacích prvků se nezobrazují.
    • Seskupování nápověď se používá u ovládacích prvků, které mají zaškrtnuté pole „Přichytit k předchozímu ovládacímu prvku”.

2.3.3. Nápověda

  • Nápověda je text zobrazovaný v pravém horním rohu editačního formuláře uvnitř plovoucího boxu.
  • Součástí plovoucího boxu je také obsah všech ovládacích prvků „RichText” a „HTML” se zaškrtnutým polem „Plovoucí nápověda v editačním formuláři”. Tento obsah je umístěný za nápovědu editačního formuláře v pořadí, které mají tyto ovládací prvky v editačním formuláři.

2.3.4. Poznámky

  • Poznámky slouží pro zadání libovolného textu určeného pro správce aplikace.
  • Do poznámek se umísťuje volání serverových funkcí, které řídí chování editačního formuláře:
    • DISABLEAUTOFILL()
    • DISABLEPAGETOOLS()
    • LOWRESOLUTION()
  • Do poznámek se umísťuje definice databázového pohledu, je-li editační formulář nastaven pro čtení dat z databázového pohledu.

2.4. Záložka „Práva na editaci”

Obrázek.png

2.4.1. Spoluvlastníci záznamů

  • Spoluvlastníci záznamů definují seznam uživatelských skupin a uživatelů, kteří rozšiřují vlastnictví databázových záznamů. Vedle vlastníka záznamu, tedy uživatele, který databázový záznam vytvořil, rozšiřují vlastnictví o další uživatele, kteří se automaticky stávají spoluvlastníky všech záznamů v dané databázové tabulce.

2.4.2. Práva na editaci – možnosti

  • Vlastník nebo spoluvlastník záznamu – databázové záznamy v editačním formuláři může editovat pouze vlastník nebo spoluvlastník záznamu.
  • Pouze spoluvlastník záznamu – databázové záznamy v editačním formuláři může editovat pouze spoluvlastník záznamu.

2.5. Záložka „Práva podřízených objektů”

Obrázek.png

  • Práva definují seznam uživatelských skupin a uživatelů, kteří mají oprávnění na zobrazení ovládacích prvků v editačním formuláři, a na zobrazování hodnot těchto ovládacích prvků všude jinde v aplikaci.
  • Vlastností editačního formuláře je pouze nastavení spoluvlastníků záznamů, práva na vstup do editačního formuláře má kdokoliv. Je jen na nastavení práv jednotlivých ovládacích prvků formuláře, co vše se danému uživateli v editačním formuláři zobrazí.

2.5.1. Možnosti

  • Nahradit práva ve všech podřízených objektech – Zaškrtnutí tohoto pole určuje, zda má být při uložení editačního formuláře přepsáno nastavení práv ve všech podřízených ovládacích prvcích na stejná oprávnění, jako jsou nastavena v samotném editačním formuláři.
  • Přidat zvolená práva všem podřízeným objektům – Zaškrtnutí tohoto pole určuje, zda mají být při uložení editačního formuláře přidány všechny zvolené aplikační skupiny a uživatelé všem podřízeným ovládacím prvkům.
  • Odebrat práva zvolená všem podřízeným objektům – Zaškrtnutí tohoto pole určuje, zda mají být při uložení editačního formuláře odebrány všechny zvolené aplikační skupiny a uživatelé všem podřízeným ovládacím prvkům.

2.6. Záložka „Administrace”

Obrázek.png

2.6.1. Umístění

  • Výběr aplikace, ve které je editační formulář umístěn.
  • Rozbalovací seznam obsahuje všechny aplikace.
  • Editační formuláře umístěné v systémové aplikaci „Nastavení” nesmí být nikam jinam přesunuty, ani smazány.

2.6.2. Identifikátor

  • Identifikátor určuje název databázové tabulky v databázi, do které se ukládají samotná uživatelská data vyplňovaná uživatelem v editačním formuláři.
  • Identifikátor je odvozen od názvu editačního formuláře. Začíná prefixem „ng_”, a dále obsahuje alfanumerické znaky použité v názvu editačního formuláře (systémové editační formuláře „ng_” neobsahují). Při změně názvu editačního formuláře je k dispozici tlačítko „Opravit”, které slouží k opravě identifikátoru, a tedy i přejmenování databázové tabulky v databázi. Pro přehlednost a eliminaci případných nedorozumění se doporučuje udržovat identifikátor v souladu s názvem editačního formuláře. Pokud do databáze přistupují i externí aplikace a například čtou nebo zapisují data do databázové tabulky tohoto editačního formuláře, je nutné změnu identifikátoru naplánovat až na vhodnou dobu.
  • Pro automatickou opravu identifikátorů všech databázových ovládacích prvků editačního formuláře je k dispozici tlačítko „Opravit vše”.
  • Data z databázové tabulky číst/zapisovat pomocí In-Memory tabulky
  • Pouze pro SQL Server
    • In-Memory tabulky jsou databázové tabulky umístěné v operační paměti, které se hodí pro časté zapisování dat – především pro vytváření nových záznamů (INSERT) nebo aktualizaci stávajících (UPDATE).
    • In-Memory tabulky se nehodí pro řešení potíží s rychlostí zpracování databázových dotazů během čtení dat (SELECT). Řešením těchto potíží je vždy správné nastavení indexů.
    • Zaškrtnutí tohoto pole určuje, zda má být pro čtení a zápis dat použita databázová tabulka se stejným identifikátorem jako má editační formulář, jen se slovem „_memory” na konci názvu.
    • In-Memory tabulky se musí vytvářet ručně. K tomuto účelu je možné využít příkaz „CREATE ng_kniha_memory” z rozbalovacího seznamu umístěného pod zaškrtávacím polem. Tento příkaz zobrazí databázový dotaz na vytvoření nové In-Memory tabulky se stejnou strukturou jako má editační formulář, a databázovou tabulku se pokusí rovnou vytvořit.
    • In-Memory tabulky neumožňují dodatečnou změnu databázové struktury. Nejdříve je nutné smazat starou tabulku, a následně vytvořit novou s aktualizovanou strukturou. K tomuto účelu je možné využít příkaz „DROP ng_kniha_memory” z rozbalovacího seznamu umístěného pod zaškrtávacím polem. Tento příkaz zobrazí databázový dotaz na smazání In-Memory tabulky, a databázovou tabulku se pokusí rovnou smazat.
    • Před smazáním In-Memory tabulek je důležité zazálohovat data uložená v těchto tabulkách, a tato data následně obnovit. K tomuto účelu je možné využít příkaz „EXPORT DATA FROM ng_kniha_memory TO 'Backup\ng_kniha_memory.xml'” z rozbalovacího seznamu umístěného pod zaškrtávacím polem, a následně „IMPORT DATA TO ng_kniha_memory FROM 'Backup\ng_kniha_memory.xml'” nebo „IMPORT DATA TO ng_kniha_memory FROM ng_kniha”.
  • Data z databázové tabulky číst pomocí pohledu
    • Zaškrtnutí tohoto pole určuje, zda má být pro čtení dat použitý databázový pohled se stejným identifikátorem jako má editační formulář, jen se slovem „_view” na konci názvu. Zápis dat do pohledů není možný, proto je doporučeno v těchto editačních formulářích skrýt tlačítko „Uložit”. Při pokusu o uložení dat do pohledu dojde k chybě.
    • Pohledy se musí vytvářet ručně. K tomuto účelu je možné využít příkaz „CREATE ng_kniha_view” z rozbalovacího seznamu umístěného pod zaškrtávacím polem.
      • Tento příkaz zobrazí databázový dotaz na vytvoření nového pohledu se stejnou strukturou jako má editační formulář, a databázový pohled se pokusí rovnou vytvořit.
      • Pohled vytvořený tímto příkazem má stejnou strukturu jako editační formulář, a proto je nutné jeho definici (CREATE VIEW) dodatečně upravit.
      • Výslednou definici je vhodné uložit do poznámky editačního formuláře, kde si ho NET Genium při příštím spuštění příkazu „CREATE ng_kniha_view” vyhledá, a spustí ho v tomto znění.
    • Pohledy neumožňují dodatečnou změnu databázové struktury. Nejdříve je nutné smazat starý pohled, a následně vytvořit nový s aktualizovanou strukturou. K tomuto účelu je možné využít příkaz „DROP ng_kniha_view” z rozbalovacího seznamu umístěného pod zaškrtávacím polem. Tento příkaz zobrazí databázový dotaz na smazání pohledu, a databázový pohled se pokusí rovnou smazat.

2.6.3. Příkazy

  • CREATE REPORT FROM ng_kniha – Vytvoření reportu délky stringů uložených v editačním formuláři
  • CREATE ng_kniha_memory – Vytvoření In-Memory tabulky
  • IMPORT DATA TO ng_kniha_memory FROM 'Backup\ng_kniha_memory.xml' – Import dat do In-Memory tabulky z XML souboru umístěného v adresáři „Backup”
  • IMPORT DATA TO ng_kniha_memory FROM ng_kniha – Import dat do In-Memory tabulky z hlavní databázové tabulky editačního formuláře
  • EXPORT DATA FROM ng_kniha_memory TO 'Backup\ng_kniha_memory.xml' – Export dat z In-Memory tabulky do XML souboru umístěného v adresáři „Backup”
  • DROP ng_kniha_memory – Smazání In-Memory tabulky
  • CREATE ng_kniha_view – Vytvoření pohledu
  • DROP ng_kniha_view – Smazání pohledu
  • TRUNCATE TABLE ng_kniha + ng_kniha_history – Smazání všech dat v databázové tabulce včetně záznamů historie, a nastavení čítače primárního klíče na počáteční hodnotu 1
  • TRUNCATE TABLE ng_kniha_history – Smazání všech záznamů historie, a nastavení čítače primárního klíče na počáteční hodnotu 1
  • RECREATE TABLE ng_kniha + ng_kniha_history – Zazálohování dat a opětovné vytvoření databázových tabulek včetně následného importu dat

2.6.4. Index 1

  • Nastavení indexu na databázový sloupec „pid” nebo sdruženého indexu na databázový sloupec „pform” spolu se sloupcem „pid”.

2.6.5. Index 2

  • Nastavení indexu na libovolný seznam databázových sloupců editačního formuláře.
  • Do textového pole umístěného pod zaškrtávací položkou je možné definovat názvy (identifikátory) všech sloupců, které mají být ve sdruženém indexu – mají být součástí klíče indexu.

2.6.6. Smazat historii starší než

  • Nastavení počtu měsíců, během kterých je nutné uchovávat historii databázových záznamů tohoto editačního formuláře.
  • Není-li počet měsíců vyplněn, použije se výchozí nastavení 6 měsíců.
  • Záznamy historie starší, než takto nastavené časové období je možné jednorázově smazat pomocí:
    • Tlačítka „Smazat historii” umístěného napravo vedle textového pole.
    • Menší ikony pro smazání historie záznamů z reportů. Detailní popis reportů je uveden v samostatné příručce Reporty.
    • Serverové funkce „DELETEHISTORY”.

2.6.7. C#/JavaScript

  • Pomocí tlačítka „C#/JavaScript” se zobrazí textový report s příkladem v C# pro uložení záznamu do databázové tabulky přidružené k tomuto editačnímu formuláři.
  • Součástí reportu je seznam všech databázových ovládacích prvků v editačním formuláři.

2.6.8. Statistika

  • Statistika zobrazuje agregovanou informaci o využívání editačního formuláře napříč celou aplikací.
  • Pomocí tlačítka „Statistika” se zobrazí detailní report všech míst, kde je editační formulář použitý nebo referencovaný, včetně možnosti otevření nastavení takového místa či ovládacího prvku.
  • Před každým smazáním editačního formuláře se doporučuje důkladně projít statistku editačního prvku, a eliminovat případná nedorozumění.
  • Před každým smazáním editačního formuláře se automaticky spustí vyhodnocení statistiky. Pokud je editační formulář někde v aplikaci používán nebo referencován, je nutné smazání editačního formuláře znovu potvrdit.

2.6.9. Logování

  • Pomocí tlačítka „Logování” se zobrazí detailní report se záznamy zobrazení editačního formuláře a údaji o
    • datumu a času zobrazení editačního formuláře,
    • uživateli, který editačního formuláře zobrazil,
    • času zpracování editačního formuláře v milisekundách a
    • informací, zda jde o první načtení editačního formuláře, nebo o jeho aktualizaci (postback).

Obrázek.png

  • Minimální zobrazovaný čas zpracování editačního formuláře je ve výchozím nastavení stanoven na 0 milisekund, zobrazují se tedy všechny záznamy zobrazení editačních formulářů včetně těch, jejichž zpracování trvalo 0 milisekund. Tento minimální čas je možné zvýšit nebo snížit změnou parametru „mintime” v URL reportu.
  • Počet záznamů je ve výchozím nastavení omezen na 100 záznamů. Tento počet je možné ručně zvýšit nebo snížit změnou parametru „maxrows” v URL reportu.

Obrázek.png

2.6.10. Historie

  • Pomocí tlačítka „Historie” se zobrazí detailní report s jednotlivými záznamy sledování změn.

2.7. Tlačítka „Uložit“, „Smazat“ a „Zavřít“

  • Tlačítko „Uložit” – Uložení změn v nastavení editačního formuláře.
  • Tlačítko „Smazat” – Trvalé odstranění editačního formuláře.
  • Tlačítko „Zavřít” – Zavření dialogu s nastavením editačního formuláře bez uložení změn.

3. Nastavení synchronizace

3.1. Seznam serverů, se kterými se synchronizují data

Obrázek.png

3.2. Odkaz na nastavení nového serveru

Obrázek.png

3.3. Nastavení serveru

Obrázek.png

3.3.1. Název

  • Název vzdáleného serveru, resp. NET Genia.

3.3.2. URL

  • Internetová adresa vzdáleného NET Genia (možno použít SSL komunikaci přes protokol „https”).

3.3.3. Heslo pro synchronizaci

  • Heslo pro synchronizaci nastavené na vzdáleném NET Geniu v nastavení NET Genia.

Obrázek.png

3.3.4. Intranet URL

  • Intranetová adresa vzdáleného NET Genia, na jehož záznamy budou uživatelé směrováni z e-mailových zpráv rozesílaných skriptem.

3.3.5. Jazyk

  • Jazyk, ve kterém budou vytvořeny odkazy v e-mailových zprávách, směrující uživatele na záznamy do NET Genia.

3.3.6. Možnosti

  • TLS 1.2
    • Zaškrtnutí tohoto pole určuje, zda bude na starších serverech pro komunikaci se vzdáleným NET Geniem prostřednictvím webových služeb používán protokol TLS 1.2.
    • Na serverech s operačním systémem Windows 2012 a vyšších je automaticky zvolen protokol TLS 1.2 bez nutnosti zaškrtnout toto pole.
  • Ignorovat chyby SSL
    • Zaškrtnutí tohoto pole určuje, zda budou při komunikaci se vzdáleným NET Geniem přes protokol „https” ignorovány chyby v SSL certifikátech.
  • Proxy Server
    • Zaškrtnutí tohoto pole určuje, zda bude pro komunikaci se vzdáleným NET Geniem používán Proxy Server.
  • Proxy URL
    • Adresa Proxy Serveru.
  • Přihlašovací jméno
    • Přihlašovací jméno pro komunikaci s Proxy Serverem.
  • Heslo
    • Heslo pro komunikaci s Proxy Serverem.

3.4. Odkaz na nastavení nové synchronizace

Obrázek.png

3.5. Nastavení synchronizace

Obrázek.png

3.5.1. Server

  • Název serveru, se kterým budou synchronizována data z databázové tabulky aktuálně otevřeného editačního formuláře.

3.5.2. Editační formulář

  • Editační formulář ve vzdáleném NET Geniu, se kterým budou synchronizována data z databázové tabulky aktuálně otevřeného editačního formuláře.

3.5.3. Podmínka synchronizace

  • Podmínka, která omezuje rozsah synchronizovaných dat pouze na určitou množinu.

3.5.4. Sloupce

  • Nastavení sloupců určuje, jaký sloupec (nalevo) vzdáleného editačního formuláře bude synchronizován, a s jakým sloupcem (napravo) v aktuálně otevřeném editačním formuláři.
  • Každý sloupec může obsahovat podmínku, pouze při jejímž splnění bude hodnota sloupce synchronizována.

3.6. Jednorázová synchronizace všech dat

Obrázek.png

  • Pro jednorázovou synchronizaci je nastaven maximální limit 10 000 záznamů.