RON dokumentace

Dokumentace

Dokumentace obsahuje nápovědu ke konfiguraci RON Portálu.

Dokumentace k XML formulářům je samostatně zde.

Požadavky na systém

doporučujeme používat vždy aktuální verze webových prohlížečů

Nastavení časové zóny v PHP.ini

    date.timezone = "Europe/Prague"
bez toho může PHP hlásit warning:
Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function.

reset IIS serveru z příkazového řádku

    net stop w3svc
    net start w3svc

Použití znakové sady UTF-8

- pokud ovladač databáze umožňuje načítání dat v UTF-8 (umožňuje to například sqlsrv), lze zapnout v _appdbset.php:
    $charset = 'utf-8';

Špatné zobrazení diakritiky načtené z databáze (některá písmenka jsou bez háčků, např. č, ř)

- chyba se vyskytuje obvykle na anglických windows
- je potřeba v nastavení windows změnit "jazyk pro programy které nepodporují unicode"

Připojení k databází pomocí Windows Authentication

Je potřeba povolit přístup do databáze uživateli, pod kterým běží php procesy spouštěné z IIS - (Na Windows 10 obvykle IIS APPPOOL\DefaultAppPool)

Na Windows 10 jsem použil tento postup v SQL Management studiu: Pokud webserver poběží na jiném počítači než SQL Server, tak asi bude potřeba použít doménový účet a přenastavit IIS - netestoval jsem.
Pokud je na webserveru vypnut anonymní přístup (obvykle kvůli automatickému přihlášení), tak asi i připojení k databázi bude pod přihlášeným uživatelem - netestoval jsem
Pak v _appdbset.php zadat:
    $db_user = null;
    $db_password = null;

Načítání velkých dat (obrázků, dokumentů) z databáze

Pokud se databáze připojuje přes ODBC, je potřeba v php.ini nastavit dostatečně velkou hodnotu pro maximální velikost datového pole, např:
odbc.defaultlrl = 2000000
Stejně tak je potřeba nastavit limity v případě přímého připojení přes MSSQL:
mssql.textlimit = 2000000
mssql.textsize = 2000000

Oracle

je k tomu potřeba mít nainstalované knihovny Oracle - např. Instant Client, ke stažení zde: http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html8
Soubory musí být u php.exe nebo v cestě. Mělo by stačit nakopírovat k php.exe tyto soubory:
    oci.dll, ociw32.dll, oraociei12.dll, oraons.dll

Odesílání emailů

Uživatelské texty a překlady

Uživatelská práva

V aplikaci je možné přidat nové typy práv:

Nastavení překladů

- výchozí jazyk se nastaví pomocí řádku:
$defaultlang = "cz";
- jako hodnotu je místo "cz" možné zadat jakýkoliv adresář s překladem, např. eng, sk
- nastavení uživatele je uloženo v cookies prohlížeče, takže při příštím spuštění se použije poslední uživatelem zvolený jazyk
- je možné nastavit jazyk nového uživatele "natvrdo" (nepoužije se hodnota z cookies) zadáním
$g_language = "cz";

Chybová hláška Internal server error 500

- podrobný popis chyby by měl být v logu PHP (ke stažení na stránce menuid=admin)
Nejčastější příčiny

Debug mód

- Debug mód je nutné povolit v _appdbset.php:
$enabledebugmode = 1;
- po zadání parametru debug=1 v URL se pak budou zobrazovat debugovací hlášky:
http:// .... ?debug=1

Zobrazování warningů a "zdechání" Intrawebu

- zkontrolujte v php.ini nastavení

Uživatelská úprava stylů (vzhled, barvy, písma)

- uživatelské styly můžete nastavit přímo v Portálu, menu Nastavení Portálu, záložka Uživatelské styly CSS
- nebo vytvořte v rootu intrawebu soubor s_user.css a v něm nadefinujte požadované změny css stylů

Další uživatelské soubory:

user_beforeshow.php - načte se těsně před zobrazením HTML
user_session.php - načte se před session_start

Úprava a přízpůsobení vzhledu Intrawebu

- zkopírujte soubor s_user.css z podadresáře Install do hlavního adresáře Intrawebu
V tomto souboru můžete následně provádět uživatelské úpravy stylu stránek
Úpravu stylu můžeme provést také na zakázku (včetně grafického návrhu nebo podle Vašeho vlastního návrhu)

V některých formulářích je možné zobrazit i odkazy na stáhnutí tiskových sestav:

- Zpracovaná docházka - zobrazují se formuláře s kódem začínajícím ZpracovanaDochazka...
- Služební cesta - zobrazují se sestavy s kódem SluzebniCesta_... a do sestavy je předána proměnná IdSluzebniCesty
- Detail absence - zobrazují se sestavy Absence_... a jsou definované proměnné poradi a datumOd

Spouštění skriptů

Pro správnou funkčnost je potřeba

Tisk

- musí být nasteveno spouštění agentů (remote executor)
- v _appdbset musí být správně nastaveny parametry pro připojení k report serveru, např:
$reportserver = 'localhost';
$reportserverport = 9090;
$showReports = true;  // nepovinne - zobrazi polozku Tisk v menu
Tisk z XML - tag <report> - viz dokumentace k XML

Připojení na databázi z Linuxu

jednou z možností je použítí zastaralého rozšíření mssql s knihovnou FreeTDS
Konfigurace v php.ini:
mssql.charset = CP1250
(toto lze zadat i primo v _appdbset.php pomoci ini_set('mssql.charset', 'CP1250');

Příklad konfigurace freetds.conf (obvykle v /etc/freetds.conf) - nutno upravit podle vlastního nastavení
[jmeno-serveru]
host = jmeno-serveru
instance = SQLExpress
tds version = 7.0
client charset = cp1250

další možností je použití ODBC v kombinaci s FreeTDS. Konfigurace ODBC je popsána zde: http://www.freetds.org/userguide/odbcconnattr.htm

Pokud se nekdy zobrazuje: Chyba v SQL dotazu! Unicode data in a Unicode-only collation or ntext data cannot be sent to clients using DB-Library (such as ISQL) or ODBC version 3.7 or earlier. tak pravděpodobně není nastaveno tds version = 7.0 (případně 8 atd)

Vitrína – parametry v url:

1. kodjidelny - do url se zadá číslo terminálů, např. „&kodjidelny=1“
h 2. cena - do url se zadá, zda se má zobrazit cena, např. „&cena=1“ pro zobrazení ceny u položky a „&cena=0“ pro její skrytí
3. pocetsloupcu – do url se nastaví v kolika sloupcích se mají položky zobrazovat.

Pro nastavení zobrazení max. 8 položek na výšku se nemusí zadávat nic. Implicítně je nastaven počet sloupců na hodnotu 2.
Pro zobrazení max. 8 položek na šířku je potřeba zadat parametr „&pocetsloupcu=4“, tedy zobrazí se 8 položek ve 4 sloupcích. Lze samozřejmě zobrazit položek více, pro rovnoměrné rozložení po obrazovce je potřeba zvýšit počet sloupců.

Warning Null value is Eliminated by an Aggregate or Other SET Operation

PHP Warning: odbc_execute(): SQL error: [Microsoft][ODBC SQL Server Driver][SQL Server]Warning: Null value is eliminated by an aggregate or other SET operation., SQL state 01003 in SQLExecute in D:\RON\WEB\db\odbc.php on line 132
Zobrazuji se např. ve zpracované docházce (konkrétně to dělá načtení schválení docházky)
Dělá to v případě, že jsou povolené warningy (na produkčním serveru by neměly být) a v ODBC zdroji je zaškrtnuto "Use ANSI nulls, paddings and warnings" viz https://blog.sqlauthority.com/2015/02/13/sql-server-warning-null-value-is-eliminated-by-an-aggregate-or-other-set-operation/