ABRA BI - Často kladené dotazy
V url adrese stránky je možné předávat i přihlašovací údaje. Parametry se jmenují username a password.
https://portal.firma.cz/abrabi/app/aplikace/stranka?username=admin&password=heslo
Pokud bude potřeba přihlásit jiného uživatele než admin (pomocí autentizační modulů), je třeba do parametru username přidat i jméno autentizačního modulu (jak je zadané v ABRA BI). Jméno autentizačního modulu je na začátku a je oddělené od přihlašovacího jména uživatele pomocí znaku /.
https://portal.firma.cz/abrabi/app/aplikace/stranka?username=simple/karel&password=heslo
Parametry username a password jsou z url adresy odstraněny, takže se pak v prohlížeči nezobrazují.
Pokud je potřeba načíst stránku synchronně (celou najednou), je potřeba do url adresy doplnit parametr synchronized a nastavit mu hodnotu true.
https://portal.firma.cz/abrabi/app/aplikace/stranka?synchronized=true
Parametr synchronized nemá vliv dohledávání a ukládání cachovaných dat.
Vypnout zobrazování hlavičky uživatelsky definovaných stránek je možné buď v definici stránky (volba Skrýt hlavičku), nebo je možné doplnit do url adresy parametr hide_header a nastavit mu hodnotu true. Parametr hide_header v url adrese má vyšší váhu než nastavení v definici stránky.
https://portal.firma.cz/abrabi/app/aplikace/stranka?hide_header=true
Parametr hide_header nemá vliv dohledávání a ukládání cachovaných dat.
Aby byly stránky, které mají nastavené cachování vždy napočtené (aby se prvnímu uživateli neprováděl výpočet v okamžiku dotázání se na stránku), je třeba nechat si napočítat dané stránky nějakým časovačem (v kratším intervalu, než je definovaná platnost cachovaných dat dané stránky). Aby došlo v tomto okamžiku k zahození starých nacachovaných informací k dané stránce, je potřeba do url adresy stránky doplnit parameter refresh a nastavit mu hodbnotu true.
https://portal.firma.cz/abrabi/app/aplikace/stranka?refresh=true
V tomto případě dojde vždy k znovu načtení stránky. Aby bylo možné vyvolat napočtení nějakým nástrojem (např. wget) je potřeba přidat i parametr synchronized.
wget "https://portal.firma.cz/abrabi/app/aplikace/stranka?refresh=true&synchronized=true"
Pomocí parametrů pro konfiguraci Tomcatu je možné zařídit, aby odpovědi určitých typů (mime-type) byly komprimované. Největší význam to má u textových odpovědí - jedná se o prostý text, xml, javascripty a css. Klient (prohlížeč) si s tím poradí a přes síť se přenáší 4x až 10x méně dat. Stačí v souboru server.xml (v konfiguraci Tomcatu) nastavit v definici Connectoru následující atributy:
compression="on" compressionMinSize="2048" compressableMimeType="text/html,text/xml,text/javascript,application/javascript,application/x-javascript,text/css"
Pokud se chcete připojit na MSSQL server, který vyžaduje SSL komunikaci, nastává problém díky zavedené bezpečnostní opravě v javě 1.6.0_29 a 7.0.0_1 firmou Oracle (proti tzv. SSL/TLS BEAST attack). Tato bezpečnostní oprava způsobuje problém JDBC driveru pro připojení na MSSQL server.
Tuto bezpečností opravu je možné vypnout pomocí následujícího parametru JVM stroje:
-Djsse.enableCBCProtection=false
Nebo nastavit proměnnou prostředí:
JVM_SUPPORT_RECOMMENDED_ARGS="-Djsse.enableCBCProtection=false"
Nastavení tohoto parametru ovlivní veškerá SSL spojení (nejen na MSSQL server), která se v daném JVM vytvářejí.
V případě, že je před Tomcatem předsazený Apache, je potřeba v konfiguraci Apache nastavit takto parametr ProxyPreserveHost:
ProxyPreserveHost On
Tím se zajistí, aby Apache nastavoval původní hostname do atributu Host hlavičky requestu redirektovaného na Tomcat (mění tím cílovou URL). Díky tomu pak bude Wicket dávat správnou doménu do absolutních URL generovaných dle zadané page. Pokud se toto nedodrží, přestane fungovat například přihlašování přes OAuth (redirect zpět z providera).
Od verze 11.0.6 je k dispozici možnost při prvotním spuštění nechat ABRA BI automaticky nastavit podle předaných informací. Informace pro nastavení ABRA BI musí být dostupné v souborech v adresáři init, který se nachází pod adresářem, odkud je startovaný tomcat nebo jettyrunner. Pokud není možné umístit init adresář na toto místo, je možné pomocí konfiguračního parametru určit jiné místo. Např.
-Dabra.init.dir=c:/muj_init_dir
Z adresáře init umí proces, který způsobí nastavení instalace, přečíst následující soubory:
- definition.xml - obsahuje základní informace o instalaci:
<Definition>
<InstallationName>Test</InstallationName>
<EmailerDisabled>True</EmailerDisabled>
<AdminPassword>adminheslo</AdminPassword>
<DefaultUrl>http://localhost:8080</DefaultUrl>
</Definition>
- licence.key - soubor s licencí k ABRA BI
- connection.xml - soubor obsahující definici základního spojení - tedy místo, kde se vytváření tabulky ABRA BI
<Connection Name="basic">
<Kind>H2</Kind>
<Url>jdbc:h2:./basedata;MULTI_THREADED=1;LOCK_TIMEOUT=10000</Url>
<Properties>
<Property Name="user">sa</Property>
<Property Name="password">sa</Property>
<Property Name="trace_level_file">0</Property>
</Properties>
</Connection>
Kromě těchto základních nastavení umí automatizovaný init proces zadefinovat spojení (přidat definice spojení) a nahrát a připojit (zfunkčnit) vybrané aplikace.
Z adresáře conns podřízeného adresáři init, se v systému vytvoří definice spojení. Soubory s definicemi spojení musí mít příponu .xml a například tento obsah:
<Connection Name="lokalni">
<Kind>FB</Kind>
<Url>jdbc:firebirdsql:localhost:/opt/databases/ekotez.fdb</Url>
<Properties>
<Property Name="user">sysdba</Property>
<Property Name="password">masterkey</Property>
<Property Name="lc_ctype">UNICODE_FSS</Property>
</Properties>
</Connection>
Pokud je uvedený atribut Name, přebere se pojmenování spojení z něj. Neexistuje-li použije se jméno ze jména souboru.
Z adresáře apps podřízeného adresáři init, jsou nahrané do systému aplikace. Soubory s aplikacemi musí mít formát, ve kterém se z jiné instalace ABRA BI vyexportují. Nutná je i přípona .definition. Kromě souborů *.definition se z adresáře apps zpracovávají také soubory *.xml. Pomocí stejnojmenného souboru (jako je soubor s aplikací) s příponou .xml se řídí napojení konektorů dané aplikace na definice spojení a publikace této aplikace. Obsah tedy může vypadat např. takto:
<Definition>
<Connect Connector="data" Connection="firemni"/>
<Publish URLPrefix="examples" Access="1"/>
</Definition>
Z adresáře auths podřízeného adresáři init, jsou nahrané do systému definice autentizačních pluginů typu Gx. V definici autentizačního pluginu je potřeba odkázat na definici spojení, nastavit úroveň automatické registrace a případně určit výchozí role. Soubory s definicemi autentizačních pluginů musí mít příponu .xml a mají např. tento obsah:
<Definition>
<Name>GX lokálni</Name>
<UserSelfRegistration>3</UserSelfRegistration>
<Connection>lokalni</Connection>
<DefaultRole Name="appuser" Application="standard_cz"/>
</Definition>
Obsah adresáře pak může vypadat např. takto:
init ├── apps │ ├── examples.definition │ ├── examples.xml │ ├── standard_cz.definition │ └── standard_cz.xml ├── auths │ ├── firemni.xml │ └── lokalni.xml ├── conns │ ├── firemni.xml │ └── lokalni.xml ├── connection.xml ├── definition.xml └── licence.key
Při použití databázového serveru Firebird 3.x se může stát, že spojení nefunguje. Objevuje se chyba související s přihlášením. Toto je způsobeno novým chováním při přihlašování. Konfiguraci serveru Firebird je třeba upravit tak, aby v ní byly následující řádky:
WireCrypt = enabled
Více viz Parametr WireCrypt databázového serveru.
Na windows se někdy neuvolní některé resources ve složce: "…TomcatX/webapps/JMENO_APLIKACE", kvůli kterým potom nelze správně provést undeploy aplikace. Je možné problém vyřešit úpravou souboru context.xml v "…TomcatX/conf/context.xml" přidáním parametru do tagu "Context":
<Context antiResourceLocking="true">
Z bezpečnostních důvodů byl zaveden maximální čas pro výpočet jedné komponenty, po jehož uplynutí je výpočet ukončen. Důvodem je libovolná uživatelská provázanost mezi komponentami a možnost libovolně volat refresh komponenty jako reakci na určitou událost, což může teoreticky vést k nekonečnému zacyklení. Z tohoto důvodu je maximální možný čas pro výpočet jedné komponenty stanoven na 2 min. Tento čas lze nastavit parametrem javy:
-Dabra.abrabi.max_resolve_time=XXXXX
XXXXX je čas v milisekundách.