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