==== Provoz aplikací obecného klienta s/bez rámců ==== Obecný klient ESO9 umožňuje od verze 5.8 (datum vydání leden 2019) provoz aplikací s i bez rámců (HTML frames). Ve výchozím nastavení (tj. po instalaci) je nastaven provoz bez rámců. Pokud potřebuje implementátor (např. z důvodu úprav navigace své custom aplikace) vrátit provoz svých aplikací na verzi s rámci, je třeba provést několik konfiguračních kroků. Od verze 5.9 (datum vydání červenec 2019) je možný provoz obecného klienta pouze bez rámců.\\ Principiální rozdíl v provozu s/bez rámců spočívá v tom, že v aplikaci s rámci je obrazovka internetového prohlížeče rozdělena na 4 nezávislá okna, která mají každé svůj vlastní HTML kód a která každé samostatně komunikují s aplikačním serverem. Zatímco v aplikaci bez rámců je obrazovka prohlížeče tvořena jediným oknem (někdejší hlavní pracovní okno aplikace), které obsahuje primárně pouze kód činnosti, kterou uživatel provádí. Na pozadí se mu přitom do jediné stránky dotahují ostatní panely, které dotváří navigaci; zejména strom činností a horní menu. V uživatelských aplikacích může být samozřejmě struktura navigace (tj. panelů okolo hlavního pracovního okna) jiná.\\ Následující výčet obsahuje všechny konfigurační prvky, které bezrámcový provoz umožňují.\\ === Aplikační parametr NAVIG_STRUCT === Od v5.8 existuje nový aplikační parametr (//NAVIG_STRUCT//), který obsahuje relativní cestu a název souboru s definicí struktury navigace. Ve výchozím nastavení obsahuje text //"NavigOK.json"//, tj. definice struktury navigace se hledá v souboru NavigOK.json v kořenové složce Start adresáře. Pokud bude adresář prázdný, předpokládá se provoz s rámci. === Soubor s definicí struktury navigace (NavigOK.json) === Do v5.7 byla struktura navigace popsána v souboru //ESOFrame.htm//, ve kterém byla v jazyce HTML popsána struktura rámců, na něž je aplikace ESO9 rozdělena (horní menu, strom činností, hlavní pracovní obrazovka, pravý pruh s událostmi). Od v5.8 je tato definice pro obecného klienta uložena v souboru //NavigOK.json// (resp. v souboru daném aplikačním parametrem //NAVIG_STRUCT//) v jazyce JSON. === Soubor s definicí skriptů obecného klienta === Skripty a styly, které tvoří obecného klienta, se do stránek generují podle definice uvedené v souboru //LIB\eso9.ver.xml// v Support webu. Protože se tato definice pro provoz klienta s a bez rámců liší, existuje v instalaci verze 5.8 navíc soubor //eso9.ver.xml.frames// pro provoz s rámci. Pro uplatnění definice bez rámců je třeba soubor přejmenovat na //eso9.ver.xml// a restartovat službu aplikačního serveru. === Vstupní stránka do aplikace === Vstup do aplikace (stránka //Default.htm//) byl pro provoz s rámci řešen odkazem na statickou stránku popisující strukturu navigace (//esoform.asp?TURL=esoframe.htm//). Pro vstup do aplikace bez rámců stačí odkazovat na základní vstupní stránku uživatele (//esoform.asp?FormType=LogUser//), popř. na libovolnou statickou vstupní stránku (je ale vhodnější řešit konkrétní vstupní stránku dynamicky v tabulce uživatelů). === Předlohy ve Start webu obecného klienta === Vybrané stránky z ESO9 Start nelze v aplikaci bez rámů provozovat. Typicky se jedná o stránky, které interně samy používají rámce (HTML tagy //frameset// a //frame//). Tyto stránky jsou v obecném klientovi řešeny principiálně jinak. Aby zůstala funkčnost těchto formulářů zachována pro klienta v Internet Exploreru, jsou stránky upravené pro provoz v obecném klientovi uložené ve složce //.OK// ve Start adresáři.\\ Klíčové jsou pak stránky související s navigací, především //esomenu.htm//, //nastaveni/cinnost_strom.idc// a //nastaveni/cinnost_strom_2.htx//. Pokud jsou v dané aplikaci v Profi verzi (tj. v aplikačním webu), je třeba je zrušit (či upravit dle startkových) a použít stránky ze Start adresáře pro obecného klienta (//ESO9Start/.OK//).\\ === Mobilní aplikace === Mobilní aplikace používají pouze předlohy ze svého aplikačního webu, takže se jich úprava pro provoz bez rámců nedotkne. Pouze je třeba zkontrolovat, že aplikace nemá nastaven Start adresář vedoucí na naše verzové předlohy. Protože mobilní aplikace používají stejnou databázi, jako desktopové, používají i stejný aplikační parametr //NAVIG_STRUCT// a v případě nastavení Start adresáře by se jim do každého formuláře generoval strom činností a horní menu.