dokumentace správce systému - verze
Klient verze 3.0 obsahuje součásti:
Základ - parsovani XML souboru a pomocné utility používané v ostatních částech
Spouštění SQLSync
Spouštění Calom serveru
Calom console
Definování a správa uživatelských účtů
Editace adresáře
Zobrazovaní logu
Editace tarifikačních skriptů
Různá konfigurace Calom serveru
Návrh HTML stranek (česká verze, částečně anglická)
Licence
WWW klient slouží pro přístup ke Calom
serveru, umožňuje spouštět reporty, editovat
adresář a konfigurovat server
Může
fungovat buď jako CGI program pro Apache
(doporučené použití, nutné pro
podporu HTTPS protokolu) nebo
samostatně.
Instalační
adresář si označíme
"/cgi-bin/calom" (implicitně /usr/lib/cgi-bin/calom
nebo /var/www/cgi-bin/calom).
Všechny soubory,
které používá (s výjimkou Calom logu,
který lze z WWW klienta prohlížet a
nachází se v adresáři, kde je
nainstalován Calom). Stránky, které poskytuje jsou
uloženy v adresářích HTML_${jazyk} nebo
HTML_custom/${username} (specifický adresář pro
konkrétního uživatele), kde ${jazyk} je
např. "cz", ${username} je jméno
uživatele. Požadované stránky se
nejdřív hledají v uživatelském
adresáři a potom v adresáři pro
konkrétní jazyk.
Veškerá konfigurace je uložena v
adresáři "config". Každý
řádek konfiguračních souborů (s
výjimkou pokračování
předchozích řádků) má
formát: jméno nastavení: hodnota
(mezera za dvojtečkou je nepovinná). Pokud se hodnota
nevejde na řádku, případně má
obsahovat konec řádku, může se jako
poslední znak na řádce uvést
zpětné lomítko '&backslash;' a hodnota
pokračuje na dalším řádku.
.
Nastavení je popsáno v souboru README.
Nejčastějším zdrojem problémů je špatně nastavená konfigurace nebo práva k souborům. Konfiguraci je popsána v souboru README pro WebCalom. Je potřeba dát pozor na to, že WebCalom při instalaci implicitně nepřepisuje existující konfigurační soubory. Práva by měla být nastavena tak, že všechny soubory v adresáři s WebCalomem by měly mít jako vlastníka uživatele calom a skupinu calom. Spustitelné soubory by navíc měly mít nastaven SETUID a SETGID bit, aby byly spouštěny pod správným uživatelem a skupinou.
Každá poskytovaná stránka je HTML soubor se
speciálními tagy, které WWW klient
zpracovává. Tagy mají přístup ke
všem proměnným z formulářů a
mohou je využít při rozhodování, co
mají udělat.
Některé tagy
mají atributy ovlivňující jejich
chování a některé tagy
používají vnořené tagy <group>,
které označují určité oblasti a
slouží k zadávání
delších textových parametrů pro
tag.
Mnoho tagů rozpoznává
vnořený tag <group name="ERROR"> pro
označení textu, který by se měl vypsat
při výskytu chyby a <group name="SUCCESS">
pro označení textu, který by se měl vypsat
při úspěšně dokončené
akci.
Ve verzi 1.0 rozpoznává následující tagy (tagy končící '/>' jsou nepárové, ostatní párové, atributy uvedené mezi '[' a ']' jsou nepovinné, zápis '[a | b]' označuje možnost výběru ze dvou variant: 'a' nebo 'b').
<group [name="jméno"]>
Slouží k logickému označení
části textu. Používá se jako
součást ostatních
tagů.
<nested-group>
<nested-group [name="jméno"]>
Stejné použití jako <group>, ale
může být obsažena v jiném tagu
<nested-group>.
<group>
<nested-group>
<make-tag [tag="jméno"]>
Vytvoří tag se jménem
"jméno". Umožňuje dynamicky, s
možným použitím
proměnných, vytvořit tag.
<group>
<nested-group>
<to-upper>
Převede obsah mezi <to-upper> a </to-upper> na
velká písmena.
<generate-inputs
Vygeneruje tagy <input> typu "hidden"
(používané pro
zadávání/uchovávání
informací ve formulářích) pro
všechny data z formulářů, která
byla na danou stránku poslána. Atributy:
"include-empty" - Zda má vygenerovat pole pro
proměnné, které mají prázdnou
hodnotu.
<generate-one-input
Podobný jako <generate-inputs>, ale platí jen
pro jednu proměnnou a umožňuje její
přejmenování.
<print-parameter name="jméno"/>
Tento tag nahradí obsahem daného parametru.
Atributy: "name" - jméno parametru (jsou
definovány parametry "username",
"dir_number" a "org_root").
<touch-parameter name="jméno"/>
Tento tag vytvoří parametr
(formuláře), pokud není
přítomen. Pokud parametr existuje,
neudělá nic.
<print-form-input name="jméno"/>
Tento tag nahradí obsahem daného parametru.
Atributy: "name" - jméno proměnné z
formuláře.
<include src="jméno souboru"/>
Vloží na místo tagu soubor. Tento soubor je
standardně zpracován.
<include-raw
Vloží na místo tagu soubor. Tento soubor
není zpracován na výskyty
speciálních tagů, pouze pokud je uveden
atribut "substitute", nahradí se výskyty
parametrů ve tvaru "@jméno_parametru@".
<create-tag
Vytvoří tag "jméno tagu",
který je buď otvírací,
uzavírací nebo samostatný. Ostatní
atributy se vloží do vzniklého
tagu.
@jméno proměnné@
hodnota proměnné
<logout/>
Odhlásí daného uživatele.
<flush/>
Odešle celý dosud zpracovaný obsah
stránky klientovi.
<print-browser/>
Vypíše informaci o prohlížeči.
<if
Část mezi <if> a </if> se buď
nechá beze změny nebo se vyřízne, v
závislosti na podmínce uvedené v tagu. Je-li
uveden atribut "neg", je podmínka
znegována.
error - je splněno, nastala-li chyba. Navíc na
začátek vypíše chybové
hlášení.
test - testuje hodnotu proměnné. Je-li atribut
"value" vynechán, testuje se, zda je
proměnná definována.
test-setup - podobné jako test, ale bere
proměnné z konfigurace.
admin - je splněno, je-li daný uživatel
administrátor.
licence_flags - testuje, zda je nastaven příznak
"jméno licenčního
příznaku" v licenci.
server - testuje, zda Calom server běží
nebo ne.
schedule-server - testuje, zda plánovací server
běží nebo ne.
not - obrací podmínku.
<group>
<nested-group>
<cond>
Není podporován.
<group>
<nested-group>
<browser
Funguje podobně jako <if>, ale testuje, zda
prohlížeč patří do
určité rodiny
prohlížečů. Pokud je splněna
podmínka, vypíše text uzavřený
do <group name="true">, jinak text v <group
name="false">.
@BROWSER_ID@
identifikace prohlížeče
<report
Spouští report a vypisuje výsledky. Informace
bere z proměnných z formulářů
(GET nebo POST). Implicitní hodnoty bere z atributů
output-format a default. Bližší informace lze
najít v stránce report_params.html.
<report-list
Vypisuje seznam reportů pro daný
výstupní formát. Pro každý
report zpracuje celý obsah tagu.
@FILE@
jméno souboru s definicí reportu
@NAME@
jméno reportu
<fast-reports>
Vygeneruje seznam rychlých reportů dostupných
danému uživateli. Pro každý
dostupný rychlý report to vygeneruje
řádky označené pomocí
vnořeného tagu <group name="report"
> s tím, že nahradí výskyty
@REPORT_NAME@ jmény reportů.
@FR_GLOBAL@
"yes", jde-li o report sdílený
všemi uživateli, "no", je li to report
pouze pro přihlášeného
uživatele
@FR_NAME@
jméno rychlého reportu
@FR_DEF@
přesná definice rychlého reportu
@FR_OUTPUT_FORMAT@
výstupní formát reportu (např.
HTML, XML, CSV, PDF)
@FR_TYPE@
typ reportu (jméno souboru s definicí reportu)
@FR_TIME@
časový rozsah reportu
Vnořené tagy:
<group name="report">
Označuje část, která se zpracuje
pro každý rychlý report.
<view-fast-report-def
Prohlížení definice rychlého reportu.
Nahrazuje stejné proměnné jako
<fast-reports>. Vnořené tagy:
<group name="if-variable" var="jméno
proměnné" [value="hodnota
proměnné"]>
Označuje část, která se
zahodí pokud není definována daná
proměnná, příp. pokud nemá
zadanou hodnotu.
<save-fast-report-def
Ukládání nebo mazání definice
rychlého reportu. Význam atributů je
stejný jako u <view-fast-report-def>.
<report-tasks>
Vygeneruje seznam naplánovaných reportů pro
daného uživatele. Nahrazuje:
@STATE@
"yes", jde-li o report sdílený
všemi uživateli, "no", je li to report
pouze pro přihlášeného
uživatele
@PARITY@
0 nebo 1 podle toho, zda jde o sudý nebo lichý
řádek (pro obarvování
řádků)
<report-task>
Zobrazí informace o naplánovaném reportu.
Jméno reportu získá z proměnné
formuláře "report".
@VAR_NAME@
jméno proměnné reportu
@VAR_VALUE@
hodnota proměnné
<tarif-definition-line>
<save-report-task>
Uloží definici naplánovaného reportu.
Jméno reportu získá z proměnné
formuláře "report" a další
informace z dalších
proměnných.
<schedule-server
Spustí nebo ukončí plánovací
server.
<group
<group
<group
<view-www-log/>
Zobrazí WWW log.
<clean-www-log/>
Vyčistí WWW log.
<view-calom-log>
Zobrazuje Calom log.
<group name="lines">
Pro každý záznam z logu se zpracuje
část textu označená tímto
tagem.
Nahrazuje:
@PREV_DATE@
datum předchozího záznamu
@NEXT_DATE@
datum následujícího záznamu
@TODAY_DAY@
den prohlíženého data
@TODAY_MONTH@
měsíc prohlíženého data
@TODAY_YEAR@
rok prohlíženého data
@DATE@
čas události
@SEVERITY@
důležitost události
@MESSAGE@
text události
<directory>
Zobrazuje obsah
adresáře.
<group name="org" [up="yes | no"]>
Pro každý adresář se zpracuje
část textu označená tímto
tagem. Je li uveden parametr up="no", negeneruje se
záznam ".." pro nadřazenou
položku.
<group name="dir">
Pro každý záznam z adresáře
se zpracuje část textu označená
tímto tagem.
<group name="orgs-tree">
Pro každý adresář se zpracuje
část textu označená tímto
tagem. Je li uveden parametr up="no", negeneruje se
záznam ".." pro nadřazenou
položku. Je-li uveden parametr full="yes",
vypisuje se celý strom. Pro každý
záznam se použije podtag "main",
"prologue" nebo "epilogue"
<group name="ERROR">
Vypisuje se při chybě.
<group
<directory-view>
Zobrazuje záznam z
adresáře.
@ORG@
jméno adresáře (organizační
jednotky)
@NUM@
číslo
@CILC@
CIL kód
@FLAGS@
různé volby
@CAT@
kategorie
@NAME@
jméno účastníka
@COMMENT@
komentář k záznamu
@PREFIX@
zda je dané číslo prefixem
<directory-save>
Provádí změny v adresáři
(ukládá záznamy, přesunuje,
přejmenovává, přidává,
maže a ukládá na server). Parametry
získává z proměnných
formuláře "org", "action" a
dalších ("save-record",
"delete-btn", "move-btn",
"add-org-btn", "rename-org-btn",
"dump-btn", …).
<server action="start"|"stop">
Spouští nebo ukončuje Calom
server.
<sqlsync>
Spouští SQLSync. Parametry získá z
proměnných formuláře.
<ldapsync>
Spouští LDAPSync. Parametry získá z
proměnných formuláře.
<view-users>
Zobrazuje seznam uživatelů.
@USER@
Uživatelské jméno
@FULL_NAME@
Plné jméno
@PARITY@
0 nebo 1 podle toho, zda jde o sudý nebo lichý
řádek (pro obarvování
řádků)
Vnořené tagy:
<group name="users">
Pro každého uživatele zpracuje danou
oblast
<config-user>
Zobrazuje nastavení uživatele.
@CFG_USER_NAME@
Uživatelské jméno
@CFG_USER_PASSWD@
Uživatelské heslo
@CFG_USER_CALOM_NAME@
Uživatelské jméno na Calom serveru
(většinou stejné jako
uživatelké jméno)
@CFG_FULL_NAME@
Plné jméno uživatele
@CFG_DIR_RECORD@
Primární záznam v adresáři
@CFG_DEFAULT_LANG@
Implicitní jazyk
@CFG_ENABLED_DIR_EDIT@
Zda je povolena editace adresáře
@CFG_LIMIT_USER_ORG_ROOT@
Domovská organizační jednotka
@CFG_LIMIT_USER_ACCESS_IP@
Omezit přístup uživatele na 1 IP adresu
Vnořené tagy:
<group name="languages">
Pro každý instalovaný jazyk zpracuje
danou oblast
<group name="read_list">
Pro každou organizační jednotku, ze
které může číst, se
zpracuje daná oblast
<group name="write_list">
Pro každou organizační jednotku, kam
smí zapisovat, se zpracuje daná oblast
<save-config-user>
Ukládá nastavení uživatele.
<config-global>
Zobrazuje globální
nastavení.
@CFG_DEFAULT_LANG@
Implicitní jazyk
Vnořené tagy:
<group name="languages">
Pro každý instalovaný jazyk zpracuje
danou oblast
<save-config-global>
Ukládá globální nastavení (v
současnosti implicitní jazyk).
<view-licence>
Zobrazuje licenci.
@CFG_ENABLED_DIR_EDIT@
Zda je povolená editace adresáře
@CFG_ENABLED_CONSOLE@
Zda je povolena konzole
@CFG_ENABLED_SQLSYNC@
Zda je povolen SQLSync
@CFG_FAST_REPORTS@
Zda jsou povoleny rychlé reporty
@CFG_ENABLED_REPORT_HTML@
Zda je povolen formát reportu HTML
@CFG_ENABLED_REPORT_CSV@
Zda je povolen formát reportu CSV
@CFG_LIMIT_USERS_NUM@
Omezení počtu uživatelů
@CFG_LICENCE_BEGINS@
Začátek platnosti licence
@CFG_LICENCE_EXPIRES@
Konec platnosti licence
<save-licence>
Ukládá licenci.
<tarif-list>
Vypíše seznam tarifikačních
skritptů. Pro každý vypíše
obsah tagu group. Nahrazuje:
@NAME@
Jméno tarifu
@CODE_SIZE@
Velikost přeloženého kódu
@DATA_SIZE@
Velikost dat
@REF_COUNT@
Počet použití tarifikačního
skriptu
@ENTRY_OFFSET@
Vstupní bod
@GLOBAL_CHECKED@
Zda je tarif globální
@LOCAL_CHECKED@
Zda je tarif lokální
@GLOBAL_MAIN_CHECKED@
Zda je tarif globální a hlavní
@LOCAL_MAIN_CHECKED@
Zda je tarif lokální a hlavní
@RUN_NAME@
Uživatelské jméno
tarifikačního skriptu
@PARITY@
0 nebo 1 podle toho, zda jde o sudý nebo lichý
řádek (pro obarvování
řádků)
<group name="tarif">
<tarif-main-list>
Vypisuje seznam hlavních tarifikačních
skriptů. Pro každý vypíše obsah
tagu group. Nahrazuje:
@TARIF_NAME@
Jméno tarifu
@TARIF_DESC@
Uživatelské jméno
tarifikačního skriptu
@GLOBAL_MAIN_CHECKED@
Zda je tarif globální a hlavní
@LOCAL_MAIN_CHECKED@
Zda je tarif lokální a hlavní
@PARITY@
0 nebo 1 podle toho, zda jde o sudý nebo lichý
řádek (pro obarvování
řádků)
<group name="tarif">
<tarif>
Vypíše podrobnost o tarifu. Jméno
získá z proměnné
formuláře "tarif". Jednotlivé
šablony jsou specifikovány pomocí tagů
group.
<group
<tarif-save>
Uloží nastavení tarifikačního
skriptu (resp. vytvoří nebo smaže tarif).
Podrobnosti získá z proměnných
formuláře.
<group>
<saved-reports>
Vypisuje seznam uložených reportů. Pro
každý vypíše obsah tagu. Nahrazuje:
@NAME@
Jméno uloženého reportu
@YEAR@, @MONTH@, @DAY@, @TIME@
Datum spuštění
@FILENAME@
Soubor s definicí reportu
@PARITY@
0 nebo 1 podle toho, zda jde o sudý nebo lichý
řádek (pro obarvování
řádků)
<show-saved-report>
Zobrazí informace o uloženém reportu.
Jméno získá z proměnné
"file" z formuláře.
<save-saved-report>
Smaže uložený report (proměnná
formuláře "action" musí být
"delete").
<report-list-raw>
Vypíše seznam reportů v textovém
souboru.
<report-show>
Vypíše obsah reportu v textovém souboru.
<report-save>
Uloží definici reportu nebo smaže report
(podle hodnoty proměnné "action"
formuláře).
Atributy: "name" - jméno
dané oblasti.
Atributy: "name" -
jméno dané oblasti.
[include-empty]/>
name="jméno"
[new-name="nové
jméno"]
[include-empty]/>
src="jméno
souboru"
[substitute]/>
tag="jméno tagu"
[tag-type="[begin|end|single]"]
[…]/>
Ve všech hodnotách atributů
jsou nahrazeny:
what="error”
|
“test”
| “admin”
|
“licence_flags”
|'
“server”]
[var="jméno
proměnné"
[value="hodnota
proměnné"]]
[flag="jméno
licenčního příznaku"]
[state="running” | “stopped"]
[not|neg]>
Podmínky (hodnota atributu
"what"):
family="browser family">
Jako rodinu
prohlížečů (parametr family)
rozeznává "MSIE", "MSIE-6"
(verze 6 a výš), "MSIE-S" (s podporou Java
1.4) a "Mozilla".
Nahrazuje:
[output-format="formát"]
[default="jméno reportu"]>
[format="výstupní
formát"]>
Nahrazuje:
Nahrazuje:
name="jméno
reportu"
[global="yes | no"]>
name="jméno
reportu"
action="save-fast-report”
|
“delete-fast-report"
[global="yes |
no"]>
Nahrazuje:
[action="start"|"stop"]>
name=”SUCCESS”>
(server
byl spuštěn/zastaven),
name=”ERROR”>
(nepodařilo se spustit/zastavit),
name=”ERROR-DONE”>
(server už běžel/neběžel)
Vnořené tagy:
Vnořené tagy:
name="main"
|
"prologue"
| "epilogue">
Nahrazuje:
Kromě tagů <group
name="SUCCESS"> a <group
name="ERROR"> ještě
rozeznává <group name="ERROR-DONE">,
který označuje část, která by
se měla označit pokud server již
běžel.
Nahrazuje:
Nahrazuje:
Nahrazuje:
Nahrazuje:
name="source-line"
|
"code-comment"
| "code-line"
| "functions"
| "imports">
Některé tagy mohou být nedostupné z licenčních důvodů.