Book Contents

Book Index

Metodika pro reinstalaci programu K2

Úvod

Seznámíte se s grafickou podobou jednotlivých kroků reinstalace formou diagramu.

Slovník pojmů

Reinstalační manažer je funkce K2, která pomáhá s reinstalací K2.

Správa licencí je funkce K2, která se v tomto dokumentu použije pro vzdálené odhlášení uživatelů z K2.

SQL Server Management Studio (SSMS) je produkt Microsoftu®, kterým se spravují MS SQL servery a databáze.

Oracle SQL Developer je produkt Oracle Corporation®, kterým se spravují Oracle servery a databáze.

Reinstalace typu sestavení – malá je typ reinstalace, kdy se mění pouze poslední číslo verze, tzv. build. Myšlenkově má tento typ řešit pouze opravy chyb a přidávání drobných vylepšení. Tato reinstalace by neměla ohrozit stávající funkčnosti. Nejsou odebírány žádné identifikátory, které jsou používány ve skriptech, pokud nejsou vyhodnoceny jako chybné. Jako příklad uvedeme opomenutí zrušení identifikátoru při přechodu na vyšší release nebo generační verzi. Použitím pak může dojít k nechtěnému chování nebo chybě algoritmu.

Reinstalace typu release – střední je typ reinstalace, kdy se mění prostřední číslo verze, tzv. release. Do jednotlivých release se mohou přidávat nové funkčnosti. Platí stejná pravidla jako u předchozí – „malé“ reinstalace, s tím rozdílem, že je vhodné, aby se před samotnou reinstalací provedla nejprve testovací reinstalace a následné testování klíčových funkcí K2.

Reinstalace typu generační verze – velká je typ reinstalace, kdy se mění první číslo verze. Jedná se o zásadní změnu, kdy jsou do K2 přidávány zcela nové funkčnosti nebo jsou zásadně přepracovány nebo rušeny stávající. Tento typ vyžaduje vždy reinstalaci v testovacím prostředí, protože mohou nastat situace zejména během konverzí, které nelze spolehlivě v laboratorních podmínkách během vývoje ošetřit. Reinstalace provozní K2 se tak provádí nejprve v testovacím prostředí, kdy se přebírá testovací složka, a po odzkoušení a odladění všech konverzí a funkčností se poté provede reinstalace na provozní K2.

Aplikační server (AS) je nevizuální nástavba K2, která provádí automatické úlohy, plánované úlohy, komunikuje s dalšími produkty K2 např. serverem webových služeb (K2 API), obsluhuje webového klienta, atd.

Přebrání stávající instalace je stav kdy se složka s K2 použije pro novou instalaci. Tato situace by neměla běžně nastávat, protože instalační mechanismus Windows si ponechává všechny msi soubory, ze kterých prováděl instalaci v systémových složkách a informace v registru, tak dlouho, dokud se program neodinstaluje. Z logiky věci tedy vyplývá, že neustálým přebíráním jedné K2 bude docházet k zaplevelení registru a bude ubývat místo na systémovém disku o velikost msi souboru s každou reinstalací. Dalším důsledkem je to, že se v záznamech K2 installeru množí záznamy o instalaci, i když je to pouze jedna K2. Maximální počet záznamů pro instance K2 je 100 a další instance pak již nelze přidávat.

Kdy použít přebrání?

  1. Pokud vytváříme testovací prostředí a kopírujeme kompletně produkční K2 do nové složky.
  2. Instalaci provádíme z jiného počítače než dříve. I tak je potřeba si dávat pozor, protože instalace z více počítačů na síťovém prostředí může způsobovat nekonzistentnost souborů.
  3. Po selhání odebírání původní K2 při reinstalaci.
  4. Pokud se během reinstalace ve fázi instalace vyskytla chyba a instalace neočekávaně skončí.

Vytvoření testovacího prostředí pro reinstalaci

Testovací prostředí lze vytvořit několika způsoby tak, aby se v dané složce dala provést reinstalace. Minimální podmínka pro to, aby se dala složka považovat za K2, je přítomnost souborů k2.ini a sysk2.ini a údaje v nich odkazují na existující server a databázi. Nicméně optimálně připravené testovací prostředí se provede vytvořením kopie databází ostrých na databázových serverech, může to být v rámci jednoho SQL severu nebo se data mohou přenést na jiný, zkopírováním složky ostré K2 do nové složky a přepsáním odkazu na databázi, případně serveru, v k2.ini. Takto vytvořená kopie je identická s ostrou K2 a tím pádem všechny případné problémy se mohou vyřešit před reinstalací ostré K2. Úpravy v datech, které se během testovací reinstalace musí provést, aby např. konverze proběhly bez chyb, lze provádět, a je to i doporučeno, paralelně jak v testu, tak v provozu.

Při vytváření testovací K2 je dobré zvážit, zda je potřeba přenášet všechny databáze nebo schémata. Pro testovací reinstalaci je vhodné použít pouze databáze ostrých mandantů. Není potřeba provádět kopie mandantů DEMO, INIT nebo nějakých testovacích. Např. ostrá K2 obsahuje následující mandanty: DEMO (demonstrační databáze dodávaná K2), INIT (demonstrační databáze dodávaná K2), FIRMA (produkční databáze), FIRMA2 (produkční databáze jiné firmy nebo pobočky), FIRMA2_TEST (testovací databáze vzniklá kopií FIRMA2). V tomto případě se pro testovací účely použijí pouze FIRMA a FIRMA2. Ostatní databáze nejsou potřeba. Pokud se však zkopírují pouze některé databáze, je nutné provést úpravu tabulky FIRMY v konfigurační databázi. To lze provést buď přímou úpravou tabulek pomocí SQL dotazů, nebo úpravou tabulky nějakým nástrojem např. SSMS, nebo ve správě databází v K2. Důležité je, aby tabulka firmy obsahovala pouze záznamy odpovídající použitým databázím v testu.

Book Contents

Book Index

Postup reinstalace

Schéma

Schéma je koncipováno tak, aby se dalo aplikovat na každou situaci, kdy je potřeba reinstalovat K2.

pic_4969.png

Obr.: Schéma reinstalace K2

Schéma ve své hlavní větvi zobrazuje reinstalaci bez jakýchkoli problémů na nainstalované K2.

Další větve, které naleznete v kapitolách Kontrola povinných inicializací verze, Kontrola struktur všech databází a Aktualizace rozšíření přicházejí na řadu při nějaké nestandardní situaci.

Barvy a tvary bloků ve schématu

pic_4959

Začátek nebo konec schématu nebo podschématu.

pic_4960.png

Rozhodovací blok, kdy se schéma větví podle zadané podmínky.

pic_4962.png

Blok procesu. Vykonání určité akce.

pic_4963.png

Blok podprocesu. Podproces obsahuje podschéma, které obsahuje více akcí.

pic_4966.png

Ukazatel směru chodu schématu, včetně výsledku rozhodnutí, kdy tato větev probíhá.

Využití schématu

Schéma ve své hlavní větvi zobrazuje reinstalaci bez jakýchkoli problémů na nainstalované K2.

Další větve, přicházejí na řadu při nějaké nestandardní situaci. Nestandardními situacemi se rozumí, když reinstalace proběhla pouze částečně, vyskytl se problém během odebírání předchozí verze, byla vytvořena kopie provozní K2 za účelem testování reinstalace apod.

Book Contents

Book Index

Jednotlivé kroky reinstalace

Aby byl diagram úplný, je nutné vysvětlit každý krok samotné reinstalace. Dozvíte se, co se musí provést v jednotlivých úrovních, jaké jsou možnosti řešení problémů, případně kde najdete podpůrné zdroje k vyřešení problému.

Rozhodování: Je k dispozici spustitelná K2?

Rozhodující: Správce IS K2

Popis: Spustitelnou K2 se rozumí stav, kdy je ve složce umístěna kompletní K2, která lze spustit a lze v ní pracovat. V tuto chvíli je jedno, zda složka byla vytvořena instalací nebo zkopírovaná z provozní K2 jako kopie. Pokud je spustitelná K2, pokračujeme bodem Naplánování reinstalace, pokud není, pokračujeme bodem Rozhodování: Databáze jsou shodné s instalovanou verzí K2.

Naplánování reinstalace

Umístění: Informační systém K2

Spuštění: Správce IS K2

Oprávnění: Právo – Správce/Obecné/Servisní zásahy (číslo práva 1)

Podmínka: Nepovinná akce, jedná se o doporučení výrobce

Popis: V době reinstalace nesmí být v K2 přihlášení žádní uživatelé, aby nemohlo dojít ke konfliktům při zápisu souborů nebo změně dat poté, co budou provedeny zálohy a celá příprava na reinstalaci. Abychom předešli zbytečným problémům s přihlášenými uživateli v době před reinstalací, je možné datum a čas reinstalace naplánovat přímo v K2. Tato funkčnost zajišťuje, že se od nastaveného termínu nikdo, s výjimkou uživatele, který tento stav nastavil, do K2 nepřihlásí. Uživatelé, kteří se přihlašují před termínem, jsou upozorněni, že od určitého data bude probíhat reinstalace.

K naplánování reinstalace slouží v K2 nástroj "Reinstalační manažer". K dispozici je ve stromu "Správce / Systém / Reinstalační manažer" nebo jako funkce s číslem 753.

pic_4936.png

Obr.: Reinstalační manažer

Po zatrhnutí volby "Zákaz přihlašování" se nastaví datum, čas a zpráva, která se má zobrazit uživatelům, kteří se chtějí do K2 přihlásit.

pic_4937.png

Obr.: Nastavení data a času reinstalace

Při následném pokusu o přihlášení se zobrazuje uživatelům hlášení, které je nastaveno v reinstalačním manažeru. Toto hlášení lze libovolně měnit. Pokud je potřeba zobrazovat datum a čas od, doplní se do textu %s, které se v hlášení automaticky nahradí hodnotou z pole Zákaz přihlašování od.

pic_4938.png

Obr.: Hlášení o naplánované reinstalaci

Naplánování reinstalace Webové K2

V případě reinstalace či jiné chtěné odstávky webové K2 má správce možnost ručně nastavit stránku, že na webu probíhá údržba. Nastavit webovou K2 lze v souboru web.config a to v elementu <rule name="Site Maintenance" enabled="false" stopProcessing="true"> změnit atribut enabled=“false“ na hodnotu enabled=“true“.

pic_5739.png

Obr.: Stánka o údržbě Webové K2

Odhlášení všech uživatelů

Umístění: Informační systém K2

Spuštění: Správce IS K2

Oprávnění: Právo – Správce/Obecné/Servisní zásahy (1)

Podmínka: Povinná akce – nelze reinstalovat, pokud jsou v K2 přihlášení uživatelé

Popis: Před samotnou reinstalací je nutné odhlásit všechny uživatele K2. Jejich seznam a možnost odhlášení pak najdeme ve "Správě licencí", která je k dispozici v menu "Správce / Systém / Správa licence" nebo jako funkce číslo 678.

pic_4939.png

Obr.: Správa licence a přihlášení uživatelé

Pro odhlášení uživatele, otevřeme detail záznamu a stiskneme tlačítko "Odhlásit". S výhodou lze takto ukončit běžící aplikační servery, aniž by bylo potřeba se připojovat na počítače, kde AS běží.

pic_4940

Obr.: Odhlášení uživatelé z K2

Poznámka

Je na zvážení správce, zda uživatele odpojí přímo z formuláře nebo u každého osobně zjistí, zda nemá rozpracovaný nějaký záznam. Stisknutím tlačítka "Odhlásit" dojde k odhlášení uživatele bez uložení rozpracovaných záznamů.

Může nastat situace, kdy se za žádných okolností nepovede uživatele odhlásit a navíc se zjistí, že uživatel určitě K2 nemá spuštěnu. V takovém případě je potřeba "zabít" session na SQL serveru. Pro zjištění uživatelů na MS SQL se používá příkaz sp_who, který vypíše tabulku s existujícími spojeními na server.

pic_4941

Obr.: Výpis spojení s MS SQL serverem

Pro ukončení příslušného spojení je potřeba vědět, do jaké databáze se neodhlášený uživatel připojuje. Většinou ve výpise bývá jeden až dva záznamy, podle toho, kolik spojení zůstalo "viset". Důležité jsou sloupce spid, status, loginame, hostname, dbname a cmd. Sloupec spid je číslo spojení, které potřebujeme znát pro jeho ukončení, status je stav spojení, loginame je uživatel, pod kterým se hlásí K2 do databáze, hostname je jméno počítače, ze kterého je nebo byla K2 spuštěna, dbname je nebo jsou jména databází, ke kterým je K2 připojena a cmd je příkaz, který je aktuálně vykonáván. Pro bezpečné ukončení přihlášení by měl být sloupec status ve stavu sleeping a cmd AWAITING COMMAND. Ostatní dříve vyjmenované sloupce musí odpovídat přihlašovacím údajům a jménům neodhlášeného uživatele, abychom odpojili správné spojení. K tomu slouží příkaz kill, kde se dále zadá číslo spojení, které chceme ukončit: kill 64.

Na Oracle se používají následující dotazy:

select SID, SERIAL#, CLIENT_INFO, TERMINAL, LOGON_TIME FROM "SYS"."GV_$SESSION"

where USERNAME='K2' AND REGEXP_LIKE("CLIENT_INFO", 'K2/./.*/.*/.*/.*/.*')

order by TERMINAL

a

alter system kill session '19,46574';

U příkazu kill jsou hodnoty session 'SID,SERIAL#' .


Záloha všech databází

Umístění: Nástroj pro správu databází (SQL Server Management Studio)

Spuštění: Správce IS K2

Oprávnění: Dle oprávnění nastavených na SQL serveru

Podmínka: Nepovinná akce, jedná se o doporučení výrobce

Popis: Před každou reinstalací by měl správce provést zálohu všech databází, které jsou reinstalací ovlivňovány. Jedná se o systémovou databázi K2 – CONF a všechny firemní databáze. Ostatní databáze jako INIT a DEMO není potřeba zálohovat. Zálohy se pak mohou využít v případě, že dojde při reinstalaci k takové chybě, kdy je nutné vrátit instalaci K2 do původního stavu před reinstalací. Kdy je nutné obnovit zálohu, bude popsáno v dalších krocích reinstalace.

Poznámka

K operacím s databázemi používáme různé klientské nástroje. V případě Microsoft je doporučeno používat Microsoft SQL Server Management Studio (SSMS). V případě Oracle se používají například datové pumpy nebo Oracle Recovery Manager (RMAN).

Reinstalační manažer - příprava reinstalace

pic_4970.png

Obr.: Předinstalační příprava

Umístění: Informační systém K2

Spuštění: Správce IS K2

Oprávnění: Právo – Správce/Obecné/Servisní zásahy (1)

Podmínka: Povinná akce – nelze reinstalovat, pokud K2 není nastavena v reinstalačním režimu

Popis: Reinstalační manažer primárně slouží k nastavení K2 do tzv. reinstalačního režimu. Jedná se o stav, kdy je zajištěno, že v K2 nejsou přihlášení žádní uživatelé, noví se také nemohou přihlásit a dále platí, že K2 prošla všemi kontrolami, které jsou pro danou verzi implementovány. Jednotlivé úkony, které se provádí v reinstalačním manažeru, jsou sepsány v následujících kapitolách.

Byla provedena?

V první řadě je potřeba zkontrolovat, zda ve výchozí verzi existuje tzv. "Předinstalační příprava". Jedná se o operace, které jsou nutné k provedení před samotnou reinstalací na vyšší generační verzi. V případě, že příprava neproběhne, není možné dále reinstalovat.

Pokud se nebude instalovat vyšší generační verze, předinstalační příprava se nespouští!

Poznámka

V případě, že existuje předinstalační příprava, je na formuláři tlačítko s danou informací.

pic_4942.png

Obr.: Reinstalační manažer - Předinstalační příprava

V případě, že existuje předinstalační příprava a nebyla provedena, pokračujeme následujícím bodem Provedení předinstalačních příprav. Pokud neexistuje, můžeme pokračovat bodem Kontrola povinných inicializací verze pro všechny databáze.

Provedení předinstalační přípravy

Umístění: Informační systém K2

Spuštění: Správce IS K2

Oprávnění: Právo – Správce/Obecné/Servisní zásahy (1)

Podmínka: Povinná akce, pokud se přechází na vyšší generační verzi – nelze nastavit reinstalační mód, pokud neproběhla

Popis: V případě, že existuje předinstalační příprava je nutné ji na výchozí verzi aplikovat. Stisknutím tlačítka se zobrazí formulář s podrobnějšími informacemi, případně vstupy pro přípravu.

pic_4943.png

Obr.: Ukázka předinstalační přípravy

Poznámka

Úspěšné dokončení předinstalační přípravy je jednou z podmínek pro přechod na vyšší generační verzi a je kontrolována až instalátorem, protože pouze on bezpečně ví, o jak "velkou" reinstalaci se jedná.

Kontrola povinných inicializací verze přes všechny databáze

pic_4971.png

Obr.: Kontrola povinných inicializiací verze

Umístění: Informační systém K2

Spuštění: Spouští se automaticky

Oprávnění: Právo – Správce/Obecné/Servisní zásahy (1)

Podmínka: Povinná akce – nelze nastavit reinstalační mód, pokud neproběhly všechny povinné inicializace ve všech mandantech vyjma DEMO a INIT.

Popis: V případě, že se správce pokouší zatrhnout volbu "Reinstalace povolena", čímž nastavuje K2 do tzv. reinstalačního módu, provede K2 automaticky kontrolu, zda byly provedeny všechny povinné inicializace ve všech mandantech. Pokud je součástí povinných inicializací i náprava struktur a v mandantu DEMO nebo INIT je chyba, která se objeví při kontrole struktur, lze nápravu provést znovuvytvořením příslušných databází tlačítkem Databáze na 2. straně Správy mandantů.

Byly provedeny povinné inicializace?

Pokud kontrola zjistí, že inicializace proběhly, pak se pokračuje krokem Kontrola struktur všech databází.

V případě, že neproběhly, pokračuje se krokem Provedení povinných inicializací v mandantech, kde chybí.

pic_4944.png

Obr.: Kontrola na povinné inicializace

Provedení povinných inicializací v mandantech, kde chybí

Umístění: Informační systém K2

Spuštění: Správce IS K2

Oprávnění: Právo – Správce/Obecné/inicializace verzí (755)

Podmínka: Povinná akce – nelze nastavit reinstalační mód, pokud neproběhly všechny povinné inicializace

Popis: Spuštění povinných inicializací je k dispozici v menu "Správce / Inicializace verze" nebo pomocí funkce 552. Následně ve formuláři pokračujeme stisknutím tlačítka "Povinné". Po úspěšně proběhlé inicializaci se můžeme vrátit do kroku Kontrola povinných inicializací verze přes všechny databáze, který provede opětovnou kontrolu.

pic_4946.png

Obr.: Spuštění povinné inicializace

Poznámka

Jestliže inicializace nedoběhne v pořádku, je potřeba daný problém reportovat do K2. Pro rychlejší vyřešení problému je vhodné projev chyby logovat do souboru, dle návodu v technické dokumentaci K2. V některých případech může být v inicializaci chyba, která je opravena ve vyšší verzi sestavení. Pokud se jedná o reinstalaci typu sestavení, pak lze chybějící inicializaci ignorovat, protože je chyba opravena a inicializace se provede během reinstalace. Ignorování kontroly je na uživateli, protože ví, že nebude reinstalovat na vyšší release nebo generační verzi. Jestliže kontrola bude ignorována a přesto se provádí reinstalace na vyšší release nebo generační verzi, bude na tuto situaci upozorňovat instalátor, který již ignorování nedovolí.

Kontrola struktur všech databází

pic_4973

Obr.: Kontrola struktur databází

Umístění: Informační systém K2

Spuštění: Správce IS K2

Oprávnění: Právo – Správce/Obecné/Servisní zásahy (1)

Podmínka: V tuto chvíli se jedná o nepovinnou akci, tedy lze bez spuštění nastavit K2 do reinstalačního módu. Vzhledem k tomu, že tato akce běží i při samotné reinstalaci a nedovolí uživateli pokračovat v případě chyb, je vhodné kontrolu provést i zde, aby se předešlo zdržení u samotné reinstalace. Tuto akci lze spustit i za normálního provozu K2 ještě před samotným zákazem přihlášení.

Popis: Po spuštění proběhne kontrola konzistence struktur všech databází aktuální K2. Tedy konfigurační databáze K2 (CONF), inicializační (INIT), demonstrační firma (DEMO) a také všech firemních databází. Kontrolou se myslí porovnání struktur, které aktuální instalace K2 očekává, s existujícími strukturami. Operace probíhá paralelně až nad osmi databázemi. Pro každou se spouští samostatný proces K2, který provádí kontrolu struktur. Rychlost kontroly je závislá na platformě, počtu kontrolovaných databází, výkonu databázového serveru, sítě atd.

Je databáze konzistentní?

V případě, že kontrola proběhla v pořádku a nevyskytují se ve struktuře žádné nekonzistence, reinstalace pokračuje bodem - Záloha všech databází 2.

Poznámka

Nekonzistenci databáze poznáme dle výstupního logu. V případě, že obsahuje chyby, zobrazí se okno K2 nebo textový soubor, v závislosti z jakého místa je kontrola spuštěna, ve kterém jsou vypsány všechny zjištěné nedostatky.

V případě nalezení nekonzistencí, pokračujeme následným krokem - Oprava nekonzistencí databáze.

Oprava nekonzistencí databáze

Umístění: Správa SQL serveru

Spuštění: Správce IS K2

Oprávnění: Oprávnění správce ke správě databází na SQL serveru

Podmínka: Povinná operace. Pokud existují nekonzistence databáze, není možné pokračovat v reinstalaci K2.

Popis: Při kontrole mohou být zjištěny následující problémy:

Existence tabulek: V případě, že v databázi chybí tabulka, kterou K2 vyžaduje, je tato skutečnost zalogována a zobrazena uživateli. Hlášení může vypadat následovně:

pic_4947.png

Obr.: Chybějící tabulka v databázi

Vytvoření chybějící tabulky je možné provést dle závislosti jejího původu.

V případě, že se jedná o speciální (zákaznickou) tabulku vytvořenou v Návrháři objektů, je potřeba v daném projektu provést operaci "Deploy", čímž zajistíme vytvoření tabulek, které neexistují.

Jestliže, že se jedná o standardní tabulku, je nutné vyhledat v adresáři instalace K2 adresář "SQL", ve kterém jsou uloženy skripty pro vytvoření databázových struktur. Pro získání skriptu na vytvoření chybějící tabulky, je nutné otevřít soubor "K2t_{Typ}_{Platforma}.SQL", kde "{Typ}" udává zda se jedná o databázi "CONF" nebo firemní, "{Platforma}" pak udává, zda se jedná o databázi typu Microsoft nebo Oracle. V souboru je pak potřeba nalézt konstrukci "CREATE TABLE název_tabulky", kterou spustíme na daném SQL serveru, například pomocí nástroje SSMS. Skript může vypadat následovně:

CREATE TABLE [dbo].[FILTERSTOCKTAKINGARTICLE] (

[FUzivatel] [int] NOT NULL,

[Cis] [int] NOT NULL,

[Zkr] [varchar] (30) NOT NULL,

[Zkr1] [varchar] (30) NOT NULL,

[Naz] [varchar] (200) NOT NULL

)

GO

ALTER TABLE [dbo].[FILTERSTOCKTAKINGARTICLE] With NOCHECK ADD

CONSTRAINT [FSTTA_ById] PRIMARY KEY NONCLUSTERED

([FUzivatel], [Cis]) ON [PRIMARY]

GO

CREATE UNIQUE INDEX [FSTTA_ByAbbr] ON [dbo].[FILTERSTOCKTAKINGARTICLE]

([FUzivatel], [Zkr])

ON [PRIMARY]

GO

CREATE UNIQUE INDEX [FSTTA_ByAbbr1] ON [dbo].[FILTERSTOCKTAKINGARTICLE]

([FUzivatel], [Zkr1], [Cis])

ON [PRIMARY]

GO

CREATE UNIQUE INDEX [FSTTA_ByName] ON [dbo].[FILTERSTOCKTAKINGARTICLE]

([FUzivatel], [Naz], [Cis])

ON [PRIMARY]

GO

Existence polí v tabulkách

Test konzistence kontroluje, zda databázová tabulka obsahuje pole dle definice. V případě, že v tabulce pole chybí nebo i přebývá, je tato skutečnost zobrazena uživateli.

Chybějící pole v tabulce

V případě chybějícího pole, je zobrazeno uživateli hlášení, které může vypadat následovně:

pic_4949.png

Obr.: Chybějící pole v databázové tabulce

Opravu tabulky je možné provést dle závislosti jejího původu.

Pokud se jedná o speciální (zákaznickou) tabulku vytvořenou v Návrháři objektů, je potřeba v daném projektu provést operaci "Deploy", čímž zajistíme doplnění pole do dané tabulky.

Jestliže se jedná o standardní tabulku, je velmi pravděpodobné, že pole chybí, protože v minulosti nedošlo ke správnému dokončení některé z konverzí při reinstalacích na novější verze. V těchto případech je možné prohlédnout konverzní skripty aktuální instalace K2. Skripty se nalézají v adresáři instalace K2 v podadresáři "SQL\konverze". Zde je sada souborů, které se používají při reinstalaci na aktuální verzi. Soubory jsou rozděleny dle databázové platformy a také dle typu databáze – CONF / firemní. Syntaxe je následovná – "K2_{typ}{verze}{platforma}.sql", kde "typ" je "C" pro konfigurační databázi (CONF), "D" je pro firemní databáze. "Verze" udává číslo, pro jakou verzi jsou konverze určeny. "Platforma" je ve tvaru "Ora" pro Oracle databázi nebo bez textu pro Microsoft SQL databázi. Dále se zde nacházejí soubory s postfixem "Additional", což jsou tzv. dodatečné konverze.

V těchto souborech je potřeba nalézt skript, který přidává chybějící pole. Ten je pak možné spustit v nástroji pro správu databáze. Se skriptem, který přidává pole je potřeba spustit i případný skript, který například může plnit hodnoty tohoto pole, konvertovat data z jiné tabulky apod. Pokud si není správce jistý, jaký skript má spustit, nebo ho nemůže v daných souborech najít, je nutné kontaktovat technické oddělení K2 a vyžádat si opravný skript. Vždy je nutné přiložit výsledek kontroly a aktuální verzi systému K2.

Poznámka

Dodatečné konverze (additional) se spouští pří každé reinstalaci i v případě reinstalace sestavení v rámci stejného releasu, tzv. malá reinstalace – opravy chyb. Ostatní soubory, bez additional, se spouští pouze jednou a to při přechodu z nižší generační verze na vyšší. Například K2 mona › K2 mia.

Přebývající pole v tabulce

V případě, že je zjištěno, že v tabulce přebývá pole, viz obrázek Přebývající pole v databázové tabulce, je nutné ho odstranit. To můžeme provést přímo ve správě databáze v nástroji určeném pro správu SQL severu, například SSMS pro Microsoft databázi. Pokud se jedná o speciální tabulku vytvořenou v Návrháři objektů, je potřeba v daném projektu provést operaci „Deploy“, čímž zajistíme srovnání struktury dané tabulky.

pic_4950.png

Obr.: Přebývající pole v databázové tabulce

Konzistence typů polí v tabulkách

Další částí testu je kontrola konzistence typů polí v tabulkách. Tedy zda odpovídá očekávaný datový typ pole s existujícím v databázi. V případě, že je v tabulce špatně definovaný datový typ pro nějaké pole, je tato skutečnost zobrazena uživateli, viz Obrázek: Chybný datový typ pole v tabulce. V případě, že se jedná o standardní tabulku, je velmi pravděpodobné, že pole má nesprávný typ, protože v minulosti nedošlo ke správnému dokončení některé z konverzí při reinstalacích na novější verze. Postup je tedy stejný jako u opravy chybějících polí v tabulkách, viz výše.

pic_4951.png

Obr.: Chybný datový typ pole v tabulce

Dalšími chybami, které může test odhalit a jedná se o obdobné problémy, které již byly popsány, včetně jejich opravy, jsou Konzistence rozsahů polí v tabulkách, viz Obrázek: Chybná délka pole v tabulce, dále Existence indexů a klíčů, viz Obrázek: Chybějící index v tabulce.

Poznámka

U problému se špatnou délkou pole, je nutné dohledat konverzní skript, který řeší danou konverzi. Pokud ho není možné najít, je nutné kontaktovat technické oddělení K2.

pic_4952.png

Obr.: Chybná délka pole v tabulce

pic_4953.png

Obr.: Chybějící index v tabulce

Poznámka

Skript k chybějícímu indexu lze najít ve stejných souborech jako u prvního bodu – Existence tabulek. Spuštěním skriptu ("Create index") dojde k jeho doplnění.

Existence fulltextových indexů

Poslední fází kontroly je test na existenci fulltextových indexů. Variant nekonzistencí může být několik.

První z nich, je chybějící fulltextový index pro konkrétní pole, viz Obrázek: Chybějící fulltextový index. V tomto případě došlo k tomu, že v K2 je zapnutá podpora fulltextových indexů a zároveň je v K2 definován fulltextový index pro pole v konkrétní tabulce. Na SQL serveru pak bylo zjištěno, že pro toto pole fulltextový index neexistuje.

pic_4954.png

Obr.: Chybějící fulltextový index

Opravu indexů provedeme přímo v K2 pomocí funkce - Správce - nastavení fulltextových klíčů (funkce č. 778). Po jejím spuštění se zobrazí formulář pro správu fulltextových klíčů, kde je možné pomocí dostupných tlačítek provést potřebnou nápravu chybějících indexů, viz Obrázek: Správa fulltextových klíčů.

pic_4955.png

Obr.: Správa fulltextových klíčů

Druhou možností nekonzistence může být naopak přebývající index. Například může přebývat index nad tabulkou, u které K2 neočekává, že nějaký index existuje, viz Obrázek: Přebývající fulltextový index.

pic_4956.png

Obr.: Přebývající fulltextový index

Nebo může přebývat jen u konkrétního pole tabulky, což znamení, že v K2 je nad tabulkou definován index, ale ne pro vypsané pole, viz Obrázek: Chybějící fulltextový index pro pole.

pic_4957.png

Obr.: Chybějící fulltextový index pro pole

V obou případech je potřeba zvážit, zda je index žádoucí. Pokud ano, pak je potřeba pomocí správy fulltextových indexů v K2 provést srovnání struktur. Pokud žádoucí není, je možné pole, tabulku nebo celý fulltextový katalog smazat přímo z databáze SQL serveru pomocí nástroje SSMS.

Poznámka

Jestliže index přebývá, znamená to, že ho K2 nevyužije. SQL server s indexem má zbytečnou režii, čímž se snižuje jeho výkon v době, kdy musí při každém založení nebo modifikaci záznamů v dotčených tabulkách, index udržovat. Je tedy doporučeno index zrušit, případně aktivovat v K2, pokud je žádoucí, aby byl používán.

Kontrola databází INIT a DEMO

Součástí kontroly jsou i databáze INIT a DEMO. U těchto databází může dojít k tomu, že budou také obsahovat nekonzistence ve strukturách. Abychom zbytečně nebrzdili proces reinstalace opravami databází, které jsou distribuovány s K2, v případě, že kontrola zahlásí chybu v těchto databázích, jednotlivé problémy nemusíme řešit postupnými opravami, ale jednoduše necháme databáze obnovit.

Pro obnovu databáze INIT spustíme v K2 z menu funkci "Správce / Systém / Správa mandantů". Vybereme databázi INIT a přepneme se na stranu číslo 2 a spustíme obnovení tlačítkem "Databáze". Po potvrzení dotazu se provede smazání a znovu vytvoření databáze pro INIT. V tomto kroku nejsou importována data. Ta se naimportují buď následnou reinstalací, nebo můžeme import provést přímo ve správě mandantů stisknutím tlačítka "Import dat". Vzhledem k tomu, že se nacházíme v procesu reinstalace, není nutné data importovat.

Záloha všech databází 2

Po opravě struktur databází je doporučeno provést zálohu těch, které byly dotčeny. Krok je definován v bodě – Záloha všech databází. Pokračujeme bodem Kontrola místa na discích (C, instalační, databáze).

Rozhodování: Databáze jsou shodné s instalovanou verzí K2

Spuštění: Správce IS K2

Popis: Toto je rozhodovací krok, ke kterému se dostaneme, pokud není k dispozici spustitelná K2. Viz Rozhodování: Je k dispozici spustitelná K2?

Pokud máme k dispozici zálohy z verze, které odpovídají instalované verzi K2 nebo ze kterých lze na instalovanou verzi provést konverze a zároveň ve složce, kam chceme instalovat, existují soubory k2.ini a sysk2.ini se správnými hodnotami, lze takovéto torzo K2 považovat za verzi, na kterou lze reinstalovat. Dále pokračujeme krokem Rozhodování: Existují zálohy databází?, jinak musíme provést krok Obnova databází ze zálohy.

Obnova databází se provádí v případech, kdy se během instalace objevily chyby, a to zejména v části SQL konverzí. Podle rozsahu chyb lze tyto chyby buď opravit, nebo obnovit zpět databáze a problémy vyřešit ještě v předchozí verzi tak, aby následující konverze proběhla v pořádku. Je vhodné případné opravy řešit s technickým oddělením K2. Jednak se oprava může jevit banální, ale navazuje na ni další logika, která mohla proběhnout bez chybového hlášení, ale kvůli předchozí chybě pracovala se špatnými daty. Další důvod je ten, že se chyba neprojevila při testování, ale až na konkrétních datech zákazníka.

Rozhodování: Existují zálohy databází?

Spuštění: Správce IS K2

Popis: V tomto rozhodovacím kroku řešíme, zda je potřeba provést zálohy databází a můžeme pokračovat krokem Obnova databází ze zálohy nebo jsou potřeba provést zálohy a pak pokračujeme krokem Záloha všech databází 2.

Obnova databází ze zálohy

Umístění: Nástroj pro správu databází

Spuštění: Správce IS K2

Popis: Krok se provádí pomocí nástrojů pro správu databází, které umožňují provádět zálohy databází, a které byly zmíněny v kroku Záloha všech databází.

Kontrola místa na discích (C, instalační, databáze)

Umístění: OS Windows

Spuštění: Správce IS K2

Oprávnění: Oprávnění správce k administraci počítače pro instalaci K2 a databázového serveru

Podmínka: Nepovinná operace. Jedná se o doporučení výrobce. Je vhodné předcházet situacím, kdy během instalace K2 dojde na některém z dotčených disků místo.

Popis: Abychom se vyhnuli problémům s nedostatkem místa na discích při reinstalaci K2, je doporučeno prověřit velikost volného místa na všech dotčených discích. Jedná se zejména o disk C na počítači, kde se instaluje K2. Na tento systémový disk se před reinstalací kopíruje MSI soubor jako instalační médium. Zároveň po dokončení reinstalace je v dočasných adresářích OS Windows tento instalační balíček uložen, dokud nedojde k odinstalaci K2.

Pokud je K2 instalována na jiný než systémový disk, je vhodné před reinstalací provést kontrolu i v tomto umístění.

Posledním místem jsou pak disky pro databáze přímo na SQL serveru. Při reinstalaci se pracuje s databázemi, například se importují data, provádí konverze struktur apod., je tedy vhodné provést kontrolu i zde.

Poznámka

Velikost požadovaného místa na jednotlivých discích je závislá na velikosti instalačního média a také na velikosti databáze. V některých případech se provádí kontrola na dostatek volného místa, například při spuštění instalace. Nastávají situace, kdy nelze kontrolu provést. Je tedy doporučeno vždy tyto informace zkontrolovat.

Spuštění reinstalace

Umístění: K2 instalátor

Spuštění: Správce IS K2

Oprávnění: Oprávnění správce k instalaci aplikací na daném počítači

Podmínka: Aktuální verze podporuje přechod na vybranou novější verzi.

pic_4958.png

Obr.: Záznamy s instalacemi K2

Reinstalace může proběhnout ve dvou režimech.

Prvním je klasická reinstalace, tedy existuje kompletní funkční verze K2, kterou máme k dispozici v K2 instalátoru na záložce "Nainstalováno", viz Obrázek: Záznamy s instalacemi K2. Nad touto instalací se spustí aktualizace na novou verzi.

V druhém případě se jedná o tzv. novou instalaci formou přebráním existující instalace K2. Při tomto postupu dochází k nové instalaci, včetně založení nového záznamu do K2 instalátoru po úspěšné instalaci. Tato aktualizace je velmi podobná klasické variantě, s tím rozdílem, že se využívá v následujících případech:

Máme pouze "torzo" z aktuální instalace K2

To znamená, že nemáme k dispozici binární soubory K2, existují pouze datové soubory, databáze, konfigurační soubory, apod. Tzv. "torzo" může vzniknout například po odinstalaci K2. K tomuto stavu může mimo jiné dojít v situaci, kdy proběhne odinstalace v rámci aktualizace a po samotné odinstalaci dojde k chybě při následné aktualizaci. V tomto případě zůstane K2 ve stavu, kdy nelze spustit a na disku zůstávají pouze datové a konfigurační soubory.

V K2 instalátoru neexistuje záznam o instalaci

Dalším důvodem je chybějící záznam o instalaci. V tomto případě nemůžeme aktualizaci spustit, protože není tato možnost k dispozici. K tomuto může dojít například v situaci, kdy se instalace migruje na jiný server, nebo potřebujeme reinstalaci provést z jiného počítače, než probíhala doposud.

Poznámka

Tuto instalaci použijeme ve všech případech, kdy nemáme k dispozici binární soubory, nebo neexistuje záznam o instalaci.

Poznámka

V případě, že provedeme aktualizaci K2 tímto způsobem, kdy to situace nevyžaduje, instalace bude v pořádku, ale na záložce "Nainstalováno" v K2 instalátoru se budou hromadit záznamy o instalacích a v systému Windows se budou hromadit instalační soubory ("msi"), které systém využívá pro odinstalaci. Když poté spustíme nad jakýmkoliv duplicitním záznamem v K2 instalátoru odinstalaci, dojde k odebrání souborů z adresáře K2, nebude spustitelná, a k uvolnění jednoho instalačního souboru z operačního systému. Další záznamy v systému zůstávají jako nekonzistentní data, včetně pohrobků instalačních souboru v systému Windows. Pozor, každý takový soubor zabírá zhruba cca 1,7 GB dat. Je tedy doporučeno aktualizace K2 provádět formou klasické aktualizace nad existujícím záznamem na záložce "Nainstalováno" v K2 instalátoru.

Po vyhodnocení stavu instalace je potřeba rozhodnout, kterou variantou budeme dále pokračovat. V případě nutnosti nové instalace formou tzv. "přebráním" pokračujeme bodem Rozhodování: Je k dispozici spustitelná K2? Pokud můžeme provést reinstalaci standardním postupem, pak postupujeme bodem Spuštění reinstalace.

Popis

Pro aktualizaci na novější verzi musí existovat v K2 instalátoru záznam s aktuální verzí, na kterém se spustí aktualizace.

Druhou podmínkou je, že aktuální verzi je možné aktualizovat na vybranou novější verzi. Tento stav ověříme pomocí výběru verze k aktualizaci v K2 instalátoru. U záznamu instalace je na výběr verze v rozbalovací nabídce ve sloupci "Instalace". Pokud není v nabídce k dispozici žádná verze, pravděpodobně nelze aktualizovat aktuální verzi na novější, která je součástí K2 instalátoru.

V případě, že není k dispozici na výběr verze, je možné najet myší nad symbol "?" na pravé straně záznamu o instalaci a K2 instalátor zobrazí informace o aktuální instalaci včetně informace, proč nebyla žádná verze nabídnuta. Díky tomuto, je možné zjistit, přes kterou verzi musí uživatel provést aktualizaci, aby mohl pokračovat.

Poznámka

K2 instalátor funguje ve dvou režimech. V prvním režimu je K2 instalátor součástí zip archivu s konkrétní verzí K2 staženou z K2 infoservisu. V tomto případě je k dispozici pouze možnost aktualizovat na verzi, pro kterou je archiv určen. Tedy v nabídce k aktualizaci bude jedna verze nebo žádná dle podmínky.

V druhém režimu funguje K2 instalátor tak, že se nainstaluje na počítač, který slouží k instalacím, uživatel se po spuštění přihlásí k FTP serveru K2 a má k dispozici všechny aktuálně uvolněné verze K2 a ostatních produktů. V tomto případě bude mít v rozbalovací nabídce "Instalace" verzi, na kterou je možné provést aktualizaci.

Spuštění aktualizace K2 provedeme výběrem verze a kliknutím na tlačítko "Proveď" v instalačním záznamu K2 instalátoru.

Instalace pokračujeme následujícím krokem.

Rozhodování: Existuje původní K2?

Umístění: K2 instalátor

Spuštění: K2 instalátor

Popis: Ve složce, kterou máme určenou instalátorem nebo která byla vybrána během instalace, se nachází spustitelná K2. Pokud ano, provedou se automaticky kontroly povinných inicializací verze a kontroly struktur databází. Postup a případné opravy jsou popsány v bodech Kontrola povinných inicializací verze přes všechny databáze a kontrola struktur všech databází.

Rozhodování: Existuje záznam v instalátoru?

Umístění: K2 instalátor

Spuštění: K2 instalátor

Popis: Toto rozhodnutí se provádí interně v instalátoru a uživatel do něj jinak nezasahuje. Záznam v instalátoru znamená, že instalace byla spuštěna ze strany Nainstalováno, viz Obrázek: Záznamy s instalacemi K2. Pokud takový záznam existuje, pokračuje se následujícím krokem, jinak se pokračuje Instalace souborů nové verze.

Odebrání stávající instalace K2

Umístění: K2 instalátor

Spuštění: Instalační průvodce K2 (MSI soubor)

Popis: Prvním krokem, který provádí instalátor při aktualizaci K2 standardní cestou, je odebrání stávající instalace. Při tomto procesu jsou odebrány všechny soubory, které byly nainstalovány. Soubory, které nejsou přidány instalací, zůstávají v adresáři instalace. V případě, že je některý soubor z instalace modifikován, neodpovídá tedy souboru, který byl nainstalován, je také instalátorem ponechán.

Rozhodování: Odebrání v pořádku?

Při odebírání původní instalace může dojít k chybě. Stejně tak může dojít k chybě v následném kroku, kdy se spouští nová instalace. Pokud se tak stane, nacházíme se ve stavu, kdy nemáme instalaci K2, protože byla odebrána, a nemáme tak záznam k opětovnému spuštění aktualizace, která skončila chybou.

Jestliže odebrání instalace proběhlo úspěšně a nová instalace se rozběhla, pokračujeme bodem Instalace souborů nové verze.

Pokud odebrání selhalo, případně následná aktualizace a stávající instalace byla odebrána, vracíme se na začátek reinstalace a pokračujeme bodem Rozhodování: Je k dispozici spustitelná K2? nebo můžeme instalační proces ukončit, ale v tuto chvíli nebude K2 dostupná.

Instalace souborů nové verze

Umístění: K2 instalátor

Spuštění: Instalační průvodce K2 (MSI soubor)

Popis: Nová instalace se spouští po úspěšném odebrání předchozí instalace, nebo v případě, že aktualizujeme K2 formou přebrání stávající instalace. V tomto kroku se začnou kopírovat nové soubory, které jsou součástí instalace K2. Po úspěšném nakopírování je založen v OS Windows záznam o instalaci.

Po úspěšném nakopírování souborů se pokračuje automaticky dalším krokem, který nemůže uživatel ovlivnit. Jedná se o krok SQL konverze.

SQL konverze

Umístění: K2 instalátor

Spuštění: Instalační průvodce K2 (MSI soubor)

Popis: V této fázi spouští instalátor K2 soubory s konverzním SQL skripty, které převádí databázovou strukturu pro novou verzi. V závislosti o jakou aktualizaci se jedná, se spouští různé množství souborů.

Následující tabulka shrnuje seznam souborů, které se spouští v závislosti na databázové platformě a také v závislosti na rozsahu aktualizace. V případě aktualizace na novou verzi, například K2 mia › K2 luna, se spouští všechny tyto soubory. V aktualizacích menšího charakteru se spouští pouze některé.

Soubor

Platforma

Popis

Nová verze

Nový release

Nové sestavení

K2_C2020.sql

MS SQL

CONF databáze

X

 

 

K2_C2020Ora.sql

Oracle

CONF databáze

X

 

 

K2_C2020Additional.sql

MS SQL

CONF databáze

X

X

X

K2_C2020OraAdditional.sql

Oracle

CONF databáze

X

X

X

K2_D2020.sql

MS SQL

firemní databáze

X

 

 

K2_D2020Ora.sql

Oracle

firemní databáze

X

 

 

K2_D2020Additional.sql

MS SQL

firemní databáze

X

X

X

K2_D2020OraAdditional.sql

Oracle

firemní databáze

X

X

X

V konverzních souborech, které se spouštějí při nové verzi, jde o jednorázovou a neopakovatelnou konverzi. V těchto případech dochází k velkým konverzím, kdy dochází k přesunům dat apod. Takovéto operace již nelze opakovaně spouštět. Mohlo by dojít k poškození databázových struktur nebo k nekonzistenci v datech.

Ostatní konverzní soubory se spouští vždy. Většinou se jedná o operace typu přidání nového pole do databázové tabulky, nová tabulka apod. Tyto soubory jsou připraveny na opakované spouštění bez rizika poškození databáze nebo její konzistence.

Pokud dojde při spouštění konverzí k chybě, je každá chyba zapsána do výstupního souboru "sql_inst.log", který se nachází přímo v adresáři instalace K2. V případě chyby je tento soubor na závěr konverze zobrazen uživateli.

Poznámka

Jestliže dojde k chybě během aktualizace, potom co proběhla konverze, a je potřeba celou aktualizace provést znovu, musí se nejprve obnovit databáze ze zálohy. Jedná se pouze o stav, kdy jsou spuštěny konverze, které nelze opakovaně spouštět, viz tabulka výše. Pokud byla záloha databáze provedena pouze před celou reinstalací a ne až po všech kontrolách, bude nutné nainstalovat nebo obnovit ze zálohy původní souborový systém K2, aby bylo možno provést všechny kontroly a přípravy.

Po provedení konverzí databází pokračuje aktualizace bodem Povinné inicializace - část 1/2.

Povinné inicializace část 1/2

Umístění: K2 instalátor

Spuštění: Instalační průvodce K2 (MSI soubor)

Popis: V rámci povinných inicializací fáze 1 se provádí pouze nápravy struktur, které nebylo možné provést spuštěním některého sql skriptu.

Rozhodování: Existovalo původní K2 exe?

Umístění: K2 instalátor

Spuštění: Instalační průvodce K2 (MSI soubor)

Popis: Pokud ve složce, kam se instaluje nová K2, chyběl spouštěcí soubor k2.exe a tím pádem nemohly být provedeny kontroly struktur před reinstalací, provedou se tyto kontroly nyní. Jestliže kontroly byly již spuštěny na původní K2, pokračuje se bez těchto kontrol krokem Aktualizace rozšíření.

Aktualizace rozšíření

pic_4972.png

Obr. Aktualizace rozšíření

Umístění: K2 instalátor

Spuštění: Instalační průvodce K2 (MSI soubor)

Popis

Po každé reinstalaci K2 je nutné provést i aktualizaci všech rozšíření, které jsou na K2 nainstalovány. Aktualizace se provádí při reinstalaci automaticky.

V rámci této akce se provádí srovnání struktur Návrháře objektů s novou verzí K2. Aktualizace může probíhat v několika krocích a podle počtu a závislostí rozšíření a počtu mandantů může trvat různě dlouho.

Jestliže během aktualizace rozšíření dojde k chybě, řeší se až po ukončení reinstalačního procesu. Reinstalace pokračuje dalšími kroky.

Možné problémy

V případě, že aktualizace během reinstalace nedoběhne úspěšně, je při spouštění K2, uživatelům, kteří mají právo na servisní zásahy, zobrazeno hlášení o rozšířeních, které nejsou aktuální, viz Obrázek: Hlášení - zastaralé rozšíření v K2.

pic_4995.png

Obr.: Hlášení - zastaralé rozšíření v K2

V tomto případě je nutné provést aktualizaci ručně. K2 se musí spustit se speciálním parametrem EXTENSIONS=UPDATE RSOFF=1. V tomto momentě K2 začne aktualizovat všechny rozšíření, které jsou na dané K2 zastaralé. V závislosti na rozšířeních je možné, že bude během aktualizace vyžadován restart K2. Poznáme to tak, že se K2 ukončí. V tomto momentě je potřeba spustit aktualizaci znovu se zmíněným parametrem. Jakmile K2 zůstane po aktualizaci spuštěná, je vše v pořádku aktualizováno a hlášení by se již nemělo zobrazovat.

Poznámka

Stav rozšíření je možné ověřit ve formuláři pod funkcí „Rozšíření“ v Návrháři objektů, kde je u každého rozšíření informace o stavu. Jedná se o sloupec „Aktuální“, viz Obrázek: Stav rozšíření na K2.

pic_4996.png

Obr.: Stav rozšíření na K2

Poznámka

Rozšíření bude na K2 fungovat i v případě, že bude zastaralé. Není ale vhodné v tomto stavu K2 ponechat. Při operaci aktualizace dochází ke konverzi struktur, doplňují se nové, případně zrušené vlastnosti, které jsou zohledněny až po aktualizaci a je tedy doporučené udržovat zkompilované soubory rozšíření ve stejné verzi jako je verze K2.

Poznámka

V případě přechodu na verzi K2 mia.03 je nutné provést konverzi formátu rozšíření z verze 1.0 na verzi 2.01.

Konverze struktury rozšíření do nového formátu

Ve verzi K2 mia (přesněji K2 mia.03) došlo ke změně formátu souborů pro rozšíření Návrháře objektů. Jedná se jak o definiční xml soubor (rozšíření), tak o soubory, které vznikají pro běh K2 (extensions). Struktury byly povýšeny na verzi 2.02. Informaci lze vidět na Obrázku: Stav rozšíření na K2, ve sloupci „Formát“. Pokud proběhne reinstalace na tuto verzi K2, rozšíření budou fungovat dále, ale jen do doby, kdy je potřeba provést nějakou úpravu. Před jakoukoliv modifikací je nutné nejprve provést konverzi na novou verzi 2.02.

Konverze se spouští úplně stejně jako aktualizace, tedy parametrem EXTENSIONS=UPDATE RSOFF=1. Dokud tato operace neproběhne, není možné modifikovat rozšíření v Návrháři objektů. Po konverzi je v adresáři „extensions“ již nová struktura. Pro definici rozšíření, ale zůstala stará varianta xml souboru. K2 nezná umístění zdroje pro adresář „extensions“, nelze proto provést konverzi definice automaticky. Následně pokud se uživatel pokusí otevřít (po konverzi) zastaralou definici rozšíření, K2 pozná, že již existuje v adresáři „extensions“ novější rozšíření a automaticky uživateli nabídne převod definice na novou strukturu v místě, ze kterého definici otevírá. Převod je nutné potvrdit, jinak Návrhář objektů nedovolí dále s touto definicí pracovat.

pic_4997.png

Obr.: Informace o zastaralé definici rozšíření

Poznámka

V textu je zmíněno, že K2 bude fungovat na staré struktuře, dokud nebude potřeba její modifikace. Tento režim samozřejmě nedoporučujeme. Správce by měl provést konverzi na novou strukturu, aby bylo zajištěno, že verze zdrojů rozšíření je vytvořena na stejné verzi K2, na které je spuštěno.

Možnosti parametru EXTENSIONS

Parametr EXTENSIONS nabývá několika hodnot, které je možné použít. Jedná se o následující varianty:

Parametr

Popis

EXTENSIONS=OFF

K2 se spustí bez rozšíření.

EXTENSIONS=UPDATE

Při spuštění se provede aktualizace všech rozšíření instalovaných v K2, která jsou zastaralá.

EXTENSIONS=UPDATE_ALL

Při spuštění se provede aktualizace všech rozšíření instalovaných v K2 bez ohledu na to, zda jsou zastaralá či nikoli. Je vhodné využít při přenosu adresáře „extensions“ z jiné, testovací K2, která má shodnou verzi jako aktuální K2.

EXTENSIONS.EXT=název

K2 použije soubory rozšíření z adresáře „extensions.{název}“. Parametr je vhodné využívat pro ladící účely, kdy je možné spustit K2 s rozšířením, které je k dispozici pouze s uvedeným parametrem.

Import dat

Umístění: K2 instalátor

Spuštění: Instalační průvodce K2 (MSI soubor)

Popis: Do K2 se importují nová data pro systémové mandanty DEMO a INIT. Dále se importují systémové záznamy pro různé tabulky do všech mandantů a v neposlední řadě probíhá aktualizace standardních skriptů.

Povinné inicializace část 2/2

Umístění: K2 instalátor

Spuštění: Instalační průvodce K2 (MSI soubor)

Popis: V této části instalace se provádí akce, které nešlo provést v rámci konverzí, nebo které vyžadují logiku K2, nebo je potřeba nový skript.

Import licence

Umístění: K2 instalátor

Spuštění: Instalační průvodce K2 (MSI soubor)

Popis: Do K2 se importuje nová licence ze souboru, který byl vybrán během instalace. Tento import probíhá pouze u reinstalace verze nebo přebírání instalací.