Instalační sady - obecně

Zde naleznete:

Význam a využití

Systém ABRA Gen poskytuje řadu prostředků zákaznické modifikovatelnosti systému umožňujících upravit jej tak, aby splňoval požadavky uživatele. Tím ovšem vyvstává potřeba mít možnost rychle a bezchybně doručit výsledné řešení uživateli dle jeho potřeb. Řešení může sestávat z balíčků skriptů, definic formulářů, definic tiskových sestav a exportů, definic panelů, definic omezení, definic sloupců, uživatelsky definovatelných položek, SQL skriptů, definic DynSQL, uživatelsky definovatelných číselníků, ... Některé části je možné exportovat ručně a u klienta importovat, ale některé (typicky uživatelsky definovatelné položky) samostatnou podporu pro export a import nemají.

Proto je k dispozici možnost definovat si tzv. instalační sady. Do jedné instalační sady pak lze různé součásti zákaznického řešení "zabalit" ve formátu XML a tuto sadu potom v jiné instalaci (typicky u klienta) jednoduše načíst.

Dále instalační sady umožňují dodávání oborových řešení, která by podporovala organizace podnikající v určitém odvětví. Příkladem oborového řešení je řešení pro organizace prodávající pevná paliva (uhlí), které mají povinnost odvádět daň z pevných paliv.

Použití: Tvorba zákaznických (oborových) řešení:
Technik/konzultant, který má za úkol pro určitou skupinu klientů připravovat nějaké objednané řešení, si spustí novou agendu Instalační sady a vytvoří novou instalační sadu. Postupně vytváří (v rámci zákaznického řešení) jednotlivé části (formuláře, položky, definice sestav, balíčky skriptů atd.). Tyto části okamžitě začleňuje (formou odkazu) do založené instalační sady. V okamžiku, kdy vše funguje a instalační sada obsahuje odkazy na všechny své součásti, může provést export instalační sady. Systém z odkazů uvedených v instalační sadě dohledá aktuální data a vytvoří jeden exportní soubor. Tento soubor je pak možné poslat/předat klientovi – případně u něj do agendy Instalační sady naimportovat. V případě, že už instalační sada stejného jména existuje, je na to uživatel upozorněn a může rozhodnout, jak se má systém zachovat (zaktualizovat stávající, neimportovat). V případě, že existují jednotlivé součásti instalační sady (report, formulář, …), tak záleží na tom, zda se jedná o aktualizaci instalační sady, která v systému existovala a která už obsahovala problematické součásti. V případě, že problematické součásti nebyly součástí aktualizované instalační sady, je opět uživatel upozorněn.

Zpět na obsah

Verzování

Instalační sady podporují také vytváření verzí. Typicky se může stát, že se vytvoří instalační sada pro určité objekty, které se vyexportují do jiného systému, ale tyto objekty dojdou ve zdrojovém systému s časem změny. Pokud je na původní instalační sadě zatržen parametr Sledování verzí, není nutné pro ně vytvářet novou sadu, ale lze využít funkci Nová verze na záložce Verze. Vyvolá se tak speciální průvodce, kterým je možné sesynchronizovat objekty, vytvořit novou vyšší verzi instalační sady a zároveň uchovat informace o historii sady. Tuto vyšší verzi sady lze pak standardně vyexportovat a naimportovat do cílového systému. A to i tehdy, pokud v cílovém systému chybí instalační sada s předcházejícími verzemi. Pokud však sada s předcházejícím verzemi existuje, dojde pouze k její aktualizaci.

Je možné také provést i tzv. downgrade. Pokud má uživatel uchováno více verzí jedné instalační sady v *.ais souborech, dojde při importu nižší verze sady do systému s vyšší verzí k ponížení verzí objektů.

Zpět na obsah

Typy objektů, které lze zahrnout do instalační sady

Do instalačních sad lze zahrnout následující typy Business Objektů (BO):

  • Balíčky skriptů - Balíčky skriptů. Název objektu se do instal. sady přebírá z položky Popis.

    Pokud dojde k importu skriptu, který je zastaralý, průvodce importem jej naimportuje s varováním a nastaví se na něm Stav Nepoužívat.

    Balíčky skriptů se budou exportovat včetně zdrojových kódů, pokud jsou k dispozici, jinak v binární formě. Pokud je zdrojový kód skriptu zakódovaný, bude zdrojový kód exportován v zašifrované podobě. Po importu jej bude možné znovu odkódovat.

  • Definice omezení - Definice omezení (včetně definic Filtrů a definic Hromadného označování) v číselnících, agendách, reportech a výběrech dokladů. Název objektu se do instal. sady přebírá z položky Název omezení (filtru, hromadného označování).

    Je možné přenést pouze ty definice omezení, které mají nastavené sdílení jako Globální.

  • Definovatelné číselníky - Definovatelné číselníky nadefinované uživatelem.

    Formát výsledného XML odpovídá formátu, do kterého ukládá definice nástroj DefRollEditor.exe.

  • Definovatelné exporty - Definovatelné exporty jednotlivých dokladů, knih dokladů či jiných vstupních přehledů, které nejsou systémové. Název objektu se do instal. sady přebírá z položky Název def. exportu.
  • Definovatelné formuláře - libovolné vlastní Definovatelné formuláře vstupních oken. Název objektu se do instal. sady přebírá z položky Název definice.
  • Definovatelné položky - vlastní Definovatelné položky, které jsou ve většině případů následně využity v definovatelných formulářích. Název objektu se do instal. sady přebírá z položky Název položky.
  • Dynamické SQL - vlastní definice Dynamických SQL dotazů pro komunikaci s SQL databázovým serverem.

    Výsledné XML má formát XDL souboru, do kterého jej standardně exportuje nástroj DynSQLEditor.exe.

  • Firemní parametry - nastavení Firemních parametrů, která ovlivňují chování programu podle požadavku uživatele. Název objektu se do instal. sady přebírá z položky Název Firemních parametrů. Nabízejí se pouze ty parametry, jejichž hodnota byla uživatelem změněna.
  • Kontrolní body - Kontrolní body naplánovaných úloh. Název objektu se do instal. sady přebírá z položky Název.
  • Naplánovaná úloha - Naplánované úlohy. Název objektu se do instal. sady přebírá z položky Název.
  • Operace webových služeb - Operace webových služeb umožňují vzdálené získávání dat ze systému ABRA Gen přes internet. Název objektu se do instal. sady přebírá z položky Název.
  • Panely definovatelných údajů - Vlastní Panely definovatelných údajů uživatele sloužící k rychlému získání informací o vybraných hodnotách. Jsou k dispozici v dokladových agendách a velkých číselnících. Název objektu se do instal. sady přebírá z názvu definice panelu, kterou je možno zadat pomocí funkce Uložit jako.

    Je možné přenést pouze ty definovatelné panely, které jsou uloženy jako Globální.

  • Role - Role. Název objektu se do instal. sady přebírá z položky Jméno.
  • Skupiny rolí - Skupiny rolí. Jsou na ně vázána přístupová práva a role. Název objektu se do instal. sady přebírá z položky Jméno.
  • Tiskové sestavy - Tiskové sestavy. Název objektu se do instal. sady přebírá z položky Název sestavy.
  • Účetní předkontace - Účetní předkontace, které umožňují automatizovat zúčtování zdrojových dokladů do účetnictví. Název objektu se do instal. sady přebírá z položky Název předkontace.

    Je možné vyexportovat jen ty předkontace, které obsahují pouze výrazové řádky.

  • Uživatelské sloupce - Definice sloupců nadefinované uživatelem na záložkách seznam jednotlivých agend. Název objektu se do instal. sady přebírá z položky Nadpis sloupce.
  • Variantní vstupní formuláře - Variantní vstupní formuláře, ale pouze globální definice jednotlivých variant (uživatelské definice se přes instalační sady neexportují). Pokud pro dané místo systému (agenda + panel) existuje více variant s globální definicí, exportují se automaticky všechny (tj. nelze exportovat jen některé pro dané místo, tj. v Průvodci přidáním položek vybírat jen některé z nich). Název objektu se do instal. sady přebírá z položky Panel.
  • Webové služby - Webové služby umožňují externím aplikacím volat operace webových služeb. Název objektu se do instal. sady přebírá z položky Název.
Každý typ objektu je identifikován nějakým svým identifikátorem. Struktura identifikátoru se liší podle typu objektu.

Uživatelsky definovatelné položky - Identifikátor = třída Business objektu (BO), pro který jsou uživatelské položky definovány + název položky
Balíčky skriptů - Identifikátor = název balíčku skriptů
Variantní vstupní formuláře - Identifikátor =  GUID agendy + název panelu

U variantních vstupních formulářů - do v. 14.52 vč. identifikátor vypadal =  GUID agendy + název panelu + ID varianty (u výchozí varianty podtržítka). Pokud byste importovali nějakou starší sadu, bude tam identifikátor postaru.

Zpět na obsah

Závislé objekty

Objekty, které jsou součástí instalační sady, mohou být závislé na některých jiných objektech. Při přidávání objektů přes Průvodce přidáním položek do instalační sady pak na tyto závislosti probíhá při dokončení kontrola, a pokud závislé objekty chybí, systém nabídne možnost je doplnit. Jedná se o tyto závislosti:

  • Balíčky skriptů - balíčky skriptů
  • Definovatelné  formuláře - definovatelné položky
  • Definovatelné položky - definovatelné číselníky
  • Dynamická SQL - definovatelné číselníky a definovatelné položky
  • Exporty - definovatelná dynamická SQL
  • Panely definovatelných údajů - definovatelné číselníky
  • Skupiny rolí - role
  • Tiskové sestavy - definovatelná dynamická SQL
  • Uživatelské sloupce - definovatelné číselníky
  • Webové služby - webové operace
  • Webové operace - balíčky skriptů

Zároveň je pro kontrolu závislostí možné použít funkci Zkontrolovat závislosti.

Zpět na obsah

Na importní straně

Na importní straně se rozlišuje, zda se jedná o aktualizaci verze instalační sady nebo instalaci sady zcela nové. Dále se rozlišují dva typy importu:

Expertní import

V tomto oddíle popíšeme proces expertního importu instalační sady. Kroky, které se používají jen při instalaci nové verze, jsou označeny instalace, kroky, které se používají jen pro aktualizaci jsou označeny aktualizace. Scénář může spustit pouze uživatel s právem Expertní import. Proces importu probíhá následovně

  1. Systém provede kontrolu, zda požadovaná verze systému ABRA Gen v instalační sadě odpovídá verzi instalovaného systému ABRA Gen nebo je instalovaná verze vyšší.
  2. Systém se podle názvu instalační sady zjistí, zda se jedná o novou instalaci nebo o aktualizaci (tj. jestli v systému již neexistuje instalační sada téhož jména. Pokud ano, bude instalaci považovat za aktualizaci této sady).
  3. Aktualizace: Systém porovná verzi existující sady s verzí importované sady.
  4. Zobrazí se uvítací zpráva, popisující k čemu instalační sada slouží, licenční ujednání a další informace. Také zobrazí informaci, zda se jedná o aktualizaci nebo novou instalaci.
  5. Supervisor nebo konzultant potvrdí zprávu.
  6. Systém provede činnost Aktualizace/založení záznamu instalační sady.
  7. Systém připraví množinu položek, které jsou shodné v nové verzi sady s již instalovaným objektem. Provádí se tak, že se porovná XML položek v nové verzi sady s XML, které se vygeneruje z instalovaných objektů. Tyto položky nemá smysl instalovat, protože v systému již existují.
  8. Aktualizace: Pro každou položku zjistí, zda je položka v nové verzi sady aktualizována. Provádí se tak, že se porovná XML položek v nové verzi sady s XML položkami již nainstalované sady. Položky, které vůbec nejsou ve staré verzi původní sady se považují jako aktualizované.
  9. Aktualizace: Pro každou položku nové verze sady provede Test uživatelské změny položky a výsledek si zaznamená. Systém zobrazí položky importované sady v následujícím seznamu. Pokud se jedná o aktualizaci, pak zobrazí jen aktualizované položky (změněné od poslední verze).
    • Kategorii (např. Reklamace)
    • Typ položky (např. Balíček skriptů, Uživatelsky definovatelné položky atd...)
    • Identifikace položky v uživatelské podobě (zajistí činnost Překlad identifikace položky)
    • Zařazení položky (zajistí činnost Překlad identifikace položky)
    • Stav - může nabývat několika hodnot, jejich popis viz dále Stav položky v Průvodci importem instalační sady.
    • Instalovat položku (označené položky budou instalovány, neoznačené pouze importovány)
    • Komentář importu (umožňuje uživateli zapsat důvod, proč instaluje nebo neinstaluje tuto položku)
  10. Pro položky se stavem 2 a 3 uživatel může provést činnost Zobrazení verzí položky.
  11. Uživatel může ručně odznačovat nebo označovat jednotlivé položky nebo hromadně všechny položky. K položkám může zapisovat komentář importu, do kterého zapíše, proč položku neinstaloval.
  12. Systém se dotáže, zda si uživatel přeje vytvořit zálohu instalovaných objektů do záložní instalační sady. Pokud uživatel bude souhlasit, provede se činnost Zálohování instalovaných objektů.
  13. Systém projde seznam označených položek a provede Instalace položky. Pořadí, v jakém bude instalovat položky instalační sady je uvedeno v tabulce Typy položek instalační sady, tučně označená čísla ve sloupci „Závislost“. Instalace: Systém spustí proceduru Install z knihovny Install z balíčku, jehož název je v položce typu Instalační balíček.
  14. Aktualizace: Systém spustí spustí proceduru Update z téže knihovny. Jako parametr předá starou verzi instalační sady, která je instalována.
  15. Pro všechny položky, které nejsou v nové verzi instalační sady, ale existují ve staré verzi instalované sady a byly v ní instalovány se provede činnost Odinstalace položek.
  16. Systém provede činnost Zobrazení závěrečné zprávy.

Případné výjimky:

  • Pokud se v kroku 1 zjistí, že instalovaná verze systému ABRA Gen je nižší než je požadováno, pak se instalace ukončí.
  • Pokud se v kroku 2 zjistí, že se sada jmenuje „Záloha před instalací sady {jméno sady}“ pak se v seznamu sad pokusí dohledat sadu s daným názvem. Zobrazí uživateli dotaz, zda se jedná o vrácení změn provedených nad sadou "{jméno sady}". Pokud uživatel odpoví kladně, pak se k záložní sadě přistupuje jako k aktualizaci. Tedy dojde také k odinstalaci těch položek, které jsou v nalezené sadě (té původní) „navíc“ (oproti záloze). Jestliže se nepodaří sadu dohledat nebo uživatel odpoví na dotaz záporně, pak se k této sadě přistupuje jakoby se jednalo o instalaci nové sady.
  • Pokud importovaná sada nepodporuje verze, pak se krok 3 neprovádí.
  • Pokud se v kroku 2 zjistí, že verze importované sady je stejná nebo nižší než ta existující v systému, pak zobrazí varovnou zprávu, zda si uživatel přeje pokračovat.
  • Pokud se v kroku 10. pro některou položku vyhodnotí, že má stav č. 6 – položka již existuje s jinou strukturou a nelze upravit, pak instalace končí.
  • Pokud v krocích 15 dojde k chybě, pak zpracování bude pokračovat dále. Chybová zpráva se uloží, aby se mohla zobrazit v závěrečné zprávě.
  • Pokud konzultant označí všechny položky jako neinstalovat, import sady skončí před zadáním parametrů instalace. Záznam s instalační sadou bude založen do systému nebo bude aktualizován záznam se starou verzí instalační sady.

Zjednodušený import

V tomto oddíle popíšeme proces zjednodušeného importu instalační sady. Kroky, které se používají jen při instalaci nové verze, jsou označeny instalace, kroky, které se používají jen pro aktualizaci jsou označeny aktualizace.

  1. Systém provede kontrolu, zda požadovaná verze systému ABRA Gen v instalační sadě odpovídá verzi instalovaného systému ABRA Gen nebo je instalovaná verze vyšší.
  2. Systém se pokusí zjistit, zda se jedná o novou instalaci nebo o aktualizaci. Zjistí to podle toho, zda v systému je již instalována sada se stejným jménem.
  3. Aktualizace: Systém porovná verzi existující sady s verzí importované sady.
  4. Zobrazí se uvítací zpráva, popisující k čemu instalační sada slouží, licenční ujednání a další informace. Také zobrazí informaci, zda se jedná o aktualizaci nebo novou instalaci.
  5. Supervisor nebo konzultant potvrdí zprávu.
  6. Systém provede činnost Aktualizace/založení záznamu instalační sady.
  7. Systém připraví množinu položek, které jsou shodné v nové verzi sady s již instalovaným objektem. Provádí se tak, že se porovná XML položek v nové verzi sady s XML, které se vygeneruje z instalovaných objektů. Tyto položky nemá smysl instalovat, protože v systému již existují.
  8. Aktualizace: Pro každou položku zjistí, zda je položka v nové verzi sady aktualizována. Provádí se tak, že se porovná XML položek v nové verzi sady s XML položkami již nainstalované sady. Položky, které vůbec nejsou ve staré verzi původní sady se považují jako aktualizované.
  9. Aktualizace: Pro každou položku nové verze sady provede Test uživatelské změny položky.
  10. Systém zkontroluje, zda někdo založil položku, kterou se instalační sada chystá založit. Nerozlišuje se, zda se tato položka podstatně liší a technicky není možné provést přepsání. Např. Uživatelsky definovatelná položka má jiný datový typ než je požadováno.
  11. Tento krok je ve zjednodušené verzi importu přeskočen.
  12. Tento krok je ve zjednodušené verzi importu přeskočen.
  13. Tento krok je ve zjednodušené verzi importu přeskočen.
  14. Systém se dotáže, zda si uživatel přeje vytvořit zálohu instalovaných objektů do záložní instalační sady. Pokud uživatel bude souhlasit, provede se činnost Zálohování instalovaných objektů.
  15. Pro všechny položky kromě těch určených z kroku 7, systém provede činnost Instalace položky.
  16. Instalace: Systém spustí proceduru Install z knihovny Install z balíčku, jehož název je v položce typu Instalační balíček.
  17. Aktualizace: Systém spustí spustí proceduru Update z téže knihovny. Jako parametr předá starou verzi instalační sady, která je instalována.
  18. Pro všechny položky, které nejsou v nové verzi instalační sady, ale existují ve staré verzi instalované sady a byly v ní instalovány se provede činnost Odinstalace položek.
  19. Systém provede činnost Zobrazení závěrečné zprávy.

Případné výjimky:

  • Pokud se v kroku 1 zjistí, že instalovaná verze systému ABRA Gen je nižší než je požadováno, pak se instalace ukončí.
  • Pokud importovaná sada nepodporuje verze, pak se krok 3 neprovádí.
  • Pokud se v kroku 3 zjistí, že verze importované sady je stejná nebo nižší než ta existující v systému, pak se import ukončí.
  • Pokud se v kroku 9 najde uživatelem modifikovaná položka, pak instalace končí.
  • Pokud se v kroku 10 najde konfliktní položka, pak instalace končí.

K importu vybraných objektů

Objekty, které byly součástí importované instalační sady a byly vybrány mezi položky určené k instalaci (viz položka Vybrat v průvodci importem instalační sady) se po dokončení tohoto průvodce na importní straně nainstalují (vytvoří).

Zde platí:

  • Variantní vstupní formuláře - na importní straně se případné již existující variantní formuláře v daném umístnění (agenda + panel) nijak nemažou ani nepřepisují. Importované se vždy přidají jako nové. Proto, pokud importujete stejnou sadu opakovaně (např.  novou verzi) a v daném umístnění již nějaké variantní formuláře existují, je doporučeno nejdříve původní variantní formuláře vymazat. To můžete pohodlně provést např. v agendě Variantní formuláře.

    V dané umístění můžete mít samozřejmě i nějakou variantu var. vstupního formuláře, která s importovanou sadou nijak nesouvisí. Takovou samozřejmě nijak mazat nemusíte. Nicméně i tak po importu doporučujeme stav variantních formulářů po importu sad zkontrolovat (minimálně jejich pořadí, názvy apod.) - aby např. nedošlo ke zbytečným duplicitám názvů, či k nechtěným změnám v pořadí a tudíž i v automatickém výběru variant apod.

    Do v. 14.52 vč. platilo, že se na importní straně var. formulář přepsal, pokud byl identifikován jako ten, co byl naimportován sadou. To však bylo v řadě případů nežádoucí (uživatel mohl nechtěně přijít o změny, které v daných formulářích provedl).

Zde ostatní objekty platí: Pokud už na importní straně byly objekty nainstalovány a nedošlo k žádné jejich změně, znovu se k importu nenabízejí. Tj. při opakovaném importu instalační sady se tyto již nenabízejí v průvodci importem instalační sady (pokud se nejedná o novou verzi).

Zpět na obsah