## Bohoslužby

### Jan 'Koviš' Struhár

1.0.0.18

Abstrakt

Krátky návod k programu Bohoslužby

## Úvod

Primárnou úlohou programu je vniesť prehľad a uľahčiť plánovanie bohoslužieb v malých farnostiach. Program umožňuje registrovať úmysly omší podľa požiadaviek farníkov.

Autor zaznamenával intencie omší počas ôsmych rokov pomocou predchodcu tohto programu. Skúsenosti, ktoré pri tom získal, zúročil (dúfajme) pri tomto druhom vytváraní programu od základov.

K hlavným prednostiam programu patria:

- lepší prehľad o omšiach počas celého roka - hlavné okno programu pripomína ročný kalendár s farebnými políčkami, znázorňujúcimi omše

- znovuvyužitie intencií - pri vytvorení nového záznamu sa ponúka výber zo zoznamu intencií, ktoré farník mal v predošlom roku, úmysly bývajú často podobné

- farníci niekedy slabšie vidia - veľké písmená na monitore zobrazujúce detaily omše pomáhajú pri spolupráci s farníkom

- omše môžu byť zobrazené podľa celebrujúceho kňaza alebo kostola, tým sa získa prehľad o vyťažení kňaza/kostola vo farnosti

- výstup omší môže byť ľahko zobrazený na internete alebo v tabuľkovom programe

- nie sú problémy s diakritikou a kódovými stránkami, program používa standard UNICODE

- netreba konfigurovať databázové spojenie ani robiť iné úlohy softwarovej administrácie

- jednoduché zálohovanie, všetky dáta sú v jednom súbore

- otvorený programový kód a otvorený, štandardný dátový formát - dáta sú v obyčajnom textovom formáte XML, ktorý možno ľahko prekonvertovať do iného formátu

- ľahko preložiteľný do inej reči - s neveľkým úsilím môže byť program rozšírený o ďalšiu jazykovú mutáciu

## Užívatelia

Program môže pomôcť kňazom i laikom.

V našej farnosti obvyčajne jedna osoba zapíše väčšinu intencií pre prichádzajúci rok počas jedného alebo dvoch stretnutí s farníkmi na konci roku. Ostatné intencie sa zapisujú priebežne počas roka - zapisuje ich buď poverená osoba alebo sám kňaz.

## Požiadavky na hardware a software

Požiadavky nie sú vôbec dramatické - bežné kancelárské PC úplne stačí. Rozlíšenie monitora by malo byť aspoň 1024 x 768, aby sa v omšových mesačných kalendároch neobjavovali posuvníky.

Je dobré mať asociované súbory typu `.xml` s prehliadačom webstránok, ktorý zvláda tzv. XSLT transformáciu - teda akýkoľvek moderný prehliadač, napr. Mozilla Firefox alebo MS Internet Explorer.

Ak chcete urobiť finálnu úpravu plánu omší tabuľkovým procesorom (tak, ako to robí náš administrátor farnosti), je praktické asociovať typ súboru `.csv` s Vašim tabuľkovým procesorom.

Užívatelia operačných systémov Microsoft majú všetky potrebné komponenty inštalované inštalačným súborom.

U používatelov Linuxu sa predpokladá, že majú nainštalované knižnice Qt (web Nokia software) verzie minimálne 4.5.0. Zvyčajne je táto požiadavka splnená, keď používate prostredie KDE verzie 4.x.

## Rýchly štart

1. Po spustení programu sa nenájde žiadny dátový súbor - objaví sa sprievodca vytvorením nového súboru, ktorý Vás vyzve zadať základné údaje o kostole, kňazovi, farníkovi a prvej omši. Smelo upresnite tieto úvodné informácie v detailnych editoroch v menu Definície → Kňazi... a Definície → Kostoly.... Po dvojkliku na políčko môžete zmeniť údaje alebo pridať nový záznam kliknutím na tlačidlo Pridať <položku>.

   Po zatvorení okna s definíciami, sa zmeny prejavia vo výberových poliach v príkazovej lište (toolbaru). Ak zvolíte filtrovanie podľa konkrétneho kostola alebo kňaza, zvolená položka bude predvyplnená pri definovaní novej omše.

2. Definujte klientov omší podobným spôsobom ako kňazov. Definícia klienta nie je nutná, ale je užitočná z dlhodobého pohľadu.

3. Zvoľte v lište rok, na ktorý chcete definovať omšu.

4. Kliknite na deň v kalendári. Ak bunka dňa nie je zafarbená, nie je na daný deň (a kňaza i kostol) nadefinovaná omša. Priraďte novovytvorenej omši kňaza, kostol, klienta a úmysel na ktorý bude slúžená, potvrďte tlačidlom OK.

   ### Poznámka

   Políčko s omšou nepriradenou farníkovi má svetlomodré pozadie. Ak bol farník priradený, pozadie sa zmení na tmavší odtieň modrej. Pozrite “Čo značia tie farby?”

5. Obyčajne potrebujete urobiť nejaký tlačený výstup plánu omší. Zvoľte príkaz Tlač → Tlač (Ctrl-P) , zvoľte časový rozsah a požadovaný výstupný formát. Výstup bude vytvorený na základe filtra platného pre hlavné okno, tj. ak máte zobrazenú jednu omšu pre jeden kostol, vo výpise bude tiež jedna omša z vybraného kostola. Jednoducho tlačíte to, čo vidíte v hlavnom okne.

   Exportované súbory sa nachádzajú v systémovom `TEMP` priečinku (obyčajne `C:\Documents and Settings\<užívateľ>\Local Settings\Temp`, `/tmp` na UNIXech). Formát XML je vhodný na tlačový výstup, lebo je zobrazovaný ako normálna webová stránka. Formát CSV môže být importovaný do tabuľkových procesorov (OpenCalc, MS Excel). Tam môže být výstup ľubovoľne upravený.

Toto je hrubý prehľad, čítajte ďalej, ak sa chcete dozvedieť viac.

## Vlastnosť za vlastnosťou

Pokračujme v popise vlastností.

### Definície dát

Kňazi a kostoly sú základné kritéria výberu omší.

Pri prvom zápise omší budete musieť vytvoriť veľa záznamov o farníkoch, ale keď ich vytvoríte (v našej farnosti je okruh farníkov zadávajúcich omše dosť stabilný), začnete zúročovať svoju predošlú prácu. Keď vytvoríte novú omšu a pridelíte ju farníkovi, objaví sa výber z úmyslov, na ktoré dal farník slúžiť omšu inokedy - tieto úmysly sa často opakujú. Nemusíte samozrejme definovať žiadnych farníkov alebo vytvoriť jediného fiktívneho farníka, ktorému priradíte všetky omše, ale to nie je predpokladaný a odporúčaný spôsob práce s programom.

Dvojitý klik na bunku tabuľky začne úpravu dát.

Dáta sú zoradené podľa prvého stĺpca dát podľa abecedy - ak ich zmeníte, záznam je znovu zaradený na správne miesto, čo niekedy spôsobí, že vám záznam zmizne z pohľadu. To je zvlášť vidieť pri vložení nového záznamu. Zatiaľ to pokladám viac za vlastnosť než za chybu...

### Vytvorenie jednéj omše

Omšu (resp. záznam o úmysle na ňu) vytvoríte dvojklikom prázdne políčko kalendára. Ak chcete vložiť viac záznamov na jeden deň, kliknite na políčko pravým tlačidlom myšky a z kontextového menu zvoľte položku Vytvoriť omšu... a nadefinujte ju so zohľadnením toho, aby nekolidovala so zadanou omšou (omšami). Všeobecne vzaté, môžete robiť hocijaké úpravy (vkladanie, zmeny, mazanie) prostrednictvom tohto kontextového menu - dvojklik vykoná štandardnú akciu - vytvorí omšu, ak v daný deň žiadna nie je, alebo ponúkne zmenu existujúcich záznamov.

Možno vás prekvapí, že formulár zobrazujúci detaily úmyslu omše používa nezvyčajne veľké písmo. To uľahčuje vizuálnu kontrolu farníkom s vadou zraku, ktorí korigujú váš zápis úmyslu pohľadom "cez plece".

Výber farníka je jednoduchý, začnete písať jeho priezvisko.

#### Kolízia omší

Dva záznamy sa pokladajú za kolízne, ak sú priradené tomu istému kňazovi v tom istom kostole v časoch, ktoré sa hoci len čiastočne prekrývajú. Táto definícia zohľadňuje to, že každý z kňazov celebrujúcich omšu ju môže slúžiť s iným úmyslom. Kolízie sa testujú pri vytváraní záznamov.

#### Výmena omší

Podľa mojich skúseností farníci majú sklon “kšeftovať” s dátumami omší. Farník, ktorý prišiel neskôr, zistí, že ním požadovaný dátum je už obsadený a skúša presvedčiť svojho šťastnejšieho brata alebo sestru v Kristovi, aby si s ním dátum omše vymenil (typicky nedeľa).

Ak sa dohodnú na výmene, zobrazte si detail pre jednu z týchto omší, presvedčte sa, že majú byť slúžené v rovnakom čase (napr. 10:00-11:00) - ak nie, upravte čas, aby ste vyvolali úmyselnú kolíziu. Stlačte tlačidlo Zmeniť dátum a upravte dátum, aby obe omše kolidovali - výmena omší sa vám potom ponúkne.

### Čo značia tie farby?

Svetlomodrá farba signalizuje, že políčko obsahuje len záznam(y), ktorý zatiaľ nebol priradený konkrétnemu farníkovi. Tmavšie modré políčko znamená, že v daný deň je aspoň jedna obsadená omša.

Tento farebný kód je praktický v malej farnosti (ako je tá naša), kde je spravidla najviac jedna omša denne.

No vyše zmienená modrá farba je len štandardné nastavenie - príkazom Definície → Nastavenie kostola... môžte nastaviť pre každý kostol špecifickú farbu, ktorá bude podfarbovat omše v ňom slúžené. Stále platí, že obsadené omše sú zobrazené zo sýteším odtieňom ake neobsadene. Keď sú na hlavnej liště vybrané Všetky kostoly a pre jeden deň je viacero omší, pozadí dňa v kalendári sa zobrazí ako farebné pruhy v barve kostelov, takže je vidno, aká je situácia.

V hlavnom okne je ešte jedna pestrofarebná položka - názvy mesiacov. Ich farby nesignalizujú nič iné než ročné obdobie, do ktorého patria.

### Indikátor pri názve mesiaca

Prúžok ukazuje percentuálny podiel omší priradených farníkom na celkovom počte omší v danom mesiaci. Dôvodom pre taký indikátor je to, že naši kňazi chcú mať každý mesiac neobsadenú "rezervu", s ktorou sa ešte dá operativne pracovať.

Viem napríklad, že máme týždenne 3 omše. Generátorom omší urobím záznamy, v ktorých je vyplnený len kňaz a kostol, nie však farník. Keď príde farník, poviem mu, že svetlomodré políčka sú ešte voľné. On si niektorý deň vyberie, ja mu ho priradím, zapíšem úmysel a indikátor “voľného miesta” pri mesiaci sa aktualizuje.

Ak pracujete tak, že si dopredu vytvoríte neobsadené omše, ktoré potom postupne obsadzujete, máte o tom lepší prehľad.

### Filtrovanie omší

Hlavným zmyslom filtrovania je, že umožňujú flexibilné dotazy na uložené záznamy. Ďalším efektom je, že filtrovanie podľa konkrétného kňaza a/alebo kostola prednastaví kňaza/kostol pri vytvorení nového úmyslu na omšu.

Samozrejme, ak vytvoríte omšu, ktorá nezodpovedá nastavenému filtru (filter je nastavený tak, aby zobrazoval omšu z kostola “A” a nová omša je pridelená do kostola “B”“), nová omša nie je zobrazená v hlavnom okne - lebo tam nemá čo robiť! Nastavte zobrazenie, aby ukazovalo kostol “B” alebo všetky kostoly a zasa ju uvidíte.

Zvolené nastavenia filtra (kňaz, kostol a rok) sa uchovávajú v systémovom registri (Windows) alebo v konfiguračnom súbore (Unix), odkiaľ sa načítajú pri novom spustení programu.

### Generátor omší

Ja (a aj moji farníci) dávam prednosť tomu, vidieť všetky príležitosti na slúženie omše - v našej dedine napr. máme omšu každý pondelok, piatok a nedeľu. To je však len hrubý náčrt situácie - každý prvý piatok v mesiaci sa slúži omša za obnovu viery v rodinách, každú tretiu nedeľu je v našom kostole omša za farníkov (tento úmysel koluje po všetkých troch kostoloch vo farnosti).

Z tohto dôvodu má generátor prvé dva režimy. Prvý tvorí omša v pravidelných časových intervaloch - každý pondelok (teda každý prvý pondelok, aby som sa vyjadril v pojmoch generátora) alebo každú tretiu nedeľu ako v uvedenom príklade. V principe sú dve možnosti, ako nastaviť nedeľnú omšu.

1. Najprv môžete vytvoriť nepriradenú omšu na každú nedeľu v roku a potom si navoliť, aby každú tretiu nedeľu bola vytvorená omša pre farníka “všetci farníci” s úmyslom “za farnosť” NAHRADZUJÚCU kolidujúce omše.

2. Môžete začať aj tak, že vytvoríte najprv každú tretiu nedeľu omšu s úmyslom "za farnosť" a potom pridáte voľné (rozumejte nepriradené klientom) nedeľné omše - takže žiadate vytvoriť omše na všetky nedele a PRESKAKOVAŤ kolidujúce omše.

Ostatné nastavenia generátora sú pre túto druhú úlohu - opakovanie omší každý prvý piatok, druhý utorok alebo všeobecne n-tý deň v mesiaci. Takto sa vytvorí práve jedna omša v jednom mesiaci.

Iná možnosť je stanoviť poriadok omší v Definície → Detailné nstavenia kostola ... a potom použite toto nastavenie v generátoru omší. Tieto postupy môžu byť ľubovolne kombinované.

Ak ste zadefinovali úlohu, stlačte tlačidlo Generuj omše.

### Varovanie

Tak ako so všetkými generátormi, mali by ste byť opatrný - pri troche neopatrnosti si generátorom môžete prepísať omše, ktoré ste pracne zapísali ručne.

Odporúčam v novom roku vygenerovať omše generátorom a potom doladiť detaily ručným pridaním, zmenou alebo odobratím záznamov.

### Výstup

Viditelné omše, ktoré prešly filtrom, môžu byť vytlačené na tlačiarni alebo exportované vo formáte HTML (webová stránka), PDF (Adobe Reader), ODF (formát OpenOffice), PostScript, CSV, iCal alebo XML. Je možné vyexportovať dáta do schránky vo formátu, ktorý sa dá vložiť do Office (OpenOffice, MS Office) aplikácií.

Pre všetké druhy výstupu okrem iCal/XML môžete meniť poradie a typ stĺpcov, ktoré sa exportujú voľbou tlačidla Stĺpec - výber... v tlačovom okne. Presunom stĺpcov medzi viditeľné a skryté upravíte výpis. Schéma sa uchováva v systémových nastaveniach, neprenáša sa s dátovým súborom - čiže na inom počítaču je usporiadanie stĺpcov štandardné.

Ak chcete upraviť výstup, odporúčam, aby ste použili HTML export a upravili ho podľa vlastnej predstavy. Veľa editorov podporuje vizuálnu modifikáciu formátu webovej stránky. Dokument je hneď pripravený na publikovanie na webe. Na web sa často dáva aj PDF, ale ten sa ťažšie edituje.

Môžete robiť aj po-exportnú úpravu vo formáte CSV (ja používam podmienený formát tabuľky na zvýraznenie nedeľných omší). CSV je vhodný pre spojenie s tabuľkovými procesormi OpenOffice Calculator alebo MS Excel, s ktorými sa výborne pracuje. CSV je schválne kódovaný v lokálnej kódovej stránke - niektoré populárne programy mávajú problém s UTF-8 kódovaním. Ako oddeľovač používam bodkočiarku `;` , lebo čiarka sa často používa v textoch úmyslov.

Formát iCal je štandardom pre aplikácie typu časových organizérov alebo kalendárov - web GoogleCalendar, IBM LotusNotes, Microsoft Outlook, KOrganizer... Majú importné funkcie, ktoré načtú Vami exportovaný iCal súbor.

Vo výstupe XML sú všetky dostupné informácie o bohoslužbách - môžeto previesť na webstránku transformáciou šablóny `defaultReport.xslt` v priečinku programu. Ak máte nejaké skúsenosti s prácou na počítači, ľahko zvládnete úpravu súboru `xslt` (pozrite sa do exportovaného súboru na mená tagov) tak, aby ju prehliadač zobrazil podľa vášho želania.

Je výhodné mať súbory XML asoviované s internetovým prehliadačom, schopným transformácie XSLT (Mozilla, Safari, Opera, MSIE) - program skúša otvoriť exportovaný súbor so združeným programom a export je hotový. Ale ak máte možnosť výstupu priamo do formátu webstránky, nechajte túto možnosť expertom.

### Automatické uloženie

Dáta sú automaticky uložené po zmene alebo pri zatváraniu aplikácie.

No môžte ukladane vynútiť povelom Súbor → Uložiť všetko.

### Definícia miestných sviatkov

Sviatky toho ktorého dňa sú videť v bublinovej nápovede nad buňkou kalendára. Navyše k sviatkom, ktoré sú vždy viditelné (Vianočné a Velkonočné), môžte zadať aj sviatky po vlastnej chuti v Definície → Sviatky....

Sviatky sa čítajú z priečinku `<inštalačný priečinok>/holidays` pre Váš jazyk - viď napríklad `cs_CZ.txt` - pokiaľ sa rozhodnete k primaej zmene súbora, je potrebné ukladať s kódováním UTF-8.

## Súbory v inštalačnom priečinku

HolyServices.exe

  Samotná aplikácia - spustite tento súbor, keď ju chcete používať.

holidays/*.txt

  Textové súbory obsahujúce lokálne (kultúrne) špecifické sviatky. V závislosti na aktuálnom jazyku je načítaný odpovedajúci súbor zo sviatkami, popis sviatku je zobrazený v bubline nad kalendárom. Napríklad súbor `holidays/cs_CZ.txt` obsahuje definície pre češtinu. Môžte pridávať vlastné záznamy, len je treba použiť kódovanie UTF-8.

defaultReport.xslt

  Výstupné XML dáta odkazujú na tento súbor šablóny, aby bola zobrazená v prehliadači ako obyčajná webová (HTML) stránka. Otvorte tento súbor textovým editorom a zmeňte ho, ak chcete mať viac stĺpcov, iné poradie stĺpcov, alebo inú zmenu v tom, čo vidíte v prehliadači. XSLT šablona je vždy prikopírovaná k súboru XML exportu.

*.qm

  Preklady užívateľského rozhrania. Program je nativne v angličtine (alebo v tom, čo autor považuje za angličtinu).

*.dll

  Knižnice potrebné pre beh aplikácie.

*.xml, *.csv, *.ics, *.html, *.pdf

  To sú všetky výstupy, ktoré ste kedy urobili. Program nikdy nemaže výstupné súbory, môžete ich zmazať sám, keď ich už nepotrebujete (alebo ak potrebujete získať miesto na disku). Názov súboru obvykle začína časovým údajom, podľa ktorého spoznáte, ktoré výstupy sú najstaršie.

untranslated.ts

  Ak chcete mať program vo svojom vlastnom jazyku, neváhajte a preložte frázy v tomto súbore! Viac sa dozviete v “Ako pridať ďalšiu jazykovú mutáciu”.

### Ako pridať ďalšiu jazykovú mutáciu

V inštalačnom priečinku má byť súbor `untranslated.ts`. To je pravá surovina na preklady užívateľského rozhrania, obsahuje všetky menu, hlásenia a texty viditeľné v programe.

Ak chcete mať program vo svojom vlastnom jazyku, otvorte tento súbor v editore schopnom pracovať s kódovaním UTF-8 alebo Unicode (Windows Notepad, vim,, PSPad) a vpisujte preklady textu uvedeného v elemente `source` medzi tagy `<translation>``</translation>`. Rešpektujte pritom občasné pokyny pre prekladateľa medzi tagmi `comment`. Ubezpečte sa, že ukladáte súbor vo formáte UTF-8 alebo Unicode, nie vo svojej lokálnej kódovej stránke.

Ak ste však náhodou vývojár a máte nainštalovaný QT vývojárský balíček (čo sa môže stať najmä užívateľom unixového desktopového prostredia KDE), využijte luxus pri prekladaní v programe na to určenom - QT Linguist.

Druhá vec, ktorú je treba preložiť, je súbor `defaultReport.xslt`. Preložte texty z hlavičky tabuľky (popisy stĺpcov) medzi HTML tagmi `TH`.

Pošlite mi, prosím, preklad a ja ho zverejním tak rýchlo, ako to len pôjde. Odmena vás neminie! Pridám Vaše meno do súboru credits (= zaslúžili sa o program), ak nebudete proti tomu :-)

## Dátové súbory

Nový súbor vytvoríte príkazom Súbor → Nový ... (Ctrl-N). Je možné mať viac dátových súborov, hoci väčšine užívateľov stačí aj jeden súbor, s dátami pre ich farnosť.

Viac súborov znamená viac omylov a hľadaní. Odporúčam mať jeden, hlavný súbor, ktorý sa automaticky otvorí pri spustení programu. Ak nemeníte umiestnenie dát, môžete aj zabudnúť, že nejaký dátový súbor máte = automaticky sa otvára aj ukladá.

*.holyservices

  Tento súbor obsahuje všetky dáta programu. Zálohujte ho pravidelne a nemáte starosti so stratou dát.

storedHolyServices.dat

  Dátový súbor z verzií pred 1.0.0.11. Má len iný názov, ale ináč sa ničím nelíši od bežných dátových súborov.

*.archivedHolyServices

  pravidelne archívované datové súbory

### Automatická archivácia

Dátový súbor je pravidelne archívovaný do priečinku `archive`. Každý týždeň sa do archívu ukládá kópia dát.

Bolo by najlepšie, keby sa táto bezpečnostná kópia nikdy nepotrebovala. Ale keby bolo treba, použite funkciu Súbor → Vybrať z archívu, ktorá rozbalí archívovaný súbor, zapíše ho v čítatelnej forme a nabídne k otvorení.

### Ako presťahovať dáta na nový kompjúter

Inštalujte aplikáciu na nový počítač, zkopírujte dátový súbor a môžte pokračovať v práci s ním.

Čo NIE JE prenesené s dátovým súborom sú nastavenia ako nedávno otvorené súbory, naposledy vybraný kňaz/kostel, výber stĺpcov pre export. Tieto nastavenia sú v systémovom registri (skryté inicializačné súbory na Linuxu).

### Rozsynchronizované dáta

Keď sa pracuje s viacerými kópiami dát, lahko sa v nich urobí neporiadok, do jednych sa pridá omša, do druhých farník a zrazu vládne chaos a nikto nevie, ktorá kópia je najnovšia a smerodatná. Dátové súbory sa z velkou opatrnosťou dajú zlúčiť, lebo sú to v zásade textové súbory. Dá sa použiť bežný (programátorsky) textový editor alebo ešte lepšie specializované zlučovacie nástroje ako diff alebo WinMerge.

## Príkazový riadok - prepínače

Je tam zopár prepínačov príkazového riadku, ktoré môžete použiť na zistenie parametrov programu.

--language <ISO skrátené označovanie lokalizačných súborov>

  núti program spustiť sa z medzinárodnými nastaveniami danej lokality (napr. en_US, alebo de_DE pre Nemecko, alebo cs_CZ pre Česko ). V štandardnej inštalácii sú podporované en, de a cs.

--file < súbor bohoslužieb >

  otvára priamo daný súbor dát

--help, -?

  stručný prehľad parametrov

## Plány ďalšieho vývoja

Budem šťastný, ak budem mocť pridať preklad do iného jazyka, čo rozšíri použitelnosť pre nových užívatelov.

Napíšte mi, aká funkčnosť by Vám pomohla a ja ju zkúsim začleniť. Také ľahké to je!