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