1WebCalom - www klient pro Calom verze 3.0

dokumentace správce systému - verze

Klient verze 3.0 obsahuje součásti:

1Úvod:

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.

2Konfigurace:

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.

3Problémy:

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.

4Tagy:

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ů.

Atributy: "name" - jméno dané oblasti.

<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>.

Atributy: "name" - jméno dané oblasti.

<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

[include-empty]/>

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

name="jméno"

[new-name="nové jméno"]

[include-empty]/>

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

src="jméno souboru"

[substitute]/>

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

tag="jméno tagu"

[tag-type="[begin|end|single]"]

[…]/>

Vytvoří tag "jméno tagu", který je buď otvírací, uzavírací nebo samostatný. Ostatní atributy se vloží do vzniklého tagu.

Ve všech hodnotách atributů jsou nahrazeny:

@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

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]>

Čá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.

Podmínky (hodnota atributu "what"):

  • 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

family="browser family">

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">.

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:

@BROWSER_ID@

identifikace prohlížeče

<report

[output-format="formát"]

[default="jméno reportu"]>

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

[format="výstupní formát"]>

Vypisuje seznam reportů pro daný výstupní formát. Pro každý report zpracuje celý obsah tagu.

Nahrazuje:

@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ů.

Nahrazuje:

@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

name="jméno reportu"

[global="yes | no"]>

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

name="jméno reportu"

action="save-fast-report”

| “delete-fast-report"

[global="yes | no"]>

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".

Nahrazuje:

@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

[action="start"|"stop"]>

Spustí nebo ukončí plánovací server.

<group

name=”SUCCESS”>

(server byl spuštěn/zastaven),

<group

name=”ERROR”>

(nepodařilo se spustit/zastavit),

<group

name=”ERROR-DONE”>

(server už běžel/neběžel)

<view-www-log/>

Zobrazí WWW log.

<clean-www-log/>

Vyčistí WWW log.

<view-calom-log>

Zobrazuje Calom log.

Vnořené tagy:

<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.

Vnořené tagy:

<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

name="main"

| "prologue"

| "epilogue">

<directory-view>

Zobrazuje záznam z adresáře.

Nahrazuje:

@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.

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.

<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ů.

Nahrazuje:

@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.

Nahrazuje:

@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í.

Nahrazuje:

@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.

Nahrazuje:

@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

name="source-line"

| "code-comment"

| "code-line"

| "functions"

| "imports">

<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).

5Poznámka:

Některé tagy mohou být nedostupné z licenčních důvodů.