Next
Previous
Contents
Hlavní aplikace je v souboru masser, který musí být nainstalován tak,
aby byl přístupný pro web server (například apache). Aplikace samotné
mohou být uloženy v podstatě kdekoliv jinde, doporučuji je umístit
mimo dosah web serveru, aby nebyly ani případnou chybou dostupné
protokolem http.
Jde o fast-cgi aplikaci, hlavní program je tedy spuštěn web serverem 
(dle konfigurace buď při startu nebo při prvním požadavku).
Po startu program načte konfiguraci:
- pokud je nastavena proměnná prostředí MASSER_CONFIG,
načte ji ze souboru podle jejího obsahu
- jinak čte soubor masser.conf
- pokud soubor neobsahuje absolutní cestu, masser hledá postupně v
těchto adresářích:
- aktuální adresář
- adresář /usr/etc
- adresář /etc
 
Po příchodu požadavku systém zpracuje parametry, nejdříve z URL požadavku, 
poté proměnné požadavku (GET nebo POST požadavek).
- za částí URL vedoucí ke skriptu masser jsou zpracovány
jedna či dvě části (v debug módu mohou být tři:
- pokud je první argument _source, program
zobrazí přeložený zdrojový kód stránky
- první je považován za kód aplikace
- druhý je považován za (seznam) stránek k zobrazení
 Příklady:
- /cesta_k_aplikaci/masser/TEST
- zobrazí (default) stránku aplikace TEST 
- /cesta_k_aplikaci/masser/_source/TEST/page1
- zobrazí zdrojový kód stránky page1 aplikace TEST 
 
- dále jsou zpracovány tyto proměnné (pokud už nejsou načteny z
předchozího bodu:
- APP
- jméno aplikace (doporučuji velkými písmeny), pokud není
vyplněno, doplní se APP 
- PG
- seznam stránek, které mají být zobrazeny, oddělený
čárkami, pokud není vyplněno, doplní se default 
- OP
- seznam operací, které mají být provedeny, oddělený
čárkami, pokud není vyplněno, je prázdný 
- LANG
- kód jazyka, pokud není vyplněno, doplní se CZ 
- SCH
- kód schématu, pro použití aplikací 
- SID
- Session Identification, pro použití aplikací 
 
Poté je inicializována aplikace, pokud ještě nebyla použita:
- načtení konfigurace z adresáře podle konfigurace masseru,
jméno konfiguračního souboru aplikace je předpokládáno ve tvaru
jméno aplikace převedené na malá písmena s příponou .conf
- inicializace databázových připojení podle konfigurace
- načtení souborů s jazykovými variacemi, masser předpokládá, že se tyto
soubory jmenují <app>_lang.<lang_code> (app vždy malými
písmeny) a vyhledává je pro
všechny cesty uvedené v masser.conf i <app>.conf takto:
- adresář / aplikace / lang/ soubor
- adresář / aplikace / soubor
- adresář / lang/ soubor
- adresář / soubor
 
- inicializace aplikace: program se pokouší najít
soubor <app>.init
(app převedeno na malá písmena) takto:
- adresář / aplikace / init/ soubor
- adresář / aplikace / soubor
- adresář / init/ soubor
- adresář / soubor
 Pokud jej nalezne, zkompiluje jej a provede pouze jednou pro
každou instanci masseru.Toto neplatí pro variantu debug se zapnutým patřičným parametrem, v tomto
případě se provádí při každém požadavku. Inicializace je určena k provedení akcí, které stačí realizovat pouze
jednou za život aplikace (například načtení specifické konfigurace,
nastavení speciálních parametrů databáze a podobně).
Lze použít persistentní proměnnou %p - podrobnosti dále v
příslušné kapitole.
Nakonec jsou provedeny všechny požadované oprace a zpracovány všechny 
požadované stránky.Provedení operace nebo stránky probíhá takto:
- kompilace, pokud ještě nebyla stránka kompilována
v debug režimu vždy 
- kontrola databázových připojení vyžadovaných aplikací
- příprava SQL dotazů, pokud již nejsou připraveny
v debug režimu vždy 
- nastavení správného obsahu %txt dle vybraného jazyka (podle
proměnné LANG)
- zápis zdrojového kódu, pokud je nastaveno write_code_dir
- nastavení persistentního hashe %p
- provedení kódu
- kontrola ukončení všech započatých transakcí v aktivních databázových
připojeních, vypsání chyby pokud tomu tak není a případné ukončení
transakce (dle pending_transaction_rollback)
Next
Previous
Contents