}w!"#$%&'()+,-./012345<ya

Rozměr: px
Začít zobrazení ze stránky:

Download "}w!"#$%&'()+,-./012345<ya"

Transkript

1 }w!"#$%&'()+,-./012345<ya MASARYKOVA UNIVERZITA V BRNĚ FAKULTA INFORMATIKY Informační systém farního úřadu BAKALÁŘSKÁ PRÁCE Ladislav Chodil Brno, jaro 2004

2 Prohlášení Prohlašuji, že tato bakalářská práce je mým původním autorským dílem, které jsem vypracoval samostatně. Všechny zdroje, prameny a literaturu, které jsem při vypracování používal nebo z nich čerpal, v práci řádně cituji s uvedením úplného odkazu na příslušný zdroj. Vedoucí práce: RNDr. Tomáš Pitner, Ph.D. ii

3 Shrnutí Při stále větším rozmachu informačních technologií se počítače dostávají do všech organizací a domácností, a jsou tedy přirozeně i na farních úřadech. Objevuje se stále více věcí, při kterých se dá na farách využít počítač. Například při vytváření různých plakátů, popisků, ale také při tisku výpisů z matrik a pořadu bohoslužeb s ohláškami. Proto je potřeba mít informační systém, který dokáže všechna potřebná data spravovat a v nějaké použitelné formě je předávat uživateli. Informační systém farního úřadu by měl ulehčit život především duchovním, protože by se měli spíše starat o duchovní stránku farnosti. Jelikož mají na starost i administrativní záležitosti farnosti, měl by jim systém tyto práce co nejvíce usnadnit a urychlit. iii

4 Klíčová slova Farní informační systém, farnost, duchovní, farník, svátost, bohoslužba iv

5 Obsah 1 Úvod - popis systému Struktura systému Použité techniky a technologie RMI (Remote Method Invocation) MySQL JDBC XML dom4j Tisk v Javě Logická struktura systému Datový model Spustění a ukončení serveru a klienta Moduly Podpůrné třídy Předávání dat Seznamy (jádro) Farníci Seznam duchovních Seznam farností Seznam umístění Mimořádné akce Náboženství Bohoslužby Matriky Křestní matrika Matrika sňatků Matrika pohřbů Ostatní svátosti První svaté přijímání Svátost biřmování Pomazání nemocných Kniha pošty Příjmy a výdaje Instalace systému Nastavení a správa systému Závěr Bibliografie A Vytvoření tabulek a indexů v databázi B Ukázky dialogů C Tiskové výstupy

6 Kapitola 1 Úvod - popis systému Každý si asi dovede představit, co je to farnost nebo kde sídlí v našem městě či obci. Ale už méně lidí ví, co taková farnost potřebuje ke své existenci a k čemu slouží. Základem farnosti jsou farníci, bez nichž by farnost ani nemusela být, které vede duchovní na cestě k Bohu. Mimo to má duchovní i spoustu administrativních úkolů. Křest ané (farníci) se setkávají s Bohem při bohoslužbách konaných duchovním (popř. i farníky), které je nutno evidovat a musíme znát, kdo danou bohoslužbu sloužil nebo zda při ní nebyla udělena některá svátost. Svátost křtu a svátost manželství je nutno zaznamenat také do matrik (křestní a sňatků). Dalším úkonem zaznamenávaným do matriky je pohřeb (matrika pohřbů). U farníka je nutno také evidovat, kdy přijal první svaté přijímání, biřmování a popř. i svátost nemocných. Farní úřady zprostředkovávají také výuku náboženství (nejen pro školou povinné). Ta musí být také zaznamenána, včetně farníků, kteří hodiny navštěvují. Každá farnost musí dále evidovat příchozí a odchozí poštu, včetně dokumentů, které vydala nebo přijala. Další nutností je evidence příjmů a výdajů farnosti. Duchovní správce většinou spravuje více farností najednou, ale sídlí pouze na jedné faře. Proto by systém měl umožňovat správu více farností jedním informačním systémem. Pořad bohoslužeb a výuka náboženství jsou společné pro všechny spravované farnosti, ale správa matrik, příjmy a výdaje nebo kniha pošty musí být pro každou farnost zvlášt. V Olomoucké arcidiecézi dosud tento systém neexistuje, i když některé farnosti používají primitivní verzi podobného informačního systému. Tato bakalářská práce má systém navrhnout a implementovat. V následujích kapitolách je popsán návrh systému a nastíněna implementace. Ve druhé kapitole se zabývám strukturou systému, technikami a technologiemi použitými při implementaci. Třetí kapitola popisuje datový model a čtvrtá pojednává o startu a ukončení serveru a klienta. Pátá kapitola se zabývá implementací jednotlivých modulů. O tom, jak nainstalovat systém, pojednává kapitola šestá. Předposlední kapitola ukazuje možnosti nastavení serveru a poslední obsahuje souhrn dosažených výsledků. 2

7 Kapitola 2 Struktura systému Systém je implementován v jazyce Java a je vybudován jako víceuživatelský. Proto je systém rozdělen na dvě části, server a klienta. Serverová část obsahuje metody, které komunikují s databází a klientem, a předává mezi nimi data. Komunikace mezi klientem a serverem je zprostředkována pomocí vzdáleného volání metod RMI (Remote Method Invocation). Mezi serverem a databází zajišt uje komunikaci rozhraní JDBC. Server i klient využívají pro ukládání nastavení XML a k procházení XML dokumentů používají knihovnu dom4j. Všechny tyto technologie jsou popsány níže. 2.1 Použité techniky a technologie Jednotlivé techniky a technologie jsou popsány jen z části použité v systému. Kompletní popis technologií je dostupný na Internetu RMI (Remote Method Invocation) RMI, neboli vzdálené volání metod, umožňuje komunikaci dvou procesů lokálně i vzdáleně. Všechny dále zmiňované třídy a rozhraní se nacházejí v balíčcích java.rmi nebo java.rmi. server. Dokumentace viz [RMI]. Pro vzdálenou komunikaci je potřeba vytvořit rozhraní (rozšiřující rozhraní Remote) s metodami, které budou dostupné vzdáleně. Toto rozhraní bude implementovat třída, která musí zároveň rozšiřovat třídu UnicastRemoteObject nebo v konstruktoru volat její statickou metodu UnicastRemoteObject.exportObject(object) a jako parametr object předat instanci třídy, implementující rozhraní Remote. Většinou to bude aktuální instance třídy, ve které voláme tuto metodu, proto bude argumentem this. Po překladu třídy, implementující interface Remote, musíme ještě zadat příkaz rmic jméno třídy, který vytvoří objekty typu stub a skeleton pro danou třídu. Objekt typu stub se používá na straně klienta pro převod volání metod na bajtový proud, k odesílání vytvořeného proudu a ke zpracovávání vrácených informací ze serveru. Na straně serveru se naopak používá objekt typu skeleton, který slouží pro čtení dat přijatých od klienta, k jejich převodu na volání metody a k vrácení výsledku konané metody. Aby takto vytvořená třída byla dostupná na síti, musíme ji zaregistrovat pomocí metody Naming.bind(), která vyžaduje dva argumenty: řetězec, který bude tento objekt v síti identifikovat a odkaz na samotný objekt. Tuto metodu můžeme volat i ve třídě, jejíž instance bude po síti dostupná, a to voláním metody Naming.bind( RMIObject, this). Volání této metody může vyvolat vyjímku AlreadyBoundException, pokud je pod zadaným jménem zaregistrována jiná třída nebo RemoteException, pokud nejsou kontaktovány registry, které musí být spuštěny před voláním této metody. Registry se spouštějí příkazem rmiregistry z příkazového řádku nebo v programu vytvořením registru r připojeného ke standartnímu portu Registry r = LocateRegistry.createRegistry( Registry.REGISTRY_PORT); 3

8 2.1. POUŽITÉ TECHNIKY A TECHNOLOGIE nebo k portu vlastnímu. Pro takto vzniké registry nepoužijeme metodu Naming.bind(), ale r.bind(). Pokud chceme předávat vzdálené metodě nějaký objekt, musí tento objekt implementovat rozhraní java.io.serializable, který je předáván vzdálené metodě hodnotou. Jinou možností je předávat odkaz na instanci třídy implementující rozhraní Remote (popsané výše). To se také týká objektů vracených ze vzdálené metody pomocí return. U primitivních typů probíhá předávání parametrů obvyklým způsobem (hodnotou) MySQL Databázový server, který je použit pro ukládání dat v informačním systému. Další informace můžeme nalézt například v knize Naučte se MySQL za 21 dní [Mza21] neba na internetových stránkách [MySQL] JDBC Technologie umožňující komunikaci mezi programem v Javě a databází. Pro Javu a MySQL je použit produkt Connector/J[MySQL]. Následující výklad platí obecně i pro ostatní databáze. Metody, u nichž nebude zadán balíček, budou patřit do java.sql. Dokumentace k JDBC viz [JDBC]. Nejdříve je nutné zaregistrovat ovladač JDBC v programu, který bude komunikovat s databází. K tomu použijeme metodu Class.forName( třída ovladače ).newinstance(), kde jako parametr zadáme název třídy, která obsahuje ovladač pro danou databázi (v případě MySQL je to com.mysql.jdbc.driver). Pak už stačí pouze vytvořit připojení k databázi, kdy je nutné zadat uživatelské jméno, heslo, název databáze a jméno serveru, kde MySQL běží (popř. i jiná nastavení - viz dokumentace MySQL). Připojení vytvoříme pomocí následujícího kódu. Connection con = DriverManager.getConnection( jdbc:mysql://host/jmeno_databaze/?user=uživatel& + password=heslo&useunicode=true& + characterencoding=latin2 ); Pro práci s češtinou jsou do textu v argumentu přidány hodnoty atributů useunicode a characterencoding s volbou kódování. Ted už stačí pouze vytvořit instanci třídy Statement stm, kterou získáme voláním metody con.getstatement(). Pomocí této instance můžeme posílat příkazy a dotazy databázi. Pro vykonání příkazu použijeme metodu stm.execute(command), kde příkaz zadáme jako parametr. Pokud byl příkaz chybně zadán nebo nastala jiná komplikace při vykonání příkazu, je vyvolána vyjímka SQLException. Pokud chceme získat z databázové tabulky data, musíme použít metodu stm.execute- Query(query), kde query obsahuje SQL příkaz SELECT. Metoda vrací odkaz na instanci třídy ResultSet, ze které můžeme získat jednotlivá data vrácená SQL příkazem. ResultSet tvoří tabulku, ve které se můžeme pohybovat po řádcích a zjišt ovat data z jednotlivých sloupců. Procházet řádky můžeme několika způsoby. Absolutně metodou absolute( int row) s parametrem čísla řádku nebo relativně po volání metody first(), která přesune vnitřní ukazatel na první pozici a vrátí true. Pokud výsledek nemá žádný řádek, vrátí false. Pak můžeme použít metody next(), previous() nebo relative() s předaným počtem řádků, o které se má ukazatel posunout. Aktuální číslo řádku získáme pomocí metody getrow(). Když se nacházíme na hledaném řádku, získáme data řadou metod začínajících get...(). Nejpoužívanějšími se mi jeví metody getint() a getstring(). Všem těmto metodám se zadává jako parametr číslo sloupce (počínaje jedničkou) nebo jméno sloupce, jak bylo definováno v příkazu SELECT. 4

9 2.1. POUŽITÉ TECHNIKY A TECHNOLOGIE XML XML vychází z jazyka SGML a umožňuje vytvářet strukturované dokumenty vhodné pro uchovávání dat. Struktura je tvořena pomocí značek (tagů), jejichž názvy jsou vloženy do špičatých závorek (<example>). Každý XML dokument musí začínat speciální značkou <?xml version= 1.0 encoding= UTF-8?>, kde atribut version určuje použitou verzi XML 1 a atribut encoding určuje kódování dokumentu. Pokud je tento atribut vynechán, použije se implicitní kódování UTF-8. Každý XML dokument musí obsahovat pouze jednu kořenovou značku <root>, která se dále pomocí dalších značek strukturovaně větví. Každá počáteční značka <tag> musí mít k sobě značku koncovou </tag>. Pokud značka není párová, musí se lomítko napsat na konec značky <tag/>. Každá značka může mít atributy s hodnotou. Zapisují se za jméno značky: <tag atribut s hodnotou= hodnota >. Data se vkládají mezi párové značky. Nepárové značky slouží např. pro vkládání obrázků, jiných dokumentů atd. Příklad výsledného XML dokumentu můžeme vidět na příkladu Specifikaci XML nalezneme v [XML]. Příklad 2.1.1: XML dokument <?xml version= 1.0 encoding= UTF-8?> <root> <tag> <vnoreny_tag> data ve vnořeném tagu </vnoreny_tag> <neparovy_tag atribut= hodnota /> </tag> <tag> <neparovy_tag atribut= jina_hodnota /> </tag> </root> dom4j Knihovna dom4j je založen na technologii DOM a umožňuje práci nad dokumenty XML. Načítá dokument jako stromovou strukturu, ve které se můžeme pohybovat, číst, mazat, přidávat nebo modifikovat data mazi jednotlivými značkami, značky a atributy i s jejich hodnotami. Další informace viz [dom4j] Tisk v Javě Třídy obsluhující tisk se nacházejí v balíčku java.awt.print. Nejdůležitější je třída Printer- Job, která obsluhuje tisk. Její instanci získáme statickou metodou PrinterJob.getPrinter- Job(). Vykreslení tisknuté stránky obsluhuje třída implementující rozhraní Printable, které obsahuje pouze metodu print(graphics graphics, PageFormat pageformat, int pageindex). Parametr pageformat říká, jaký je logický formát stránky, pageindex udává 1. zatím je pouze jediná verze 1.0, ale použití tohoto atributu slouží pro zpětnou kompatibilitu s dalšími verzemi 5

10 2.2. LOGICKÁ STRUKTURA SYSTÉMU číslo tisknuté stránky a graphics je grafická komponenta, na kterou vykreslíme tisknutou stránku. Návratová hodnota je typu int a může mít dvě hodnoty: Printable.PAGE EXISTS, pokud je stránka připravena na tisk, nebo hodnota Printable.NO SUCH PAGE, když stránka pro tisk určena není. Při tisku volá třída PrinterJob metodu print() s indexy číslovanými od jedničky tak dlouho, dokud nevrátí Printable.NO SUCH PAGE. Třída PrinterJob obsahuje dialogy umožňující nastavení vzhledu stránky a nastavení tisku. Dialog pro nastavení formátu stránky zobrazíme z instance třídy PrinterJob metodou printerjob.pagedialog(pageformat), kde parametr pageformat obsahuje odkaz na starý formát stránky (nový formát je vrácen jako návratová hodnota). Pro nastavení tisku zavoláme metodu printerjob.printdialog() nastavující hodnoty pro tisk. Třídu obsluhující tisk nastavíme do instance třídy PrinterJob metodou setprintable(), kde je parametrem odkaz na tuto třídu. Pro tisk zavoláme metodu printerjob.print(). 2.2 Logická struktura systému Jak již bylo řečeno, systém se skládá ze dvou částí - klienta a serveru komunikujícího s databází. Klient tedy nemusí vědět, že nějaká databáze existuje nebo kde se nachází. Stačí mu pouze informace o tom, kde se nachází server. Další informací, kterou musí klient vědět před přihlášením do systému, je přihlašovací jméno a heslo uživatele. Tyto informace se zadávají při spuštění klientské části spolu se jménem počítače, kde server běží. Server pak na základě těchto informací přístup povolí nebo ho zamítne. Všechny potřebné informace nalezne v databázi, kde jsou v tabulce uloženi všichni uživatelé a jejich hesla. Jelikož všichni uživatelé systému potřebují mít přístup ke všem datům a musí mít možnost jejich aktualizace, neexistují žádná jiná přístupová práva. Proto všichni, kdo se do systému přihlásí, mohou dělat všechny operace, které jsou v systému dostupné. Server nepovoluje vícenásobné přihlášení téhož uživatele. Server umožňuje posílat signál klientům o tom, že byl v nějaké tabulce změněn záznam. Klient tak může automaticky seznam záznamů aktualizovat, pokud ho má právě otevřen. Všechna data jsou v první fázi zpřístupňování zobrazena jako seznam, kde si uživatel zvolí záznam, ke kterému chce podrobnější informace. Údaje k jednomu záznamu jsou z databáze načteny a vráceny v objektu obsahujícím metody pro získání nebo uložení dat. Po změně údajů jsou data změněna v databázi opět podle dat v tomto objektu, který je předán metodě komunikující s databází. Jednotlivé volby, které systém nabízí, jsou rozděleny do jednotlivých kategorií (většinou podle toho, do kterého modulu spadají). Každá kategorie má v hlavním okně klienta jednu položku v horním menu, která se dále dělí na jednotlivé volby. 6

11 Kapitola 3 Datový model Datový model slouží k popisu struktury dat, které chceme v informačním systému uchovávat. Celý datový model je pro větší přehlednost rozdělen na několik částí podle jednotlivých modulů. Kód pro vytvoření všech tabulek a indexů v databázi je v příloze A. Jádro Základní část datového modelu tvoří entity Farník, Duchovní, Farnost, Umístění a Dekret. Do tohoto modulu také patří entita Mimořádná akce. Následuje obrázek a popis entit. Obrázek 3.1: Entity Farník, Duchovní, Farnost, Umístění, Dekret a Mimořádná akce Farník je každá osoba hlásící se k římskokatolické církvi a patřící do určité farnosti. Duchovní je každá osoba, která přijala svěcení v určitém stupni od biskupa dané diecéze. Farnost je určité, natrvalo zřízené společenství křest anů v místní církvi, svěřené pod vedením diecézního biskupa do pastorační péče faráři jako jejímu vlastnímu pastýři. Každá farnost má své sídlo a je identifikováno svým IČem. Dekret je pověřovací listina určující funkci, kterou má duchovní zastávat ve farnosti. Umístěním se chápe objekt sloužící k činnosti farnosti. Mimořádná akce je každá akce, která nemá charakter bohoslužby nebo výuky náboženství (pravidelná akce). 7

12 3. DATOVÝ MODEL Náboženství a bohoslužby Dále následuje popis entit modulů Náboženství a Bohoslužby, kde přibyla entita Hodina náboženství, Ročník náboženství a entita Bohoslužba. Na obrázku jsou pro přehlednost vztahů použity také entity definované dříve, ale již u nich nebudou uvedeny atributy (kromě primárního klíče). Obrázek 3.2: Entity Hodina náboženství, Ročník náboženství a Bohoslužba Hodina náboženství je vyučovací hodina identifikovaná svým časem, místem konání a osobou, která danou hodinu vede 1. Ročník náboženství je seznam hodin náboženství konaných v jednom vyučovacím roce, který je shodný se školním rokem. Bohoslužba je posvátný úkon, který má dva typy. Je to bohoslužba svátostná, kterou mohou vykonávat pouze duchovní a bohoslužba nesvátostná, která může být vykonávána i farníkem. Aby mohl být typ bohoslužby pojmenován, popřípadě i obsahovat další údaje, nachází se v systému ještě entita Typ bohoslužby s primárním klíčem ID, na který odkazuje atribut typ v entitě Bohoslužba. Matriky Další částí datového modelu jsou záznamy v jednotlivých matrikách. Jedná se o křestní matriku, matriku sňatků a matriku pohřbů. Matrika je kniha, která má tři typy. Podle typu obsahuje záznamy o udělení svátosti křtu, svátosti manželství a pohřbu. Každá farnost má své matriky pro všechny tři typy. Každá matrika má své číslo svazku, kterým se matriky stejného typu ve stejné farnosti odlišují. Záznam v křestní matrice popisuje jeden křest, kde je uvedený křtěnec, kmotr a bohoslužba, při které byl křest udělen. Z bohoslužby získáme spoustu dalších informací jako datum, místo a duchovního, který křtil. 1. vyučovat náboženství může jak duchovní, tak farník, ale musí být katechetou 8

13 3. DATOVÝ MODEL Obrázek 3.3: Entity Matrika, Záznam v křestní matrice, Záznam v matrice sňatků a Záznam v matrice pohřbů Záznam v matrice sňatků popisuje jedno udělení svátosti manželství, kde jsou uvedeni oba snoubenci, dva svědkové a opět bohoslužba, při níž byla svátost udělena. Záznam v matrice pohřbů popisuje jeden pohřeb, kde je uveden zemřelý a bohoslužba. Každý záznam v matrice obsahuje odkaz na matriku, ve které se záznam nachází (zastupuje ji svazek), dále je uvedeno číslo stránky, pořadové číslo a rok. Ostatní svátosti Mezi ostatní svátosti patří svátost eucharistie, u níž evidujeme pouze první svaté přijímání 2, dále svátost pomazání nemocných a biřmování. První svaté přijímání eviduje přijetí prvního svatého přijímání při dané bohoslužbě. Pomazání nemocných při bohoslužbě eviduje přijetí této svátosti farníkem při dané bohoslužbě. Pomazání nemocných bez bohoslužby eviduje přijetí této svátosti farníkem mimo bohoslužbu (např. v nemocnici). Biřmování popisuje přijetí svátosti biřmování při dané bohoslužbě daným farníkem, který má za kmotra jiného farníka. 2. zaznamenávání dalších přijetí svátosti eucharistie nemá žádný význam a pro počet není ani zjistitelný 9

14 3. DATOVÝ MODEL Obrázek 3.4: Entity První svaté přijímání, Pomazání nemocných při bohoslužbě a bez bohoslužby a entita Biřmování Kniha pošty a Příjmy a výdaje Moduly sloužící pro evidenci příchozí a odchozí pošty a dále příjmů a výdajů farnosti. Kniha pošty slouží k evidenci příchozí a odchozí korespondence. Příjmy a výdaje slouží k evidenci toku finančních prostředků ve farnosti. Obrázek 3.5: Entity Kniha pošty a Příjmy a výdaje 10

15 Kapitola 4 Spustění a ukončení serveru a klienta Spuštění serveru První, co je nutné udělat, aby jsme mohli pracovat, je spuštění serveru. Ten spustíme pomocí příkazu java fis.server.rmiserver a CLASSPATH musí obsahovat cestu na JAR archívy s JDBC a dom4j a cestu na umístění souborů s přeloženými třídami serveru. Při spouštění se nejdříve vytváří mapa přihlášených klientů, poté se načítá nastavení serveru pomocí třídy ServerProperties. Pokud soubor s nastavením neexistuje ( /.fis/serverfis.xml), je spuštěn dialog umožňující nastavení serveru. Další informace k nastavení jsou v kapitole 7. Následuje registrace ovladače JDBC. Pokud by ovladač nebyl nalezen, bude server ukončen. Pokud se tak nestane, dojde k zaregistování tří následujících tříd do rmiregistrů. Jsou to RemoteLoginManager pro přihlášení uživatele do systému, RemoteKillServer pro ukončení serveru a RemoteSetProperties pro vzálené nastavení serveru. Všechny tyto třídy jsou vnitřními třídami RMIServer a implementují rozhraní LoginManager, KillServer a SetProperties. Jako poslední akcí je povolení přihlašování uživatelů (přiřazením newuser = true). Spuštění klienta Od této doby je server dostupný na síti a můžeme tedy začít se spouštěním klienta. K připojení musíme znát uživatelské jméno, heslo a jméno stroje, kde je FISServer spuštěn. Klienta spustíme příkazem java fis.client.loginframe a CLASSPATH musí odbsahovat cestu na JAR archívy s dom4j a JavaHelp a cestu na umístění souborů s přeloženými třídami klienta. Při spuštění můžeme také zadat tři argumenty (jméno, heslo a stroj se serverem), pokud nezadáme nic nebo jen některé parametry, zobrazí se dialog (obr. B.1) pro zadání jména, hesla a stroje. Před zobrazením se načtou z XML dokumentu /.fis/loginframe.xml hodnoty, které byly zadány při posledním spuštění. Načtení hodnot zprostředkovává třída LoginFrameProperties obsahující metody pro vrácení posledně zadaných hodnot. Argumenty zadané při spuštění mají přednost před hodnotami posledně použitými. V dialogu můžeme zaškrtnout políčko Uložit heslo, aby jsme ho při příštím spuštění nemuseli zadávat. Po kliknutí na tlačítko OK se odešle dotaz na přihlášení k serveru. Nejdříve musíme získat odkaz na LoginManager lm, který nám umožní přístup k serveru. Získáme ho pomocí volání metody (fis.server.loginmanager) Naming.lookup( //- stroj/fis/login ), kde fis/login je název vzdáleného objektu, pod kterým byl zaregistrován LoginManager při spouštění serveru a stroj je název počítače, kde server běží. Přetypování je nutné, protože metoda lookup() vrací odkaz na instanci rozhraní Remote a díky tomu bychom nemohli používat metody, které se nacházejí v rozhraní LoginManager. Pro získání odkazu na FISServer zavoláme vzdáleně metodu lm.login(user, password, client), kde client je odkaz na tu část klienta, která zprostředkovává zasílání zpráv od serveru (implementuje rozhraní FISClient, a v našem případě je to odkaz na instanci třídy RMIClient vytvořený před voláním této metody). Zbylé parametry jsou uživatelské jméno a heslo. Po zavolání metody login() se na straně serveru nejdříve zjistí, zda je povoleno přihlašování nových uživatelů. Pokud ano, z tabulky users získá informace, zda zadaný uživatel existuje a zda je zadané heslo správné. Nakonec si uloží odkaz na klienta do mapy s přihláše- 11

16 4. SPUSTĚNÍ A UKONČENÍ SERVERU A KLIENTA nými klienty a vrátí odkaz na instanci třídy FISServer. Jednotliví klienti jsou v mapě uloženi s klíčem uživatelského jména, proto se může jeden uživatel přihlásit pouze jednou, jinak bude jeho přístup odmítnut a vyvolá se vyjímka LoginFailedException. Tato vyjímka je vyhozena i tehdy, pokud nesouhlasí heslo nebo uživatelské jméno. Podrobnější informace zjistíme z vyjímky pomocí metody getmessage(). Klient (doposud reprezentován přihlašovacím oknem - LoginFrame) uloží přijatý odkaz na server do FISClienta. Pak nastaví zadané hodnoty z textových polí do instace třídy LoginFrameProperties a uloží XML dokument s hodnotami pomocí metody save() pro příští použití. Nakonec vytvoří a zobrazí hlavní okno programu ClientFrame, které bude mít uložen odkaz na instanci rozhraní FISClient pro získání odkazu na server. Nyní již nic nebrání práci se systémem. Pokud se rozhodneme práci ukončit nebo ukončit běh serveru, je postup následující. Ukončení klienta a serveru Ukončení klienta provedeme voláním metody logoutuserfromserver(), která zašle serveru informaci přes FISClienta, že končíme. Server si tohoto klienta smaže z mapy přihlášených uživatelů a klient je ukončen. Pro ukončení serveru musíme spustit příkaz java fis.server.killfisserver s parametry název stroje, kde server běží, a heslo superuživatele. Pokud není jako parametr zadáno heslo, bude zadání umožněno po spuštění. Po té dojde ke kontrole hesla, a pokud je správné, následuje ukončení serveru. Nejdříve se zakáže přihlašování nových uživatelů a pomocí metody smaznedostupneklienty() se smažou nedostupní klienti, které server pozná pomocí volání metody zijes(), kterou volá ve všech odkazech na instanci rozhraní FISClient. Pokud vypadne vyjímka RemoteException, je daný klient vymazán z mapy přihlášených uživatelů. Nakonec rozešle všem zbylým klientům informaci o tom, že server bude ukončen v následujích dvou minutách. Na straně klienta se zobrazí dialog s informací, že server bude ukončen během dvou minut. Po tuto dobu má klient čas uložit všechnu rozdělanou práci a odpojit se od serveru. Na serveru je následně spustěno nové vlákno, které čeká dvě minuty a zároveň kontroluje, zda se všichni uživatelé už neodhlásili. Pokud by k tomu došlo, okamžitě ukončuje činnost serveru. Po uplynutí dvou minut počká ještě půl minuty pro případ, že klient zrovna ukládá rozdělanou práci. Po tomto rezervním čase je server ukončen i kdyby byl někdo stále přihlášen. Před úplným ukončením je uloženo nastavení serveru, odregistrovány zaregistrované RemoteObjekty z rmiregistrů a server je ukončen. 12

17 Kapitola 5 Moduly Celý systém je rozdělen na několik modulů. Každý modul je tvořen na straně serveru jednou třídou, která zprostředkovává komunikaci s databází. Na straně klienta je modul vždy tvořen ne jednou, ale řadou tříd vytvářejících dialogy a panely komunikující s uživatelem. Všechny třídy jsou rozděleny do jednotlivých balíčků podle tohoto klíče. Třídy komunikující s databází se nacházejí v balíčku fis.server.modules, popř. ve vnořeném balíčku models. Všechny třídy na straně klienta jsou uloženy v balíčku fis.client.gui, který se dále dělí na balíčky dialogs (obsahuje dialogy), panels (obsahuje panely pro vytváření obsahu většiny dialogů) a frames (obsahuje okna pro zobrazení seznamů záznamů). Objekty pro předávání dat k záznamu mezi klientem a serverem se nacházejí v balíčku fis.object. 5.1 Podpůrné třídy Třídy všech modulů mají svou základnu na těchto podpůrných třídách, které rozšiřují. DatabaseMethods Na straně serveru je to třída DatabaseMethods, která implementuje metody pro vykonávání SQL příkazů. V konstruktoru vytvoří spojení s databází díky odkazu na server, odkud získá nastavení pomocí objektu FISServerProperties (možnosti nastavení viz. Kapitola 7). Třída obsahuje tyto metody: boolean execute(string command) - vykonává SQL příkaz command a vrací true, pokud příkaz proběhl v pořádku int getlastinsertid(string command) - vrací poslední ID vytvořené pomocí tohoto spojení 1 ve sloupci definovaném s atributem AUTO INCREMENT, kde parametr command zadává příkaz, který se má vykonat před získáním ID (většinou se jedná o příkaz INSERT; na místo, kam se má zadat ID, musí být zadána hodnota NULL) boolean existrecord(string query) - zjištuje, zda výsledná sada po použití dotazu query obsahuje nějaký záznam void sendsignaltoclient(int typ, Object hodnota) - posílá signál o změně záznamu typu typ, který je definován v rozhraní FISClient, a předává hodnotu hodnota (může být null, pokud není třeba zasílat žádné bližší informace) FISTableModel Předávání seznamů záznamů mezi serverem a klientem zprostředkovává třída fis.server.modules.models.defaultfistablemodel implementující rozhraní FISTableModel ve stejném balíčku. FISTableModel rozšiřuje rozhraní Remote, a proto je třída DefaultFISTableModel vzdálený objekt, ve kterém můžeme volat metody. Mimo jiné obsahuje metody podobné těm ze třídy javax.swing.table.tablemodel: 1. použití této metody musí být synchronizované, jinak bychom nemuseli dostat námi zadané ID 13

18 5.1. PODPŮRNÉ TŘÍDY int getcolumncount() - vrací počet sloupců v tabulce String getcolumnname(int columnindex) - vrací název sloupce columnindex. int getrowcount() - vrací počet řádků v tabulce Object getvalueat(int rowindex, int columnindex) - vrací objekt v řádku rowindex a sloupci columnindex. boolean iscelleditable(int rowindex, int columnindex) - pokud je hodnota na řádku rowindex a sloupci columnindex měnitelná, vrací true, což v našem případě nepovolujeme - vždy tedy vracíme hodnotu false int getid(int row) - vrací ID záznamu na řádku row, pokud zadaný řádek neexistuje, je vrácena hodnota -1 int getrow(int id) - vrací řádek, kde se nachází záznam s daným id. Pokud zadané ID neexistuje, je vrácena -1 Třída DefaultFISTabelModel nemůže implementovat rozhraní javax.swing.table. TableModel pro vykreslení tabulky na straně klienta, protože je vzdáleným objektem a každá její metoda může vyvolat vyjímku RemoteException. Proto existuje třída RemoteFISTable- Model na straně klienta, která implementuje rozhraní TableModel. Ve své vnitřní proměnné má odkaz na instanci rozhraní FISTabelModel, ze které získává informace ze stejnojmenných metod, ale vždy musí ošetřovat vyjímky RemoteException. Třídu RemoteFISTableModel již můžeme použít přímo pro vykreslení tabulky se seznamem záznamů. Třídy na straně klienta Třídy, na kterých staví klient, jsou většinou abstraktní a slouží pro jednodušší konstrukci objektů JInternalFrame, Dialog a Panel. Patří sem třídy AbstractSeznamyIFrame, Abstract- FISObjectDialog, AbstractChooseDialog, AbstractListPanel a AbstractEditableListPanel 2. AbstractSeznamyIFrame Třída AbstractSeznamyIFrame slouží pro vytváření seznamů záznamů. Tato abstraktní třída vytváří tlačítka Přidat objekt, Editovat/Zobrazit, Smazat, Vyhledat (zobrazuje se na požadavek nadřazené třídy) a OK. Pro první dvě tlačítka stačí pouze implementovat třídy obsluhující události tlačítek pridatbtactionperformed() a editshowbtactionperformed(), kterým se předává objekt typu ActionEvent. Pro obsluhu mazání stačí implementovat metodu deleteobject(id), které je předáno jako parametr id ID odstraňovaného objektu. V rozšiřující metodě stačí vymazat záznam z databáze. Před smazáním záznamu jsme tázáni, zda chceme opravdu objekt smazat. Pokud chceme použít jiný text než Chcete opravdu objekt smazat ze seznamu?, můžeme překrýt metodu getpopisksmazani(), která bude vracet text otázky. Po každém provedení příkazu přidej, edituj a smaž je nutno obnovit tabulku podle nových záznamů. Netýká se případu, kdy server posílá zprávu 3 o tom, že došlo ke změně v záznamech (což implicitně dělá), protože se tabulka obnoví automaticky. K dispocizi máme řadu metod obnovující tabulku: void settablemodel(fistablemodel tablemodel) - parametr tablemodel je typu FISTableModel a metoda podle tohoto modelu přenastavuje tabulku. Pokud seznam neobsahuje žádný záznam, jsou zakázána tlačítka Přidat a Smaž. 2. třídy jsou rozděleny podle klíče popsaného v úvodu kapitoly 3. server volá metodu refreshlist(object hodnota) 14

19 5.1. PODPŮRNÉ TŘÍDY void refresh(int id) - parametr id určujeřádek se záznamem. Pokud řádek s takovým ID v seznamu neexistuje, je označen řádek první. void reloadtablemodel() - nejdříve získá nový model tabulky a nastaví ho v tabulce jako výchozí pro vykreslování. void reloadtable() - shodná s reloadtablemodel(), ale navíc si před získám nového modelu zapamatuje ID označeného řádku a po překreslení se snaží označit stejný řádek. Dá se použít například při editaci, ale při vkládání a mazaní se použít nedá. void inittable() - inicializuje tabulku při vytváření. Pro zjednodušení těchto metod existují další metody pro přenastavení tlačítek Přidat a Smaž a pro práci s označením řádku. void settable() - pokud je v seznamu alespoň jeden záznam, označuje první záznam, jinak zakazuje tlačítka Přidat a Smaž. void refreshtablewith(int row) - snaží se označit řádek předaný jako parametr row. Před označením daného řádku se kontroluje, zda daný řádek existuje. Jinak je číslo řádku upraveno na řádek první nebo poslední, popřípadě žádný, pokud neexistují záznamy. SearchDialog Tlačítko Vyhledat je zobrazeno po volání metody setsearchdialog(dialog), kde parametr dialog je typu SearchDialog a odkazuje na dialog s vyhledáváním podle zadaných kritérií. Samotný dialog obsahuje tlačítka Zobraz a Zavři v dolní části a možnost volby mezi všemi záznamy a výběrem v části horní. Při vytváření SearchDialogu předáme konstruktoru odkaz na instanci třídy SearchPanel nebo tento panel pro vyhledávání nastavíme později pomocí metody setsearchpanel(searchpanel searchpanel). Třída SearchPanel je abstraktní a nadřazená třída musí implementovat tyto metody: FISTableModel gettablemodel() - vrací model tabulky podle zadaných kritérií void setenabledpodminky(boolean enabled) - parametr enabled určuje, zda mají být komponenty na panelu přístupné či nikoli Vyhledávání pak postupuje následujícím způsobem. Po kliknutí na tlačítko Vyhledat se zobrazí vyhledávací dialog, který ve střední části vykreslí panel s možností zadání kritérií pro vyhledání. Pokud je zvolena hodnota Všechny záznamy, je panel s volbou kritérií zablokovaný. Pokud je zvolena druhá možnost, můžeme zadat výběr podle kritérií, která jsou dostupná v searchpanelu. Každý seznam, který nabízí vyhledávání, implementuje vlastní třídu dědící SearchPanel, na kterém se nacházejí komponenty pro zadání hodnot určených pro daný seznam. Po stisku tlačítka Zobraz se skryje okno a do vnitřní proměnné se uloží informace o tom, že okno nebylo zavřeno tlačítkem Zavři 4. Okno se seznamem nejdříve z instance SearchDialog zjistí, co bylo stisknuto. Jestliže jsme stiskli tlačítko Zobraz, testuje, zda byly vybrány všechny záznamy. Pokud ano, obnoví tabulku pomocí metody reloadtable(), jinak zavolá metodu gettablemodel() ve třídě SearchDialog. Ta dále volá stejnou metodu v instanci třídysearchpanel 5, která vrátí model tabulky podle zadaných kritérií. 4. stejný mechanismus je použit i u třídy AbstractFISObjectDialog, kde je popsán podrobněji 5. pokud by panel nebyl nastaven, bude vráceno null a tabulka zůstane beze změny 15

20 5.1. PODPŮRNÉ TŘÍDY AbstractFISObjectDialog Třída AbstractFISObjectDialog slouží pro vytváření dialogů zobrazujících informace o jednotlivých objektech v systému. Tato abstraktní třída obsahuje v dolní části okna tlačítka Ulož a Zavři. Pro obsluhu těchto tlačítek stačí v dědící třídě implementovat metodu ulozbtactionperformed(actionevent evt), událost tlačítka Zavři je již ošetřena v této abstraktní třídě. Po uložení ani po zavření okna se dialog nemaže z paměti (metodou dispose()), ale pouze se nastaví vnitřní proměnná wascancel typu boolean, která říká, čím bylo okno uzavřeno. Metoda zobrazující tento dialog tak může jednoduše zjistit, čím bylo okno uzavřeno, a popřípadě navázat další akci. Zda byl dialog uzavřen tlačítkem Zavři zjistí metodou wascancel(). Jestliže je vrácena hodnota false, bylo stisknuto tlačítko Ulož. Tato vlastnost je umožněna vytvořením modal dialogu (tj. předáním parametru modal hodnotu true). Metoda zobrazující dialog pak čeká na jeho zavření. Samotná tlačítka by mnoho informací asi nepodávala, proto třída obsahuje dvě metody pro vkládání panelů. První možností je vložit jeden hlavní panel, který bude zabírat celé okno. Druhou možností je použít záložky pro více panelů. Můžeme použít následující metody: void setrootpanel(jpanel panel) - nastaví v dialogu hlavní panel panel void addpaneltotabbedpane(string nazev, JPanel panel) - vloží do dialogu také jeden panel panel, ale tentokrát do záložky, která ponese jméno nazev. Metodu lze volat několikrát a vždy bude vytvořena nová záložka Po volání obou metod se volálá metoda nastavdoprostred(), která nastaví potřebné hodnoty pro zobrazení dialogu v prostředku obrazovky. AbstractChooseDialog Třída AbstractChooseDialog slouží pro výběr jedné hodnoty z několika možných (možnosti jsou zobrazeny v ComboBoxu). V dolní části obsahuje tlačítka OK a Zavři. Žádnou událost těchto tlačítek není třeba implementovat, protože pouze zavírají okno, a jako u předchozí třídy nastavují proměnnou wascancel. Je možno zobrazit ještě tlačítko Nový, pro vytvoření nového objektu. Pro toto tlačítko již musíme implementovat ošetření události stisku tlačítka a to metodu novybtactionperformed(actionevent evt). Tlačítko Nový je implicitně zobrazeno, pro odstranění tlačítka můžeme použít metodu setvisiblebtnovy(false), pro zakázání použití tohoto tlačítka metodu setenabledbtnovy(false). Dříve, než je okno zobrazeno, je nutné nastavit hodnoty pro výběr. Pro správnou funkčnost musíme v konstruktoru dědící třídy volat metody setmodel(fistablemodel model), kde jako parametr model zadáme FISTableModel s hodnotami pro výběr, a setcbmodel(vector v), kde parametr v obsahuje seznam hodnot uložených ve vektoru. První metoda slouží pro nastavení modelu pro získávání ID vybrané hodnoty. Druhá metoda nastavuje hodnoty z vektoru do ComboBoxu umožňujícího výběr hodnoty. Podle vybraného řádku v ComboBoxu zjistíme ID z FISTableModelu, proto si musí řádky v těchto dvou objektech odpovídat. Po stisku tlačítka OK nebo Ulož (v dialogu pro vytvoření nového objektu, pokud jsme stiskli tlačítko Nový) je okno uzavřeno a pomocí metody getselectedid() získáme ID vybraného objektu nebo objektu nově vytvořeného. Také můžeme získat název vybrané položky metodou getselectedname(). Vectors Pro jednoduché získání instance typu Vector z objektu FISTableModel, můžeme použít některou ze statických metod třídy fis.client.models.vectors. Obsahuje následující statické metody: 16

21 5.1. PODPŮRNÉ TŘÍDY Vector getfarnosti(fistablemodel model) - vrací vektor s názvy farností, které se nacházejí v modelu v prvním sloupci Vector getosoby(fistablemodel model) - vrací vektor se jmény osob ve tvaru jméno příjmení, popř. v závorce datum narození, pokud je známo. V modelu musí být v prvním sloupci jméno, ve druhém příjmení a ve třetím rok narození Vector getumisteni(fistablemodel model) - vrací vektor s názvy objektů ve tvaru název objektu (obec nebo farnost). V prvním sloupci modelu by se měl nacházet název objektu a ve třetím 6 hodnota, která má být v závorce Vector getfarnostidekanaty(fistablemodel model) - vrací opět seznam farností, ale tentokrát za názvem farnosti je v závorce název děkanátu. V modelu by na prvním místě měl být název farnosti, na druhém název děkanátu Vector getmatriky(fistablemodel model) - vrací ve vektoru seznam matrik ve tvaru Typ matriky - Název farnosti (číslo svazku). Na prvním místě v modelu musí být typ matriky, ve druhém název farnosti a ve třetím číslo svazku Vector gethodinynabozenstvi(fistablemodel model) - stejné jako u metody getfarnostidekanaty(model) Vector getnames(fistablemodel model, int column) - vrací vektor se seznamem hodnot nacházejících se ve sloupci column v modelu model FarnostComboBox FarnostComboBox obsahuje ComboBox pro výběr farnosti. Zobrazuje ComboBox se seznamem dosud dostupných farností, které jsou získány ze serveru metodou getfarnostitable- Model(). Při vytváření této komponenty můžeme zadat v konstruktoru ID farnosti, která má být vybrána. ID vybrané farnosti zjistíme metodou getselectedfarnostid(). AbstractListPanel Třída AbstractListPanel zobrazuje seznam (JList) objektů s možností zobrazení bližších informací tlačítkem Podrobnější informace. Pro obsluhu tohoto tlačítka je nutno implementovat metodu infoactionperformed(actionevent evt). Pro zobrazení seznamu je nutná inicializace metodou initlist(fistablemodel tablemodel, Vector listdata), kde zadáme model tablemodel a vektor listdata s hodnotami vytvořenými z modelu tablemodel. AbstractEditableListPanel Předchozí panel rozšiřuje třída AbstractEditableListPanel, která umožňuje i přidávání a mazání záznamů ze seznamu. K tomu definuje tlačítka Přidej a Smaž. Pro obsluhu těchto tlačítek musíme implementovat metody pridejobject(actionevent event) a smazobject(actionevent event). Hodnoty v seznamu můžeme zadat manuálně, jako v předchozím případě, pomocí metody initlist() 7 nebo automaticky implementováním metod getnewtablemodel() a getcolumn(). Návratová hodnota metody getcolumn() označuje sloupec modelu tabulky vráceného metodou getnewtablemodel(), ze kterého vznikne vektor pro zobrazení seznamu. Jelikož se obsah seznamu může měnit, existují následující metody pro obnovení seznamu: 6. druhý sloupec je vynechán, protože jako model je použit ten, který vykresluje seznam objektů, a na druhé pozici není informace, kterou potřebujeme (viz 5.3) 7. pak je ale nutné volat tuto metodu po každé změně seznamu (přidávání, mazání) 17

22 5.2. PŘEDÁVÁNÍ DAT void setselectedindex(int index) - podpůrná motpda pro následující metody. Označuje řádek s indexem index, který je před použitím zkontrolován a popřípadě upraven. Nastavuje také použitelnost tlačítek Přidej a Smaž podle počtu záznamů v seznamu void refresh(int index) - získává nový model, podle kterého vytvoří vektor ze sloupce getcolumn() a překreslí podle něho seznam. Dále označuje řádek index předchozí metodou void refresh() - obnovuje tabulku pomocí předchozí metody a jako parametr index zadává aktuálně vybraný řádek PrintPreviewer Zobrazuje dialog s náhledem na stránku určenou k tisku. Pro vytvoření potřebujeme znát formát stránky PageFormat a třídu implementující rozhraní Printable. V dolní části dialogu se nacházejí tlačítka pro přesun na následující nebo předchozí stránku. Dále změnu velikosti stránky v procentech, popřípadě přizpůsobení stránky velikosti dialogu (tlačítko Celá stránka). Posledními možnostmi jsou tisk a zavření dialogu. Vykreslování náhledu zprostředkovává třída PrintComponent, která dokáže vykreslit stránku procentuálně zmenšenou nebo zvětšenou. Při nastavování velikosti se volá metoda setscalefactor(double scale) ve třídě PrintComponent nastavující zvětšení, kde parametr scale určuje procentuální zvětšení. Pro přizpůsobení stránky dialogu je volána metoda sizetofit(). Jako vzor pro vytvoření třídy PrintPreviewer posloužila stejnojmenná třída PrintPreviewer z knihy Java - Programujeme profesionálně [JPP]. Třída PrintComponent byla z této knihy použita celá beze změn. 5.2 Předávání dat V informačním systému jsou nejdůležitější informace a data. Před popisem jednotlivých modulů vás seznámím s implementací předávání dat mezi serverem a klientem. V systému jsem použil tři způsoby, z toho první dva se liší jen nepatrně. Tři odlišné způsoby používám proto, abych ukázal možnosti, kterými lze data vzdáleně předávat. První způsob spočívá ve vytvoření vzdáleného objektu pomocí implementace rozhraní dědící rozhraní Remote. Po zdědění třídy UnicastRemoteObject nebo voláním její statické metody 8 se stane nový objekt vzdáleným. Zůstává v paměti počítače, který ho vytvořil. Ostatním metodám se tedy posílá pouze odkaz. Tento způsob je použit převážně v modulu Seznamy (každý objekt uchovávající informace implementuje rozhraní, které definuje metody dostupné v objektu) a při předávání dat pro vykreslování seznamů u třídy DefaultFISTableModel. Druhý způsob také spočívá ve vytvoření vzdáleného objektu, ale tentokrát ne na straně serveru, ale na straně klienta. Serveru posílá pouze odkaz a ten naplní vzdáleně objekt daty z databáze. Tento způsob je použit v modulech Náboženství a Bohoslužby. Posledním způsobem je vytvoření serializovaného objektu, který je předáván mezi vzdálenými metodami hodnotou. Mezi metodami jednoho procesu je objekt předáván odkazem. Na každém způsobu se dají najít klady i zápory, ale jako nejlepší se mi jeví poslední způsob. Nemusí se při každém získávání informace ošetřovat vyjímka RemoteException, ale na 8. viz popis technologie RMI v podkapitole

23 5.3. SEZNAMY (JÁDRO) druhou stranu musíme myslet na to, že když vzdálené metodě předáme serializovaný objekt a ta v něm změní jednu hodnotu, neprojeví se změna ve volající metodě. Následující podkapitoly se již zabývají implementací jednotlivých modulů, které staví na podpůrných třídách popsaných v podkapitole Seznamy (jádro) Modul Seznamy tvoří základ celého systému, protože umožňuje manipulaci s nejdůležitějšími seznamy. Jsou to seznamy farníků, duchovních, farností a umístění (objektů používaných farnostmi). Patří sem i seznam mimořádných událostí, protože je to také pouze seznam. Na straně serveru je modul tvořen třídou SeznamyImpl implementující rozhraní Seznamy. Instance této třídy je vzdálený objekt, jehož odkaz můžeme získat ze serveru (FISServer) pomocí metody getseznamy(). Třída s modulem obsahuje velké množství metod sloužících k manipulaci s výše popsanými seznamy Farníci Zakladním kamenem farnosti jsou farníci, proto se farníkům budu věnovat jako prvním. V informačním systému je potřeba o farníkovi uchovávat velké množství informací, které nelze spravovat pouze v jednom modulu. Proto se s daty souvisejícími s farníkem setkáme skoro u všech modulů. Tento modul se zabývá pouze základními údaji, které nám podávají informace o farníkově jménu, příjmení, rodném příjmení, rodném čísle, místu narození, okresu narození, datu narození, státní příslušnosti, vyznání, stavu a pohlaví. Dále spravuje informace o bydlišti: ulice, obec, okres, kraj a farnost, ve které farník bydlí. Pak jsou tu ještě informace o rodičích a manželovi(ce). Modul také spravuje informace o udělených svátostech křtu, biřmování a vykonání pohřbu, pokud nejsou v systému podrobnější informace v jiném modulu. Umožňuje také uchovávat textovou poznámku u každého farníka. Seznam farníků Seznam farníků je reprezentován třídou FarniciTableIFrame rozšiřující třídu Abstract- TableIFrame. Záznamy v seznamu farníků můžeme editovat (zobrazovat), mazat a přidávat. Poslední možností je vyhledání farníků podle zadaných kritérií, kam patří jméno, příjmení, rok narození nebo farnost. Farník Informace o farníkovi podává třída FarnikDialog dědící třídu AbstractFISObjectDialog. V dialogu se nacházejí čtyři záložky: Informace o osobě, Přijaté svátosti, Děti a Náboženství. Při vytváření nového farníka je zobrazena pouze záložka Informace o osobě obsahující panely InfoOsobyPanel, BydlistePanel, RodicePanel, ManzelKaPanel. Zde je nutné mít vyplněno alespoň jméno farníka, jinak nemůže být záznam uložen. Otce a matku vyplníme kliknutím na tlačítko pro zadání otce, resp. matky. Pro výběr slouží třída OsobaChooseDialog, která umožňuje vytvořit i nového farníka. Při zadávání matky jsou ve výběru pouze ženy, při zadávání otce, obsahuje výběr pouze muže. Manžela(ku) lze zadávat pouze, pokud stav farníka je ženatý (vdaná). Když je farník vdovcem (vdovou) nebo civilně rozvedený 9, lze manžela(ku) změnit pomocí pravého tlačítka myši na tlačítku se jménem manžela(ky). Jména osob do výběru získáváme metodou getosobytablemodel(typ) z rozhraní Seznamy, kde parametr typ je jedna z hodnot definovaných ve stejném rozhraní: MUZ nebo OTEC (vybere všechny muže), ZENA 9. církevně rozvedený být nemůže, protože církev rozvod nepřipouští 19

24 5.3. SEZNAMY (JÁDRO) Obrázek 5.1: Záložka Informace o osobě nebo MATKA (vybere všechny ženy), MANZEL (vybere všechny neženaté muže) a MANZELKA (vybere všechny nevdané ženy). Pokud máme zvolenou matku nebo otce, můžeme importovat adresu jednoho z rodičů. Po kliknutí na tlačítko Ulož se nejdříve načtou do objektu fis.objects.fisfarnik data z jednotlivých textových polí a ComboBoxů metodou setvalues() volanou ve všech panelech na záložce. Zkontroluje se, zda má farník správné pohlaví oproti své manželce(ovi) a zda je zadáno jméno. Dále je získáno nové UČO (metodou getnewuco()) a uložíme data do databáze metodou updatefarnik(farnik), kde parametr farnik je odkaz na objekt typu FISFarnik. Ve skutečnosti je FISFarnik rozhraním implementovaným třídou FISFarnikImpl, která je zároveň vzdáleným objektem (předávání dat - Kapitola 5.2). Při editaci/zobrazení je nejdříve nutné získat odkaz na objekt FISFarnik s daty o farníkovi. Získáme ho jako návratovou hodnotu metody getfarnik(int uco), kde parametr uco je UČO zobrazovaného farníka. Při editaci jsou již zobrazeny i zbylé záložky. První z nich je záložka Přijaté svátosti, která podává informace o svátostech, které byli farníkem přijaty, dále poznámky a informace o pohřbu. Ze svátostí jsou zde informace o křtu, prvním svatém přijímání a biřmování, dále seznamy sňatků a udělených svátostí pomazání nemocných. Údaje o křtu, biřmování a pohřbu je možné zadavávat bez toho, aniž by v systému byl odkaz na podrobnější informace. Údaje o udělení prvního svatého přijímání jsou zobrazeny pouze tehdy, pokud existuje v systému odkaz na podrobnější informace. Data o ostatních svátostech získáme pomocí metody getzaznamyosoby() z objektu typu FISFarnik, která vrací objekt typu OstatniZaznamy. Zde získáme potřebná data i informaci o tom, zda existují podrobnější data v systému o dané svátosti nebo pohřbu, na která je potřeba vytvořit odkaz. Zbylé dva seznamy jsou vytvořeny pomocí tříd SnatkyOsobyPanel a PNOsobyPanel, které ale patří do modulu Svátosti (viz 5.7). Další záložka má název Děti. Zde se nachází seznam dětí farníka, u kterých je veden jako otec nebo matka. Seznam dětí získáme metodou getdetifarnika(int uco), kde parametr uco označuje farníka, od kterého chceme znát děti. Pomocí tlačítka Podrobnější informace je zobrazíme dialog FarnikDialog s informacemi o daném dítěti. Poslední záložka Náboženství spadá do modulu Náboženství (viz 5.4). 20

25 5.3. SEZNAMY (JÁDRO) Obrázek 5.2: Záložka Přijaté svátosti Farník je smazán z databáze pomocí metody deletefarnik(int uco), kde uco je UČO mazaného farníka. Vyhledávání Při vyhledávání je použit dialog SearchDialog popsaný v podkapitole o podpůrných třídách. Pro vyhledávání farníků je potřeba pouze implementovat třídu s panelem OsobaSearch- Panel (obr. 5.3), která nabízí zadání čtyř kritérií pro výběr farníků. Jsou to farnost, kde farník bydlí, rok narození a nakonec jméno a příjmení, kde můžeme znaky nahradit zástupnými symboly % (nahrazuje několik znaků) a? (nahrazuje jeden znak). Obrázek 5.3: Vyhledávání farníků Pokud jsou vybrány všechny záznamy, získáme seznam pomocí metody getfarnicitablemodel(). Ve druhém případě je získán model tabulky podle zadáných kritérií pro výběr. Seznam farníků tedy získáme metodou getfarnicitablemodelof(jmeno, prijmeni, rok, farnost), kde parametry jmeno a prijmeni jsou hodnoty zadané v textových polích včetně zástupných symbolů, parametr rok je rok narození a farnost je ID farnosti, kde mají 21

26 5.3. SEZNAMY (JÁDRO) vybíraní farníci bydlet (pokud je ID = 0, zobrazí se farníci všech farností; toho docílíme tím, že farnost nebude zaškrtnuta) Seznam duchovních Seznam duchovních je vytvořen pomocí třídy DuchovniTableIFrame opět dědící třídu AbstractSeznamyTableIFrame. Jako u seznamů farníků nabízí vytváření nových duchovních, editaci/zobrazování a mazání (vyhledávání není zatím podporováno). Jelikož se člověk stává duchovním až poté, co byl farníkem, může se stát, že ho již v systému evidujeme. Proto je před vytvořením nového duchovního zobrazen dialog, kde můžeme zvolit, zda chceme vytvořit úplně nového duchovního nebo ho importovat z existujícícho farníka. Importem není záznam o farníkovi smazán, protože duchovní může být ženatý muž (pokud se jedná o trvalého jáhna) a pak bychom se nedostali ke všem jeho údajům. U duchovního také neevidujeme tolik informací jako u farníka. Duchovní Při vytváření, podle volby uživatele, jsou načteny informace o importovaném farníkovi do objektu typu FISDuchovni, nebo je vytvořen objekt nový. Při editaci získáme takový objekt metodou getduchovni(int uco), kde uco je UČO hledaného duchovního. Data jsou zobrazena v dialogu DuchovniDialog, který obsahuje tři záložky: Informace o osobě, Svěcení a dekrety a Ostatní záznamy. První záložka je velice podobná záložce v dialogu FarnikDialog. Rozdíl je pouze u bydliště, kde chybí informace o farnosti, a nelze zadávat manželku. Obrázek 5.4: Záložka Svěcení a dekrety Další záložka Svěcení a dekrety se skládá z panelů SveceniPanel, DekretyPanel a FarnostiPusobeniPanel. První panel obsahuje tři textová pole pro zadání jáhenského, kněžského a biskupského svěcení. Jednotlivá svěcení musí navazovat na sebe a musí být vykonána až po narození dané osoby. V panelu DekretyPanel je seznam udělených dekretů diecézním biskupem danému duchovnímu. Dekrety jsou uloženy v objektu FISDuchovni a jsou načítány při načítání dat o duchovním. Každý dekret je v objektu FISDekret a odkaz na něj získáme metodou getdekret(int index), kde index je číslo dekretu. V seznamu jsou dekrety zobrazeny jako tlačítka s hodnotou data vydání daného dekretu. Po kliknutí na tlačítko se zobrazí 22

27 5.3. SEZNAMY (JÁDRO) dialog DekretDialog (obr. B.2), kde je zobrazeno datum vydání dekretu a popis. Dekret je uložen do databáze metodami insertdekret(dekret) nebo updatedekret(dekret) (podle toho zda už v databázi existuje nebo ne), kde dekret je odkaz na ukládaný dekret typu FISDekret. Dekrety můžeme přidávat pomocí tlačítka Přidat dekret, kdy je zobrazen předchozí dialog a po uložení se dekret přidá do objektu FISDuchovni pomocí metody adddekret(dekret), kde dekret je odkaz na vkládaný dekret. Posledním panelem v této záložce je FarnostiPusobeniPanel, ve kterém se nachází seznam farností, kde duchovní působí. Farnosti můžeme vkládat, mazat a zobrazovat podrobnější informace. Seznam farností je získán z modulu Seznamy metodou getfarnostikdepusobi( int uco), kde parametr uco je UČO duchovního. Pro přidávání je zobrazen výběrový dialog ChooseFarnostDialog a seznam je vytvořen ze záznamů vrácených metodou getfarnostitablemodel(). Poslední záložkou jsou Ostatní záznamy, ve kterém se nacházejí seznamy svěřených farností a vyučovaných hodin náboženství reprezentované třídami SvereneFarnostiPanel a VyucovaneHodinyNabozenstviPanel. V obou případech můžeme zobrazit podrobnější informace o záznamech v těchto seznamech tlačítkem Podrobnější informace. Mazaní probíhá pomocí metody deleteduchovni(int uco), kde parametr uco je UČO mazaného duchovního Seznam farností Seznam farností je vytvořen pomocí třídy FarnostiTableIFrame dědící třídu AbstractSeznamyTableIFrame. Data z databáze jsou získána metodou getfarnostitablemodel(). Do seznamu můžeme přidávat nové farnosti, editovat/zobrazovat je nebo je mazat (metodou deletefarnost(int id), kde id je ID mazané farnosti). Farnost Při vytváření farnosti se zobrazí dialog FarnostDialog (obr. B.4), který obsahuje panel FarnostPanel složený z panelů InfoFarnostPanel a UmisteniPanel, kde se nacházejí informace o sídle farnosti. Pokud se zobrazuje již existující farnost, získáme informace o ní metodou getfarnost(), která vrací odkaz na objekt typu FISFarnost, kde jsou uložena všechna data. K farnosti můžeme zadat IČO, její název, děkanát, do kterého patří a jejího správce. Dále můžeme zadat sídlo nebo ho importovat pomocí tlačítka Import adresy sídla, kdy je zobrazen výběrový dialog ChooseUmisteniDialog, který získává seznam objektů metodou getumistenitablemodel(). Správce farnosti zadáme kliknutím na tlačítko Správce (pokud ještě není zadán) nebo pomocí pravého tlačítka myši a volby Změň správce, kdy je zobrazen dialog ChooseOsobaDialog se zadaným typem DUCHOVNI. Seznam je tak vytvořen pomocí metody getduchovninametablemodel(). Před uložením je nutné zadat název farnosti a název sídla, jinak je uložení odmítnuto. Farnost není třeba zadávat, protože dosud o ní neexistuje záznam v databázi. Nově vznikající farnost se k sídlu uloží automaticky. Před uložením jsou nejdříve načtena data z textových polí do objektu typu FISFarnost a ten je uložen do databáze bud metodou insertfarnost(farnost), nebo updatefarnost(farnost) podle toho, zda se farnost již v databázi nachází nebo ne, a parametr farnost je odkaz na objekt s daty Seznam umístění Seznam umístění je vlastně seznam objektů, které farnost vlastní nebo používá pro akce, bohoslužby nebo výuku náboženství. U každého tohoto objektu může být zadán název, adresa 23

28 5.3. SEZNAMY (JÁDRO) a popřípadě popis. Seznam je vytvořen třídou UmisteniTableIFrame, který získává data metodou getumistenitablemodel(). Obrázek 5.5: Dialog UmisteniDialog Při vytváření je nutné zadat v dialogu UmisteniDialog (obr. 5.5) název objektu. Volitelné údaje jsou ulice, obec, část obce, okres, kraj, farnost a popis. Všechna data jsou zadávaná pomocí panelu UmisteniPanel. Pro výběr farnosti je použita třída FarnostComboBox. Při editaci jsou data z databáze načtena do objektu typu FISUmisteni, na který vrací odkaz metoda getumisteni(int id), kde id je ID zobrazovaného objektu. Po stisku tlačítka Ulož jsou načteny hodnoty z jednotlivých textových polí a z FarnostComboBoxu metodou setvalues() volanou nad panelem. Pokud je zadán název farnosti, je záznam uložen pomocí metody insertumisteni(umisteni), pokud záznam neexistuje, nebo metodou updateumisteni(umisteni), pokud záznam existuje. Parametr umisteni je odkaz na objekt typu FISUmisteni. Záznamy jsou ze seznamů mazány metodou deleteumisteni(id), kde parametr id je ID mazaného záznamu Mimořádné akce Do mimořádných akcí patří vše, co nepatří do bohoslužeb nebo do výuky náboženství (pravidelných akcí). Mohou to být různé výlety, víkendové akce atd. Seznam je vytvářen třídou MimoradneAkceTableIFrame, která pro získání dat z databáze používá metodu getmimoradneakcetablemodel(). Informace o akci se zobrazují v dialogu MimoradnaAkceDialog (obr. B.3), která obsahuje panel MimoradnaAkcePanel. Objekt s daty o mimořádné akci se jmenuje MimoradnaAkce. Pro vytvoření musíme zadat odpovědnou osobu a název akce, volitelně pak místo konání, datum, popis a poznámky. Při ukládání se použije metoda updatemimoradneakce(akce), kde jako parametr akce se zadá objekt s informacemi. Metoda updatemimoradneakce() pozná, zda je nutné nejdříve vytvořit nové ID pro záznam o mimořádné akci. Pokud chceme zobrazit nějaký záznam o mimořádné akci, získáme objekt s informacemi metodou getmimoradnaakce(int idakce), kde idakce je ID zobrazované akce. Záznam smažeme metodou deletemimoradnaakce(int idakce), kde idakce je opět ID akce. 24

29 5.4. NÁBOŽENSTVÍ 5.4 Náboženství Výuka náboženství je rozdělena na jednotlivé ročníky podle školního roku. Do této výuky nepatří pouze výuka náboženství pro děti školního věku, ale i výuka pro dospělé, která se koná pravidelně (např. setkání nad katechizmem,...), popřípadě i jiné akce, které se konají pravidelně. Na straně serveru je modul tvořen třídou NabozenstviImpl implementující rozhraní Nabozenstvi. Na straně klienta je základem dialog RocnikNabozenstviDialog zobrazující jednotlivé hodiny v jednom ročníku. Dialog nabízí přesun mezi jednotlivými ročníky (ročník je vždy zobrazen v horní části dialogu), informace o ročníku, přidání, editaci/zobrazení a smazání hodiny výuky a dále tisk seznamu vyučovacích hodin v aktuálním ročníku. Všechny data o ročníku jsou uložena v objektu typu RocnikNabozenstvi, ve kterém jsou uloženy i informace o jednotlivých hodinách daného ročníku. Informace o ročníku Informace o ročníku jsou zobrazeny v dialogu InfoRocnikNabozenstviDialog (obr. B.5), který je zobrazen po stisku tlačítka Informace o ročníku. Dialog slouží pro zadání platnosti (od - do) a odpovědného duchovního, který je vybírán pomocí výběrového dialogu ChooseOsobaDialog s typem DUCHOVNI. Údaje získává a ukládá do objektu typu RocnikNabozenstvi, jehož odkaz je předán při vytváření dialogu. Po stisku tlačítka Ulož, jsou data uložena do databáze metodou updaterocniknabozenstvi(rocniknab), kde rocniknab je odkaz na RocnikNabozenstvi. Seznam hodin výuky je vytvořen z dat nacházejících se v objektu RocnikNabozenstvi, ze kterého získáme hodiny metodou getvectorsejmenyhodin() vracející vektor s jednotlivými názvy záznamů. Hodina výuky Při vytváření nebo editaci hodiny výuky je zobrazen dialog HodinaNabozenstviDialog (obr. B.6), které předáme jako parametr odkaz na objekt typu HodinaNabozenstvi. Objekt získáme při editaci metodou gethodinanabozenstvi(int index), kde index je číslo záznamu v seznamu. Při vytváření nové hodiny získáme odkaz na nový objekt metodou getnewhodinanabozenstvi(). Zobrazený dialog obsahuje dvě záložky: Informace o hodině náboženství a Navštěvující farníci. Záložky vytváří panel HodinaNabozenstviPanel, kde první záložka je tvořena panelem InfoHodinaNabPanel. Ten obsahuje informace o začátku výuky (čas), vyučujícím, místu konání, dnu v týdnu, kdy se výuka koná, jak často (týdně, 1x 14 dní, měsíčně), pro koho je výuka určena a poznámky. Pro uložení je nutné zadat alespoň začátek výuky a pro koho je výuka určena. Výběr vyučujícího je opět obsloužen dialogem ChooseOsobaDialog a výběr místa dialogem ChooseUmisteniDialog. Obě tyto hodnoty lze změnit pravým kliknutím myši na daném tlačítku a zvolením volby pro změnu. Druhá záložka je tvořena panelem NavstevujiciFarniciPanel, který zobrazuje seznam farníků, kteří navštěvují danou hodinu výuky. Farníky můžeme přidávat, mazat a zobrazovat o nich podrobnější informace. Seznam je získán ze serveru metodou gettablemodelnavstevujicichfarniku(int hodinanab), kde hodinanab je ID zobrazované hodiny náboženství. Při zobrazování informací o farníkovi se nachází ve čtvrté záložce Náboženství seznam navštěvovaných hodin výuky náboženství a seznam vyučovaných hodin daným farníkem. Seznamy jsou zobrazeny pomocí panelu NavstiveneHodinyNabozenstviPanel (data získáme metodou gethodinynabozenstviosoby(int uco)) a panelu VyucovaneHodiny- NabozenstviPanel (data získáme metodou getvyucovanehodinynabozenstviosoby( 25

30 5.5. BOHOSLUŽBY int uco), kde parametr uco je UČO osoby). Panel se seznamem vyučovaných hodin náboženství se nachází také u zobrazení informací o duchovním v záložce Ostatní záznamy. Tisk Po stisku tlačítka Tisk je přímo tisknuta stránka se seznamem vyučovaných hodin v daném ročníku. Pro tisk s náhledem musíme kliknout pravým tlačítkem myši na tlačítko pro tisk a zvolit volbu Tist s náhledem. Pak je zobrazen dialog s náhledem PrintPreviewer popsaným výše v podkapitole 5.1, kterému je předán odkaz na instanci typu PrintRocnikNabozenstvi implementující rozhraní Printable. 5.5 Bohoslužby Tento modul musí umožňovat zadávání pořadu bohoslužeb pro všechny spravované farnosti dohromady. Hlavním účelem modulu je vytvoření pořadu bohoslužeb, kde je zadán den, liturgická oslava a seznam bohoslužeb (vždy farnost, čas konání a úmysl). Velice nepříjemný fakt je, že pro pořad bohoslužeb nelze použít žádnou z dostupných komponent, proto musela být pro vykreslení tabulky vytvořena komponenta nová. Typický vzhled pořadu bohoslužeb si můžeme prohlédnout na obrázku 5.6. Obrázek 5.6: Pořad bohoslužeb 26

31 5.5. BOHOSLUŽBY Základ modulu na straně serveru tvoří třída BohosluzbyImpl implementující rozhraní Bohosluzby. Na straně klienta je to dialog BohosluzbyDialog obsahující všechna potřebná tlačítka a tabulku s pořadem bohoslužeb zobrazenou pomocí třídy BohosluzbaKalendarPanel. Před zobrazením pořadu bohoslužeb je uživatel tázán, od kdy do kdy chce zobrazit pořad bohoslužeb. Hodnoty si zvolí v dialogu OdDoDialog (obr. B.7), ze kterého po uzavření získáme zadané hodnoty. Po té je vytvořen objekt typu PoradBohosluzeb, kam nastavíme získané datumy. Tento objekt naplníme daty metodou setporadbohosluzeb(poradbohosluzeb porad), kde parametrem porad je odkaz na objekt pro uložení dat. Po naplnění již můžeme zobrazit tabulku s pořadem bohoslužeb. Sám objekt typu PoradBohosluzeb obsahuje pouze seznam objektů typu DenPoraduBohosluzeb a metody pro manipulaci s tímto seznamem. Každý den pořadu bohoslužeb pak obsahuje liturgickou oslavu a seznam bohoslužeb. Tyto údaje jsou uloženy v objektech typu Bohosluzba a Svatek. Tabulka a dialog jsou silně propojeny, protože tlačítka na dialogu musí odpovídat sloupci, který je označen v tabulce, o čemž musí tabulka dialog informovat. Každý sloupec používá jiné akce pro manipulaci s daty. Pořad bohoslužeb Tabulka s pořadem bohoslužeb obsahuje pět sloupců, ve kterých se nachází informace o datu, liturgické oslavě, farnosti, čase konání bohoslužby a úmyslu bohoslužby. Z toho den může obsahovat žádný nebo více řádků s bohoslužbami. Vykreslování takové tabulky je implementováno pomocí dvou polí columns[] a days[][], které udávají y-ové a x-ové souřadnice jednotlivých políček. První pole obsahuje y-ové souřadnice jednotlivých sloupců. Druhé pole je dvourozměrné, kde první dimenze udává den bohoslužeb a druhá bohoslužbu. Číslo days[x][0] udává souřadnici horní linky, kde začíná den. Souřadnici označující linku na konci dne získáme days[x][days[x].length - 1]. Všechny ostatní souřadnice mezi těmito dvěma označují jednotlivé řádky, kde končí políčka s bohoslužbami (tyto řádky jsou vykreslovány pouze ve třetím až pátém sloupci). Pole columns je naplněno staticky, ale pole days je plněno dynamicky metodou refresh- PodlePoraduBohosluzeb(), která pole upraví podle aktuálních dat v objektu typu Porad- Bohosluzeb. Této metodě můžeme předat i číselný parametr udávající šířku pole s úmyslem na bohoslužbu. Při nastavování pole se používá třída DrawTextArea, která obsahuje metodu počítající výšku pole pro textem (který se nemusí vejít na jeden řádek) podle zadané šířky políčka. Tato třída umí text vykreslit na více řádků. Je použita při vykreslování tabulky v metodě print(). Tabulka má i svůj nadpis tvořený třídou NadpisPanel, která pro vykreslování používá pole columns a pole nadpis s názvy popisků jednotlivých sloupců. Výběr políčka je vždy uložen v poli selected[][], které obsahuje souřadnice levého horního a pravého dolního bodu výběru. Pole je nastaveno metodou setcolumnday(point bod), kde parametr bod označuje bod stisku tlačítka myši. Označený den můžeme získat metodou getselectedday(), označený řádek metodou getselectedrow() a označený sloupec metodou getselectedcolumn(). Po označení nějakého políčka jsou voláním metody setbuttons(int column) ve třídě BohosluzbyDialog přenastavena tlačítka podle parametru column. Akce nad dnem Pokud je označen sloupec se dnem, máme k dispozici následující akce: Přidej bohoslužbu (tlačítko v dolní části dialogu), Ohlášky, Kopírování, Vkládání a Mazání všech bohoslužeb (v menu zobrazeném po stisku pravého tlačítka myši na dni). 27

32 5.5. BOHOSLUŽBY Při vytváření nové bohoslužby je vytvořen nový objekt typu Bohosluzba s nastaveným dnem konání bohoslužby podle vybraného dne. Následuje zobrazení dialogu popsaného níže. Při použití volby Ohlášky je zobrazen dialog OhlaskyDialog (obr. B.8), kterému musíme předat odkaz na aktuální den pořadu bohoslužeb získaný voláním poradbohosluzeb.get- DenPoraduBohosluzeb(getSelectedDay()), z něhož dialog získá již napsaný text. Při uzavření dialogu je text uložen do databáze metodou updateohlasky() z rozhraní Bohosluzby. Poslední možností je manipulace se všemi bohoslužbami najednou. Při kopírování se do proměnné kopirovanyden přidají kopie všech bohoslužeb z vybraného dne. Při vkládání se ze stejné proměnné vloží všechny bohoslužby do vybraného dne pořadu bohoslužeb. Vložit jednou zkopírovaný den do jiného můžeme pouze jednou, při vkládání se totiž nevytváří kopie. Při mazání se odstraní všechny bohoslužby z vybraného dne. Liturgická oslava (svátek) Ve druhém sloupci tabulky se nachází liturgická oslava, neboli svátek. Svátky mohou být pravidelné nebo nepravidelné (viz vytváření svátku). Pokud pro daný den existuje pravidelný svátek, je uveden ve sloupci Liturgická oslava. Cokoliv v tomto sloupci můžeme změnit, smazat nebo editovat. Tyto akce jsou dostupné z menu zobrazeného po stisku pravého tlačítka myši na sloupci s liturgickou oslavou. Ke každému dni může existovat v tabulce svatek dne záznam s odkazem na liturgickou oslavu 10 (svátek). Pokud daný den záznam nemá, může se použít pravidelný svátek pro daný den, pokud existuje, jinak nebude liturgická oslava vyplněna. Změnu liturgické oslavy zprostředkovává výběrový dialog ChooseSvatekDneDialog. Novou liturgickou oslavu vytvoříme pomocí dialogu SvatekDialog (obr. B.9, kde je nutné zadat název svátku (liturgické oslavy). Pokud se jedná o pravidelný svátek, je nutné zadat i datum (bere se ohled pouze na měsíc a den). Informace o svátku jsou zobrazeny opět v dialogu SvatekDialog. Bohoslužba Poslední tři sloupce podávají informaci o bohoslužbě, proto jsou označeny společně jako jedna buňka. Zde můžeme provádět následující akce: získat informace o bohoslužbě, smazat bohoslužbu, kopírovat ji a vložit zkopírovanou bohoslužbu jinam. Dále zde je možnost připojení udělení svátosti nebo vykonání pohřbu, ale to již patří do dalších modulů. Při kopírování se objekt typu Bohosluzba zkopíruje do proměnné kopirovanabohosluzba a při vkládání se vloží do vybraného dne. Opět lze zkopírovanou bohoslužbu vložit pouze jednou. Obrázek 5.7: Informace o bohoslužbě 10. ve stejné tabulce je také uložen text ohlášek pro daný den 28

33 5.6. MATRIKY Všechny informace o bohoslužbě jsou zobrazeny v dialogu BohosluzbaDialog (obr. 5.7). Místo konání vybereme pomocí výběrového dialogu ChooseUmisteniDialog, konajícího pomocí dialogu ChooseOsobaDialog. Konající může být pouze duchovní. Pokud se jedná o nesvátostnou bohoslužbu, může jím být i farník. Proto musí být typ bohoslužby vybrán dříve než konající. Typ vybereme pomocí dialogu ChooseTypBohosluzbyDialog nebo můžeme vytvořit nový pomocí dialogu TypBohosluzbyDialog, kde je nutné zadat název a zda se jedná o bohoslužbu svátostnou nebo nesvátostnou. Bohoslužba dále obsahuje název, úmysl a poznámky. Tisk pořadu bohoslužeb Tist zprostředkovává třída BohosluzbaTablePanel implementující rozhraní Printable. Vzhled tisknuté stránky je jiný než vzhled zobrazené tabulky v dialogu, proto bylo nutné implementovat vykreslovací metodu znovu. V horní části stránky je vykresleno číslo týdne s nápisem Pořad bohoslužeb. Dále je vykreslena tabulka s jednotlivými dny a bohoslužbami. Nadpisy sloupců a jednotlivé dny jsou vykresleny tučným písmem, ostatní obyčejným. Ukázku vytištěného pořadu bohoslužeb si můžeme prohlédnout na obrázku C Matriky V matrikách jsou evidovány udělené svátosti křtu a manželství a dále vykonání pohřbu. Každá farnost musí mít své matriky všech těchto typů, tj. matrika křestní, sňatků a pohřbů. Seznam evidovaných matrik je vypisován v seznamu MatrikyTableIFrame. Data do seznamu jsou dodána pomocí třídy MatrikyTableModel implementující rozhraní FISTableModel. Odkaz na tuto třídu získáme metodou getmatrikyintable() v rozhraní Svatosti 11. Pro vypsání tabulky se seznamem matrik není použita obvyklá třída DefaultFISTableModel, protože se v seznamu nachází sloupec popisující typ matriky a v databázi je typ uložen pomocí čísla. Proto je nutná transformace čísla na textové vyjádření typu, kterou provádí třída MatrikyTableModel. V seznamu můžeme stiskem tlačítka Záznamy v matrice zobrazit seznam záznamů ve vybrané matrice. Seznam získáme metodou getkrtyintablefrommatrika(int id), get- SnatkyInTableFromMatrika(int id) nebo metodou getpohrbyintablefrommatrika(int id) podle typu matriky, kde parametr id je ID matriky, jejíž záznamy chceme zobrazit. Ve všech seznamech máme možnost zobrazení podrobnějších informací a smazání záznamu. V seznamu matrik máme možnost i vytvoření nové matriky. Údaje o matrice zobrazuje dialog MatrikaDialog (obr. B.10), kde je nutné při vytváření zadat číslo svazku, farnost a typ matriky. Data jsou do databáze ukládána metodou updatematrika(matrika matrika), kde parametr matrika je odkaz na objekt s daty typu Matrika. Všechny ostatní záznamy o udělení svátostí a pohřbu vytváříme pomocí menu u bohoslužby v pořadu bohoslužeb. Každý záznam se zadává přes dialog (podle svého typu), který vždy obsahuje dvě záložky. První je záložka Informace o bohoslužbě tvořená třídou BohosluzbaPanelProSvatost, kde nalezneme informace o datu udělení svátosti, kdo svátost udělil a kde byla udělena. Seznam farníků, kteří přijali svátost (pohřeb), je zobrazen ve druhé záložce tvořené panelem podle přijaté svátosti (pohřbu). Každý seznam umožňuje přidávání, mazání a úpravu záznamů. 11. modul Matriky používá stejnou třídu na straně serveru jako modul Svátosti 29

34 5.6. MATRIKY Obrázek 5.8: Informace o bohoslužbě při udělení svátosti Křestní matrika Po výběru možnosti Křest je zobrazen výše zmíněný dialog a jako druhá záložka slouží panel ListPrijimajicichKrestPanel. Pro přidání (zobrazení) záznamu o udělení křtu slouží dialog KrestDialog (obr. B.11). Zde je nutné vybrat svazek matriky, kde se daný záznam nachází, dále stranu, pořadové číslo a rok. Pro zobrazení těchto údajů slouží panel PoziceVMatricePanel. U křtu musí být také uveden křtěnec a jeho kmotr, které vybereme pomocí dialogu ChooseOsobaDialog. Data jsou uložena v objektu typu Krest. Seznam záznamů o udělení svátosti křtu je zobrazen třídou KrtyTableIFrame. Data do seznamu získáme metodou getkrtyintable() nebo metodou getkrtyintablefrommatrika(int matrika) pokud zobrazujeme záznamy pouze z jedné matriky. Jako parametr matrika je zadáno ID matriky, jejíž záznamy chceme zobrazit Matrika sňatků U záznamů v matrice sňatků musíme zadat oba snoubence a jejich svědky. Údaje týkající se pozice v matrice jsou shodné se křtem. Data se zadávají do dialogu SnatekDialog (obr. B.12) a jsou uložena v objektu typu Snatek. Při zobrazení informací o farníkovi se v druhé záložce Přijaté svátosti nachází panel SnatkyOsobyPanel se seznamem přijatých svátostí manželství. Seznam je získán metodou getsnatkyintableofuco(int uco), kde parametr uco je UČO farníka. V seznamu můžeme zobrazovat podrobnější informace o označeném sňatku pomocí tlačítka Podrobnější informace. Seznam záznamů o udělení svátosti manželství je zobrazen třídou SnatkyIFrame. Data získáme podobně jako u seznamu záznamů v křestní matrice s tím rozdílem, že voláme metody getsnatkyintable() nebo getsnatkyintablefrommatrika(int matrika) (parametr matrika má stejný význam jako u seznamu záznamů v křestní matrice) Matrika pohřbů Záznam v matrice pohřbů je opět velice podobný předchozím záznamům. Údaje jsou zadávány pomocí dialogu PohrebDialog (obr. B.13), kde je nutné vyplnit informace o matrice a zesnulého. Data jsou uložena v objektu typu Pohreb. Pro zobrazení údajů o pozici v matrice je použit opět panel PoziceVMatricePanel. Seznam záznamů o vykonání pohřbu je zobrazen třídou PohrbyTableIFrame. Data získáme podobně jako u předchozích matrik, ale voláme metody getpohrbyintable() nebo getpohrbyintablefrommatrika(int matrika). 30

35 5.7. OSTATNÍ SVÁTOSTI 5.7 Ostatní svátosti Mezi ostatní svátosti patří svátost eucharistie (kde evidujeme pouze první svaté přijímání), biřmování a pomazání nemocných. Svátost smíření nelze z důvodu porušení zpovědního tajemství zaznamenávat a poslední svátost kněžství není nikdy udělena v obyčejné farnosti (svátost uděluje pouze biskup). Pro komunikaci s databází používá modul třídu SvatostiImpl implementující rozhraní Svatosti (podobně jako modul Matriky). Vytváření záznamů o udělení svátosti probíhá stejným způsobem jako u modulu Matriky. Dialog pro zadání záznamu o udělení svátosti zobrazíme přes volby v menu u bohoslužby. Všechny dialogy obsahují dvě záložky podobně jako v předchozím modulu. První záložka obsahuje informace o bohoslužbě (obr. 5.8), při níž byla svátost udělena, a druhá zobrazuje seznam udělených svátostí První svaté přijímání Seznam přijatých prvních svatých přijímání je zobrazen třídou PSPTableIFrame, kam získáme data metodou getpspintable(). O jednotlivých záznamech můžeme zobrazit podrobnější údaje pomocí třídy PSPDialog (obr. B.14), kam data dodáme v objektu typu PrvniSvatePrijimani vráceného metodou getpsp(int id), kde parametr id je ID zobrazovaného záznamu. Nový záznam vytvoříme pomocí volby 1. svaté přijímání v menu u bohoslužby, kdy je zobrazen dialog BohosluzbaSpspDialog, který se (jako všechny předchozí pro vytváření záznamu) skládá ze dvou záložek. První obsahuje informace o bohoslužbě, druhá umožňuje vytvoření záznamu o udělení svátosti. U prvního svatého přijímání zadáváme pouze farníky, kteří přijali svátost. Po výběru farníka je vytvořen nový objekt typu PrvniSvatePrijimani, kam se nastaví farník i bohoslužba, při níž byla svátost udělena. Prostřednictvím tohoto objektu uložíme záznam do databáze. Použijeme k tomu metodou updatepsp(psp), kde jako parametr psp zadáme objekt s daty. Seznam přijatých prvních svatých přijímání při jedné bohoslužbě získáme metodou getpspintable(int bohosluzba), kde parametr bohosluzba je ID bohoslužby Svátost biřmování Záznam o udělení svátosti biřmování přidáme do systému obdobným způsobem jako předchozí svátost, pouze použijeme volbu Biřmování. Po zvolení této volby je zobrazen dialog BohosluzbaS- BirmovanimDialog, kde je druhý panel pro vytvoření záznamu tvořen třídou ListPrijima- jicichbirmovanipanel. Data do seznamu získáme voláním metody getbirmovaniinta- ble(int bohosluzba), kde parametr bohosluzba je opět ID bohoslužby. Při vytváření nového záznamu nestačí pouze jméno farníka, ale je nutné zadat i jeho biřmovacího kmotra. To umožní dialog BirmovaniDialog (obr. B.15). Zde pomocí dialogu ChooseOsobaDialog zadáme biřmovance i jeho kmotra. Data se ukládají do objektu typu Birmovani, pomocí kterého je záznam uložen do databáze. K uložení slouží metoda updatebirmovani(birmovani), kde jako parametr birmovani zadáme objekt s daty. Seznam udělených svátostí biřmování zobrazuje třída BirmovaniTableIFrame, která získá data z databáze metodou getbirmovaniintable(). Tento seznam umožňuje pouze zobrazení nebo smazání záznamu. Informace o biřmování zobrazíme pomocí dialogu BirmovaniDialog, kterému předáme objekt typu Birmovani získaného metodou getbirmovani(int id), kde parametr id je ID záznamu o biřmování. Záznam je smazán metodou deletebirmovani(int id), kde parametr id je opět ID záznamu. 31

36 5.8. KNIHA POŠTY Pomazání nemocných Svátost pomazání nemocných nemusí být vždy udělena pouze při bohoslužbě, ale také např. v nemocnici nebo doma, když se jedná o nemocného člověka, který už nemůže dojít na bohoslužbu. Proto existují v databázi tabulky pro obě varianty udělení svátosti. Seznam záznamů je také rozdělen (podle těchto možností), ale zobrazen je pomocí jedné třídy PNTableIFrame, která definuje další tlačítko umožňující přepínání mezi jednotlivými seznamy. Data jsou do seznamů získávána metodami getpnintable() nebo getpnintable- BezBohosluzby(). Seznam udělených svátostí pomazání nemocných při bohoslužbě nabízí pouze zobrazení a smazání záznamu. Zde jsou použity metody deletepn(int id) a getpn(int id), kde parametr id je u obou metod ID záznamu. Metoda getpn() vrací objekt typu PomazaniNemocnych obsahující data o záznamu. Zobrazení informací o záznamu poskytuje dialog PNDialog (obr. B.16). Záznam o udělení pomazání nemocných při bohoslužbě se vytvoří přes menu u bohoslužby v pořadu bohoslužeb volbou Pomazání nemocných. Zvolením této možnosti je zobrazen dialog BohosluzbaSpnDialog, který obsahuje dvě záložky. První obsahuje opět informace o bohoslužbě, druhá seznam farníků, kteří přijali při dané bohoslužbě pomazání nemocných. Seznam získáme metodou getpnintable(int bohosluzba), kde parametr bohosluzba je ID bohoslužby. Do seznamu můžeme přidávat další záznamy o udělení svátosti, mazat záznamy nebo zobrazovat podrobnější informace o farníkovi, který svátost přijal. Při vytváření musíme pouze vybrat farníka, který přijal pomazání nemocných při dané bohoslužbě. Seznam udělených svátostí mimo bohoslužbu umožňuje navíc i vytvoření nového záznamu pomocí dialogu PNDialog, kde povolíme úpravy pomocí posledního parametru v konstruktoru. Zde je nutné zadat přijímajícího svátost, kdo ji udělil a kdy byla udělena. Při ukládání jsou zadané údaje uloženy do objektu typu PomazaniNemocnych, pomocí kterého jsou data uložena do databáze metodou insertnewpnbezbohosluzby(pomazaninemocnych pn). Pomazání nemocných může člověk přijmout vícekrát za život, proto se u zobrazení informací o farníkovi nachází i seznam přijatých svátostí pomazání nemocných. Seznam je zobrazen pomocí panelu PNOsobyPanel, který se nachází v záložce Přijaté svátosti. Ve skutečnosti se jedná opět o dva seznamy, mezi kterými se můžeme přesunovat pomocí menu zobrazeného po kliknutí pravým tlačítkem myši na seznam. Přijatá pomazání nemocných při bohoslužbě jsou získána metodou getpnintableofuco(int uco), pomazání nemocných mimo bohoslužbu metodou getpnbezbohosluzebintableofuco(int uco), kde uco je UČO daného farníka. Podrobnější informace o udělení svátosti jsou zobrazeny opět pomocí dialogu PNDialog. 5.8 Kniha pošty Kniha pošty slouží k evidenci příchozí a odchozí pošty včetně dokumentů, které farní úřad obdržel nebo vydal. Pro několik farností je použita jedna kniha pošty, proto musíme u každého dokumentu znát, ke které farnosti patří. Každý dokument musí být zařazen do kategorie podle skartačního řádu Olomoucké arcidiecéze, ze kterého zjistíme skartační znak a lhůtu pro skartaci. Seznam dokumentů Seznam je vytvořen třídou KnihaPostyTableIFrame, kam získáme data metodou getzaznamyzknihyposty() v rozhraní KnihaPosty (implementováno třídou KnihaPostyImpl na straně serveru). Seznam obsahuje údaje o datu doručení, datu vyřízení, farnosti, kam dokument patří, dále odkud dokument přišel a co je jeho obsahem. Seznam umožňuje přidávání, editaci/zobrazení, mazání záznamů a vyhledávání. V seznamu je vždy zobrazeno posledních 20 záznamů z knihy pošty (seřazeno sestupně 32

37 5.9. PŘÍJMY A VÝDAJE podle ID záznamu). Další (předchozí) záznamy zobrazíme stiskem tlačítka Následující (Předchozí). Metoda pro získávání seznamu záznamů getzaznamyzknihyposty() má čtyři parametry, odzaznamu udává číslo záznamu, od kterého chceme data, dále je zde parametr pocetzaznamu, což je maximální počet záznamů, které chceme zobrazovat. Další parametry umožňují vrátit záznamy pouze určité farnosti, popřípadě i záznamy mezi dvěma zadanými daty. Tyto poslední parametry jsou využity při vyhledávaní. V seznamu můžeme také zobrazit skartované nebo skartovatelné dokumenty (včetně skartovaných). Metoda getskartacizknihyposty() vracející tyto seznamy má stejné parametry jako metoda předchozí. Liší se pouze v posledním parametru typu boolean, který říká, zda chceme skartované dokumenty (true) nebo skartovatelné včetně skartovaných (false). Vyhledávání bere ohled na typ zobrazeného seznamu. Výběr kritérií pro vyhledávání provedeme pomocí dialogu SearchDialog (obr. 5.9), kterému předáme panel KnihaPostySearch- Panel. Zde můžeme zadat farnost, datum, od kterého chceme záznamy, a nebo datum, do kterého chceme záznamy. Jako rozhodné datum je použito datum doručení, pokud není uvedeno, použije se datum vyřízení. Pokud není zadáno ani to, není záznam do výsledku zahrnut. Obrázek 5.9: Vyhledávání v knize pošty Dokument v knize pošty Údaje o dokumentu jsou uloženy v objektu typu DokumentZKnihyPosty, který lze z databáze získat metodou getdokument(int id), kde id je ID zobrazovaného dokumentu. Data jsou zobrazena v dialogu DokumentZKnihyPostyDialog složeného ze dvou záložek: O dokumentu (panel ODokumentuPanel) a Skartační řád (panel SkartacniRadPanel). V záložce O dokumentu můžeme zadat datum doručení, odkud byl dokument doručen, obsah, vyřízení, datum vyřízení a datum vypravení dokumentu. Pro rozlišení, které farnosti dokument patří, musíme vybrat i farnost. Datum nejdřívějšího skartování je doplněno na základě kategorie vybrané ve skartačním řádu. Výběr je možné provést pomocí druhé záložky Skartační řád vytvořené panelem SkartacniRadPanel. Popis kategorie je vždy vypsán v textovém poli v dolní části dialogu. Text jednotlivých kategorií a podkategorií je zobrazen v ComboBoxech v horní části dialogu. Po uložení a opětovném otevření je v sekci skartace již vyplněno datum možné skartace. Zatržením políčka Skartováno zaznamenáme do systému, že byl dokument fyzicky skartován. To lze provést až po vypršení skartační lhůty a nesmí se jednat o dokument s trvalou dokumentační hodnotou. 5.9 Příjmy a výdaje Modul slouží k evidenci příjmů a výdajů farnosti. Každá farnost musí vést tuto evidenci odděleně. Proto je před zobrazením seznamu příjmů a výdajů uživatel tázán na farnost, s jejíž příjmy a výdaji chce pracovat (pomocí výběrového dialogu ChooseFarnostDialog). 33

38 5.9. PŘÍJMY A VÝDAJE (a) (b) Obrázek 5.10: Dokument v knize pošty (a) záložka O dokumentu (b) záložka Skartační řád Modul na straně serveru reprezentuje třída PrijmyVydajeImpl implementující rozhraní PrijmyVydaje, které popisuje metody dostupné na serveru. Záznamy jsou rozděleny po jednotlivých měsících, ve kterých byla částka v daném záznamu přijata nebo vydána. Mezi měsíci se pohybujeme tlačítky Předchozí a Následující. V seznamu položek každého měsíce je na prvním místě celkový zůstatek a na konci zůstatek z minulého měsíce. Tyto záznamy přidává do tabulky třída PrijmyVydajeTableModel, která předává data pro vykreslování tabulky, a nelze je upravovat nebo zobrazovat. Aby se nemusel celkový zůstatek při každém zobrazování seznamu přepočítávat ze všech záznamů v databázi, je u každého měsíce vždy položka se zůstatkem z minulého měsíce (tento záznam má vždy nejnižší ID v daném měsíci).tím lze pro zjištění celkového zůstatku pouze přepočítat částky v posledním měsíci. Naopak nastává problém s přidáváním, editací nebo mazáním záznamů z jiného než aktuálního měsíce, protože musíme změnit zůstatky z minulého měsíce ve všech následujících měsících. To je ošetřeno na serveru při volání metod pro ukládání, či mazání záznamu. Záznamy lze měnit maximálně v měsíci o pět měsíců starším než aktuální. Záznamy ve straších měsících lze pouze zobrazovat. Pokud nechceme měnit nebo přidávat záznamy do mladších měsíců, můžeme měsíc uzavřít tlačítkem Závěrka. Pokud po uzavření potřebujeme upravit nějakou položku nebo ji změnit, lze v posledních pěti měsících zrušit závěrku tlačítkem Zruš závěrku. Kromě závěrky nabízí seznam přidávání, editaci/zobrazení nebo mazání záznamů. Také je zde možnost vyhledávání. Záznam o příjmu nebo výdaji Údaje o jednom záznamu příjmu nebo výdaje jsou uloženy v objektu typu PrijmyVydaje- Zaznam a zobrazeny v dialogu PrijmyVydajeDialog. Mezi zadávané údaje patří datum, částka, typ, popis a poznámky (obr. 5.11). Typy jsou pouze dva: Sbírka a Jiný. Při zvolení typu Sbírka jsme při ukládání tázáni, zda chceme vytisknout potvrzení pro finanční úřad. Pokud zvolíme Ano, zobrazí se dialog PrintPotvrzeniO- SbirceDialog pro zadání údajů o místě vybrání sbírky a kde bylo potvrzení vydáno. Nakonec je vytisknuto potvrzení o sbírce pomocí stejné třídy (obr. C.2 v příloze C). Pokud upravujeme záznam již v uzavřeném měsíci a chceme změnu uložit, jsme tázáni, zda chceme zrušit závěrku. To platí pouze pokud se záznam nenachází v měsíci starším než pět měsíců od aktuálního. Uzávěrka je zrušena voláním metody uzavreno(fisdate datum, int farnost, boolean uzavreno) na straně serveru, kde datum je datum se zadaným měsícem a rokem, ve kterém chceme nastavit závěrku. Parametr farnost je ID farnosti a 34

39 5.9. PŘÍJMY A VÝDAJE Obrázek 5.11: Dialog se záznamem příjmu nebo výdaje parametr uzavreno říká, zda chceme daný měsíc zavřít (true) nebo zrušit závěrku (false). Vyhledávání Dialog pro vyhledávání je zobrazen třídou SearchDialog (obr. 5.12) s panelem PrijmyVydajeSearchPanel. Nabízí výběr záznamů podle farnosti, měsíce a roku a dále podle částky větší nebo menší než částka zadaná. Poslední možností je zobrazení tabulky konečných stavů jednotlivých měsíců v daném roce nebo konečných stavů za jednotlivé roky. Při výběru z poslední nabídky nelze v seznamu záznamů dělat žádné akce kromě nového vyhledávání a uzavření seznamu. Obrázek 5.12: Dialog pro zadání kritérií pro vyhledávání v příjmech a výdajích 35

40 Kapitola 6 Instalace systému Před samotnou instalací systému musíme mít nainstalován databázový server MySQL. Dále je nutno mít vytvořenu databázi pro tento systém, kterou můžeme vytvořit příkazem CREATE DATABASE fis; a uživatele, který má právo manipulovat s touto databází. Pokud již databázi máme, vytvoříme v ní všechny potřebné tabulky a indexy definované v příloze A. V tabulce user musíme vytvořit záznam pro superuživatele INSERT INTO user (user, password) VALUES ( root, PASSWORD( root )); popřípadě vytvořit záznamy i pro jiné uživatele. Dále vytvoříme domovský adresář pro systém a vytvoříme v něm adresáře bin, lib a src (popř. i adresář /.fis). Do adresáře bin nakopírujeme spouštěcí skripty, do adresáře lib nakopírujeme jar archívy pro JavaHelp (jh.jar), Connector/J (mysql-connectorjava stable-bin.jar nebo jinou verzi) a pro dom4j (dom4j.jar). V adresáři /.fis můžeme vytvořit XML dokument s nastavením serveru (soubor serverfis.xml) nebo necháme systém, aby tento soubor vytvořil sám při prvním spuštění. Do adresáře src rozbalíme archív fis-server.tar.gz nebo fis-client.tar.gz (popř. archív fis.tar.gz) podle toho, kterou část systému budeme chtít používat. K instalaci lze použít také skript install v adresáři fis-install na CD. Příklad 6.0.1: XML dokument serverfis.xml s nastavením serveru <?xml version= 1.0 encoding= UTF-8?> <serverfis> <mysql> <dbname> název databáze </dbname> <host> jméno počítače, kde je databázový server spuštěn </host> <user> jméno uživatele, pod kterým se aplikace přihlašuje k databázi </user> <password> heslo k tomuto uživatelskému jménu </password> </mysql> </serverfis> 36

41 Kapitola 7 Nastavení a správa systému Nastavení a správu systému zajišt uje třída SetFISServer, která tvoří samostatný program spustitelný příkazem java fis.server.setfisserver. Po spuštění je nutno zadat heslo superuživatele a po té dojde ke spojení se serverem. Od něj získá odkaz na objekt typu SetProperties, ze kterého načte pomocí metody getproperties() aktuální nastavení serveru reprezentované objektem typu FISServerProperties. Objekt typu FISUserProperties umožňující manipulaci s uživateli získáme metodou getuserproperties(). Obě metody mají za parametr heslo superuživatele. Pokud by heslo nesouhlasilo, je vyhozena vyjímka LoginFailed- Exception. Po získání obou odkazů je zobrazeno okno pro nastavení serveru. V systému lze nastavit pouze přístup k databázi, měnit heslo superuživatele a vytvářet a mazat uživatele. Přístup k databázi je uložen v XML dokumentu a vše ostatní je uloženo v databázi. Struktura XML dokumentu s nastavením byla již popsána v kapitole 6 v příkladu (a) (b) (c) Obrázek 7.1: Záložky v dialogu pro nastavení serveru Jednotlivé položky můžeme nastavit pomocí tří záložek (obrázky 7.1) zobrazených v okně 37

42 7. NASTAVENÍ A SPRÁVA SYSTÉMU SetFISServer. Patří sem záložky: Databáze Tato první záložka umožňuje nastavení spojení s databází. Můžeme zde nastavit jméno databáze, kde se nacházejí tabulky s daty, dále stroj, na kterém je spuštěn databázový server MySQL, a přístupové jméno s heslem. Po uložení je nastavení uloženo prostřednictvím instance rozhraní FISServerProperties přímo do serveru, který ho ihned začne používat. Do XML dokumentu je nastavení uloženo až po ukončení serveru. Uživatel V záložce Uživatel máme možnost vytváření a mazání uživatelů. V sekci Nový uživatel zadáme pro vytvoření nového uživatele jméno a jeho heslo. Po stisku tlačítka Vytvořit je vytvořen nový uživatel v databázi pomocí metody createnewuser(string name, String password), kde parametry name a password jsou jméno a heslo. Metoda se nachází v rozhraní FISUserProperties. Pokud již toto uživatelské jméno existuje, je vyhozena vyjímka UserExistException. Ve druhé sekci můžeme naopak uživatele smazat. Nejdříve ho vybereme v ComboBoxu, kde jsou zobrazena data z objektu typu FISUserProperties. Tato třída také slouží ke smazání uživatele po stisku tlačítka Zruš za pomoci metody removeuser(string user), kde parametr user je jméno mazaného uživatele. Všechny údaje o uživatelích jsou uloženy v databázi v tabulce user. Superuživatel Poslední záložka umožňuje nastavení hesla superuživatele, kde je nutné nejdříve zadat staré heslo a dvakrát nové (pro kontrolu). Po stisku tlačítka Změň, je heslo změněno metodou setrootpassword(string oldpassword, String newpassword), kde parametry jsou staré a nové heslo. Metoda se opět nachází v rozhraní FISUserProperties. Pokud staré heslo nesouhlasí s dosavadním, je vyhozena vyjímka RootPasswordFailedException. 38

43 Kapitola 8 Závěr V rámci této práce se mi podařilo navrhnout a implementovat informační systém pro farní úřad, který umožňuje správu všech dat potřebných pro běh farnosti. Systém je určen pro farnosti spravované jedním duchovním správcem. Není tedy vhodný pro správu farností s různými správci. Tento nedostatek lze odstranit přidáním přístupových práv na jednotlivá data a oddělením pořadu bohoslužeb a knihy pošty pro každou skupinu farností zvlášt (dosavadní systém s tímto využitím nepočítá). Implementovaný kód tvoří základní strukturu systému s nejpotřebnějšími funkcemi. Pro poskytnutí dalších služeb je nutné doimplementovat další třídy. Jedná se převážně o tiskové výstupy, jako jsou výpisy z matrik, potvrzení o udělení svátosti a další. Mezi oblasti vhodné k vylepšení systému můžeme zařadit vybudování navigačního okna (nebo panelu), které by uživateli zpříjemnilo a usnadnilo práci se systémem. Informační systém farního úřadu je šířen pod GPL v2 (GNU GENERAL PUBLIC LICENSE Version 2) české znění licence GPL nalezneme na internetové adrese lhotka/ gnugpl-cz.html 39

44 Literatura [JDBC] [JDoc] JDBC API Documentation, Sun Microsystems, Inc., 2002, java.sun.com http: //java.sun.com/j2se/1.4.2/docs/guide/jdbc/ J2SE API Specification, Sun Microsystems, Inc., 2003, java.sun.com http: //java.sun.com/j2se/1.4.2/docs/api/. [JPP] Spell, B.: Java - programujeme profesionálně, Computer Press a.s., 2002, , knihy.cpress.cz [MySQL] MySQL, MySQL AB, 2004, , [Mza21] Maslakowski, M.: Naučte se MySQL za 21 dní, Computer Press a.s., 2001, , knihy.cpress.cz [RMI] Java Remote Method Invocation (Java RMI), Sun Microsystems, Inc., , java.sun.com [XML] [dom4j] Extensible Markup Language (XML), W3C, , http: // Dom4j, MetaStuff Ltd., , org/

45 Příloha A Vytvoření tabulek a indexů v databázi Tabulky CREATE TABLE user ( user VARCHAR(20), password VARCHAR(25) ); CREATE TABLE farnosti ( ID INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, ICO BIGINT, nazev VARCHAR(40), sidlo INTEGER, dekanat VARCHAR(40), duchovni_spravce INTEGER ); CREATE TABLE umisteni ( ID INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, nazev VARCHAR(50), ulice VARCHAR(35), obec VARCHAR(35), cast_obce VARCHAR(35), okres VARCHAR(35), kraj VARCHAR(35), farnost INTEGER, popis TEXT ); CREATE TABLE duchovni ( osoba INTEGER NOT NULL PRIMARY KEY, jahenske_sveceni DATE, knezske_sveceni DATE, biskupske_sveceni DATE ); CREATE TABLE farnosti_pusobeni ( duchovni INTEGER NOT NULL, farnost INTEGER NOT NULL, CONSTRAINT PRIMARY KEY fp_pk (duchovni, farnost) ); CREATE TABLE dekrety ( 41

46 A. VYTVOŘENÍ TABULEK A INDEXŮ V DATABÁZI ); ID INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, datum_vydani DATE, komu INTEGER, svereno TEXT CREATE TABLE osoby ( UCO INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, rc BIGINT, jmeno VARCHAR(25), prijmeni VARCHAR(30), rodne_prijmeni VARCHAR(30), stav ENUM( svobodny, zenaty, rozvedeny, vdovec ), pohlavi ENUM( muz, zena ), statni_prislusnost VARCHAR(20), vyznani VARCHAR(20), narozen DATE, misto_narozeni VARCHAR(30), okres_narozeni VARCHAR(30), ulice VARCHAR(30), obec VARCHAR(30), okres VARCHAR(30), kraj VARCHAR(30), otec INTEGER, matka INTEGER, poznamky TEXT ); CREATE TABLE farnici ( osoba INTEGER NOT NULL PRIMARY KEY, manzelka INTEGER, farnost INTEGER ); CREATE TABLE hodina_nabozenstvi ( ID INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, vyucujici INTEGER, kdy TIME, misto INTEGER, den_v_tydnu INTEGER, cetnost INTEGER, pro_koho VARCHAR(50), poznamky TEXT, rocnik INTEGER ); CREATE TABLE rocnik_nab ( rok_vyuky INTEGER NOT NULL PRIMARY KEY, platnost_od DATE, platnost_do DATE, odpovedny_duchovni INTEGER 42

47 A. VYTVOŘENÍ TABULEK A INDEXŮ V DATABÁZI ); CREATE TABLE navsteva_nab ( farnik INTEGER, hodina_nab INTEGER ); CREATE TABLE bohosluzby ( ID INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, nazev VARCHAR(50), cas_konani DATETIME, misto_konani INTEGER, konajici INTEGER, typ INTEGER, umysl TEXT, poznamky TEXT ); CREATE TABLE typ_bohosluzby ( ID INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, nazev VARCHAR(40), svatostna ENUM( A, N ), typ INTEGER ); CREATE TABLE nazvy_bohosluzeb ( nazev VARCHAR(50) UNIQUE ); CREATE TABLE svatky ( id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, den DATE, nazev VARCHAR(50), typ ENUM( P, N ) ); CREATE TABLE svatek_dne ( den DATE PRIMARY KEY, svatek INTEGER, ohlasky TEXT ); CREATE TABLE p_svate_prijimani ( id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, bohosluzba INTEGER, prijal INTEGER ); CREATE TABLE birmovani ( id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, bohosluzba INTEGER, 43

48 A. VYTVOŘENÍ TABULEK A INDEXŮ V DATABÁZI ); prijal INTEGER, kmotr INTEGER CREATE TABLE pomazani_nemocnych ( id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, bohosluzba INTEGER, prijal INTEGER ); --kdyz to nebylo pri msi, tak se musi zadat i datum a konajiciho CREATE TABLE pomazani_nemocnych_bez_bohosluzby ( id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, datum DATE, prijal INTEGER, kym INTEGER ); CREATE TABLE matriky ( id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, farnost INTEGER, svazek INTEGER, -- cislo typu se promitne az v programu na textove vyjadreni typ INTEGER ); CREATE TABLE krty ( id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, -- pozice v matrice matrika INTEGER, strana INTEGER, poradove_cislo INTEGER, rok INTEGER, -- ostatni polozky krtenec INTEGER, kmotr INTEGER, bohosluzba INTEGER ); CREATE TABLE snatky ( id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, -- pozice v matrice matrika INTEGER, strana INTEGER, poradove_cislo INTEGER, rok INTEGER, -- ostatni polozky snoubenec INTEGER, snoubenka INTEGER, svedek1 INTEGER, svedek2 INTEGER, 44

49 A. VYTVOŘENÍ TABULEK A INDEXŮ V DATABÁZI ); bohosluzba INTEGER CREATE TABLE pohrby ( zemrely INTEGER NOT NULL PRIMARY KEY, -- pozice v matrice matrika INTEGER, strana INTEGER, poradove_cislo INTEGER, rok INTEGER, -- ostatni polozky bohosluzba INTEGER ); CREATE TABLE mimoradne_akce ( id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, nazev VARCHAR(40), misto VARCHAR(40), datum_konani DATE, odpovedny INTEGER, popis TEXT, poznamky TEXT ); CREATE TABLE ostatni_zaznamy ( uco INTEGER NOT NULL PRIMARY KEY, datum_krtu DATE, misto_krtu VARCHAR(40), datum_birmovani DATE, misto_birmovani VARCHAR(40), datum_pohrbu DATE, misto_pohrbu VARCHAR(40), poznamky TEXT ); CREATE TABLE kniha_posty ( id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, doruceno DATE, odkud TEXT, obsah_spisu TEXT, vyrizeni VARCHAR(60), vyrizeno_dne DATE, vypraveno_dne DATE, farnost INTEGER, skartace_nejdrive DATE, skartovano ENUM( A, N ), -- skartacni skupina skupina INTEGER, podskupina INTEGER, deleni_podskupiny INTEGER ); 45

50 A. VYTVOŘENÍ TABULEK A INDEXŮ V DATABÁZI CREATE TABLE prijmy_vydaje ( id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, datum DATE, castka DOUBLE, farnost INTEGER, typ INTEGER, zustatek TINYINT, popis TEXT, poznamky TEXT ); CREATE TABLE uzaverka_pv ( datum DATE NOT NULL, uzavreno ENUM( A, N ), farnost INTEGER NOT NULL, CONSTRAINT PRIMARY KEY uzaverka_pk (datum, farnost) ); Indexy CREATE INDEX farnosti_sidlo ON farnosti (sidlo); CREATE INDEX farnosti_spravce ON farnosti (duchovni_spravce); CREATE INDEX umisteni_farnost ON umisteni (farnost); CREATE INDEX dekrety_komu ON dekrety (komu); CREATE INDEX osoby_otec ON osoby (otec); CREATE INDEX osoby_matka ON osoby (matka); CREATE INDEX farnici_manzelka ON farnici (manzelka); CREATE INDEX farnici_farnost ON farnici (farnost); CREATE INDEX hodina_nabozenstvi_vyucujici ON hodina_nabozenstvi (vyucujici); CREATE INDEX hodina_nabozenstvi_misto ON hodina_nabozenstvi (misto); CREATE INDEX rocnik_nab_odpovedny_duchovni ON rocnik_nab (odpovedny_duchovni); CREATE INDEX navsteva_nab_farnik ON navsteva_nab (farnik); CREATE INDEX navsteva_nab_hodina_nab ON navsteva_nab (hodina_nab); CREATE INDEX bohosluzby_misto_konani ON bohosluzby (misto_konani); CREATE INDEX bohosluzby_konajici ON bohosluzby (konajici); CREATE INDEX bohosluzby_typ ON bohosluzby (typ); CREATE INDEX nazvy_bohosluzeb_nazev ON nazvy_bohosluzeb (nazev(4)); CREATE INDEX svatek_dne_svatek ON svatek_dne (svatek); 46

51 A. VYTVOŘENÍ TABULEK A INDEXŮ V DATABÁZI CREATE INDEX p_svate_prijimani_bohosluzba ON p_svate_prijimani (bohosluzba); CREATE INDEX p_svate_prijimani_prijal ON p_svate_prijimani (prijal); CREATE INDEX birmovani_bohosluzba ON birmovani (bohosluzba); CREATE INDEX birmovani_prijal ON birmovani (prijal); CREATE INDEX birmovani_kmotr ON birmovani (kmotr); CREATE INDEX pomazani_nemocnych_prijal ON pomazani_nemocnych (prijal); CREATE INDEX pomazani_nemocnych_bohosluzba ON pomazani_nemocnych (bohosluzba); CREATE INDEX pomazani_nemocnych_bez_bohosluzby_prijal ON pomazani_nemocnych_bez_bohosluzby (prijal); CREATE INDEX pomazani_nemocnych_bez_bohosluzby_kym ON pomazani_nemocnych_bez_bohosluzby (kym); CREATE INDEX matriky_farnost ON matriky (farnost); CREATE INDEX matriky_svazek ON matriky (svazek); CREATE INDEX krty_matrika ON krty (matrika); CREATE INDEX krty_krtenec ON krty (krtenec); CREATE INDEX krty_kmotr ON krty (kmotr); CREATE INDEX krty_bohosluzba ON krty (bohosluzba); CREATE INDEX snatky_matrika ON snatky (matrika); CREATE INDEX snatky_bohosluzba ON snatky (bohosluzba); CREATE INDEX snatky_snoubenec ON snatky (snoubenec); CREATE INDEX snatky_snoubenka ON snatky (snoubenka); CREATE INDEX snatky_svedek1 ON snatky (svedek1); CREATE INDEX snatky_svedek2 ON snatky (svedek2); CREATE INDEX pohrby_matrika ON pohrby (matrika); CREATE INDEX pohrby_bohosluzba ON pohrby (bohosluzba); CREATE INDEX kniha_posty_farnost ON kniha_posty (farnost); CREATE INDEX kniha_posty_doruceno ON kniha_posty (doruceno); CREATE INDEX kniha_posty_vrizeno_dne ON kniha_posty (vyrizeno_dne); CREATE INDEX prijmy_vydaje_datum ON prijmy_vydaje (datum); CREATE INDEX prijmy_vydaje_farnost ON prijmy_vydaje (farnost); 47

52 Příloha B Ukázky dialogů Obrázek B.1: Dialog pro zadání uživatelského jména, hesla a stroje se spuštěným serverem Obrázek B.2: Dialog pro zadání dekretu Obrázek B.3: Dialog pro zadání mimořádné akce 48

53 B. UKÁZKY DIALOGŮ Obrázek B.4: Dialog s informacemi o farnosti Obrázek B.5: Informace o ročníku výuky náboženství (a) (b) Obrázek B.6: Hodina náboženství: záložky Informace o hodině náboženství(a) a Navštěvující farníci(b) 49

54 B. UKÁZKY DIALOGŮ Obrázek B.7: Dialog pro zadání datumů od - do Obrázek B.8: Dialog pro zadání ohlášek (a) (b) Obrázek B.9: Vytváření svátku pravidelného (a) a nepravidelného (b) Obrázek B.10: Vytvoření matriky (MatrikaDialog) 50

55 B. UKÁZKY DIALOGŮ Obrázek B.11: Křest Obrázek B.12: Sňatek Obrázek B.13: Pohřeb 51

56 B. UKÁZKY DIALOGŮ Obrázek B.14: První svaté přijímání Obrázek B.15: Biřmování (a) (b) Obrázek B.16: Pomazání nemocných při bohoslužbě (a) a mimo bohoslužbu (b) 52

1 Administrace systému 3. 1.3 Moduly... 3 1.4 Skupiny atributů... 4 1.5 Atributy... 4 1.6 Hodnoty atributů... 4

1 Administrace systému 3. 1.3 Moduly... 3 1.4 Skupiny atributů... 4 1.5 Atributy... 4 1.6 Hodnoty atributů... 4 CRM SYSTÉM KORMORÁN PŘÍRUČKA ADMINISTRÁTORA Obsah 1 Administrace systému 3 1.1 Uživatelské účty.................................. 3 1.2 Přístupová práva................................. 3 1.3 Moduly.......................................

Více

Nový způsob práce s průběžnou klasifikací lze nastavit pouze tehdy, je-li průběžná klasifikace v evidenčním pololetí a školním roce prázdná.

Nový způsob práce s průběžnou klasifikací lze nastavit pouze tehdy, je-li průběžná klasifikace v evidenčním pololetí a školním roce prázdná. Průběžná klasifikace Nová verze modulu Klasifikace žáků přináší novinky především v práci s průběžnou klasifikací. Pro zadání průběžné klasifikace ve třídě doposud existovaly 3 funkce Průběžná klasifikace,

Více

Semestrální práce 2 znakový strom

Semestrální práce 2 znakový strom Semestrální práce 2 znakový strom Ondřej Petržilka Datový model BlockFileRecord Bázová abstraktní třída pro záznam ukládaný do blokového souboru RhymeRecord Konkrétní třída záznamu ukládaného do blokového

Více

Obsah. 1.1 Práce se záznamy... 3 1.2 Stránka Dnes... 4. 2.1 Kontakt se zákazníkem... 5

Obsah. 1.1 Práce se záznamy... 3 1.2 Stránka Dnes... 4. 2.1 Kontakt se zákazníkem... 5 CRM SYSTÉM KORMORÁN UŽIVATELSKÁ PŘÍRUČKA Obsah 1 Základní práce se systémem 3 1.1 Práce se záznamy................................. 3 1.2 Stránka Dnes.................................... 4 1.3 Kalendář......................................

Více

BALISTICKÝ MĚŘICÍ SYSTÉM

BALISTICKÝ MĚŘICÍ SYSTÉM BALISTICKÝ MĚŘICÍ SYSTÉM UŽIVATELSKÁ PŘÍRUČKA Verze 2.3 2007 OBSAH 1. ÚVOD... 5 2. HLAVNÍ OKNO... 6 3. MENU... 7 3.1 Soubor... 7 3.2 Měření...11 3.3 Zařízení...16 3.4 Graf...17 3.5 Pohled...17 1. ÚVOD

Více

1 Úvod. 2 Registrace a přihlášení. Registrace). Zobrazí se stránka, kde budete mít na výběr ze dvou možností. Můžete vytvořit nové či.

1 Úvod. 2 Registrace a přihlášení. Registrace). Zobrazí se stránka, kde budete mít na výběr ze dvou možností. Můžete vytvořit nové či. 1 Úvod Aplikace XPERA Projects, která je určena pro sběr a řešení požadavků, přináší nový rozměr a efektivity mobilního klienta. Aplikace Xpera Projects pro ios znamená mít řešené případy stále s sebou.

Více

Questionnaire příručka uživatele

Questionnaire příručka uživatele Questionnaire příručka uživatele Obsah: K čemu aplikace slouží? Popis funkcí Návod k použití o Úvodní dialogové okno o Pro respondenty o Pro administrátory K čemu aplikace slouží? Program questionnaire

Více

Úvod...1 Instalace...1 Popis funkcí...2 Hlavní obrazovka...2 Menu...3 Práce s aplikací - příklad...5

Úvod...1 Instalace...1 Popis funkcí...2 Hlavní obrazovka...2 Menu...3 Práce s aplikací - příklad...5 Rejstřík Úvod...1 Instalace...1 Popis funkcí...2 Hlavní obrazovka...2 Menu...3 Práce s aplikací - příklad...5 Úvod Správcovská aplikace slouží k vytvoření vstupního a zašifrovaného souboru pro odečtovou

Více

DIPL 2. Stručný manuál pro vysokoškolské kvalifikační práce.

DIPL 2. Stručný manuál pro vysokoškolské kvalifikační práce. DIPL 2 Stručný manuál pro vysokoškolské kvalifikační práce. Obsah STUDENTI VYTVOŘENÍ VOLNÉHO TÉMATU VŠKP VÝBĚR TÉMATU VŠKP Z VOLNÝCH TÉMAT KONTROLA ZADÁNÍ TÉMATU FORMÁLNÍ ÚPRAVA VYPLNĚNÍ ÚDAJŮ ELEKTRONICKÉ

Více

Technologické postupy práce s aktovkou IS MPP

Technologické postupy práce s aktovkou IS MPP Technologické postupy práce s aktovkou IS MPP Modul plánování a přezkoumávání, verze 1.20 vypracovala společnost ASD Software, s.r.o. dokument ze dne 27. 3. 2013, verze 1.01 Technologické postupy práce

Více

Reliance 3 design OBSAH

Reliance 3 design OBSAH Reliance 3 design Obsah OBSAH 1. První kroky... 3 1.1 Úvod... 3 1.2 Založení nového projektu... 4 1.3 Tvorba projektu... 6 1.3.1 Správce stanic definice stanic, proměnných, stavových hlášení a komunikačních

Více

Studijní skupiny. 1. Spuštění modulu Studijní skupiny

Studijní skupiny. 1. Spuštění modulu Studijní skupiny Studijní skupiny 1. Spuštění modulu Studijní skupiny 2. Popis prostředí a ovládacích prvků modulu Studijní skupiny 2.1. Rozbalovací seznamy 2.2. Rychlé filtry 2.3. Správa studijních skupin 2.3.1. Seznam

Více

Průvodce aplikací GTS Webový portál pro správce

Průvodce aplikací GTS Webový portál pro správce Průvodce aplikací GTS Webový portál pro správce www.centrex.gts.cz Strana 1 z 14 Obsah 1 Přihlášení do portálu Centrex... 3 2 Hlavní stránka aplikace základní popis... 3 3 Použití interaktivní nápovědy...

Více

Postupy práce se šablonami IS MPP

Postupy práce se šablonami IS MPP Postupy práce se šablonami IS MPP Modul plánování a přezkoumávání, verze 1.20 vypracovala společnost ASD Software, s.r.o. dokument ze dne 27. 3. 2013, verze 1.01 Postupy práce se šablonami IS MPP Modul

Více

Informační systém pro e-learning manuál

Informační systém pro e-learning manuál Informační systém pro e-learning manuál Verze 1.00 Úvod Tento dokument popisuje způsob práce s informačním systémem pro elektronické vzdělávání. Systém je určený pro vytvoření elektronického kurzu a jeho

Více

Uživatelská příručka

Uživatelská příručka B2B CENTRUM a.s. 3.2011 Obsah Začínáme... 3 Přihlášení a zapomenuté heslo... 3 Vytvoření uživatele... 3 Editace osobních údajů... 5 Vkládání souborů... 6 Elektronický podpis... 8 Stavební deník... 11 Identifikační

Více

5 Evidence manželských smluv

5 Evidence manželských smluv 5 Evidence manželských smluv 5.1 Společné vyhledávání v evidencích Společné vyhledávání v evidencích slouží k vyhledání evidovaných závětí, listin i smluv a to pouze vyhledáním podle rodného čísla a data

Více

Typ 2 - připojení prostřednictvím kódu nativního klienta pro přístup k síti

Typ 2 - připojení prostřednictvím kódu nativního klienta pro přístup k síti Práce s databází Specifikace JDBC Pro práci s relačními databázemi poskytuje Java rozhraní JDBC Java Database Connectivity. Specifikace tohoto rozhraní má několik verzí. Verze 1.x je součástí SDK již od

Více

DUM 06 téma: Tvorba makra pomocí VBA

DUM 06 téma: Tvorba makra pomocí VBA DUM 06 téma: Tvorba makra pomocí VBA ze sady: 03 tematický okruh sady: Tvorba skript a maker ze šablony: 10 Algoritmizace a programování určeno pro: 4. ročník vzdělávací obor: 18-20-M/01 Informační technologie

Více

1 Webový server, instalace PHP a MySQL 13

1 Webový server, instalace PHP a MySQL 13 Úvod 11 1 Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského

Více

Outdoor Expert. Uživatelský manuál. Verze aplikace: OutdoorExpert_Manual.docx 1 /

Outdoor Expert. Uživatelský manuál. Verze aplikace: OutdoorExpert_Manual.docx 1 / Outdoor Expert Uživatelský manuál Verze aplikace: 1.0 28. 12. 2014 OutdoorExpert_Manual.docx 1 / 35 2015-01-01 Obsah 1 ÚVOD... 3 2 POPIS FUNKČNOSTÍ APLIKACE... 3 2.1 SPUŠTĚNÍ APLIKACE... 3 2.2 ZALOŽENÍ

Více

PALSTAT s.r.o. systémy řízení jakosti PALSTAT CAQ verze. 3.00.01.09 Kontakty 08/2010. 1 Obsah

PALSTAT s.r.o. systémy řízení jakosti PALSTAT CAQ verze. 3.00.01.09 Kontakty 08/2010. 1 Obsah 1 Obsah 1 Obsah... 1 2 Úvod a spouštění SW Palstat CAQ... 2 2.1.1 Návaznost na další SW moduly Palstat CAQ... 2 2.2 Přihlášení do programu... 2 2.2.1 Stanovení přístupu a práv uživatele... 2 2.2.2 Spuštění

Více

Fides Software Storage Administrator

Fides Software Storage Administrator Trade FIDES, a.s. Fides Software Storage Administrator 1.0.2.0 (aktualizace - 7/2014) Popis programu Manuál správce systému 2 Fides Software Storage Administrator manuál správce Obsah 1 Úvod... 3 1.1 Popis

Více

Obrázek 1: Struktura programu z hlediska zapojení

Obrázek 1: Struktura programu z hlediska zapojení MANUÁL K PROGRAMU DBADVOKÁT Program byl vytořený za účelem třídění a uchovávání jednotlivých spisů (elektronické dokumenty [doc, xls, odt, pdf, xml,...], emaily a další důležité soubory) v centralním počítači

Více

Nephele systém. Akademie výtvarných umění v Praze. Ústav teorie informace a automatizace AV ČR, v.v.i. Ústav anorganické chemie AV ČR, v.v.i.

Nephele systém. Akademie výtvarných umění v Praze. Ústav teorie informace a automatizace AV ČR, v.v.i. Ústav anorganické chemie AV ČR, v.v.i. Nephele systém Akademie výtvarných umění v Praze Ústav teorie informace a automatizace AV ČR, v.v.i. Ústav anorganické chemie AV ČR, v.v.i. RNDr. Mgr. M. Beneš, RNDr. B. Zitová, PhD., RNDr. J. Hradilová,

Více

Uživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý

Uživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý Uživatelský manuál Aplikace GraphViewer Vytvořil: Viktor Dlouhý Obsah 1. Obecně... 3 2. Co aplikace umí... 3 3. Struktura aplikace... 4 4. Mobilní verze aplikace... 5 5. Vytvoření projektu... 6 6. Části

Více

Novinky verze 2.3.0 systému Spisové služby (SpS) e-spis LITE

Novinky verze 2.3.0 systému Spisové služby (SpS) e-spis LITE ICZ a.s. Správa a řízení dokumentů Na hřebenech II 1718/10 147 00 Praha 4 Tel.: +420-222 271 111 Fax: +420-222 271 112 Internet: www.i.cz Novinky verze 2.3.0 systému Spisové služby (SpS) e-spis LITE Vypracoval

Více

1 Uživatelská dokumentace

1 Uživatelská dokumentace 1 Uživatelská dokumentace Systém pro závodění aut řízených umělou inteligencí je zaměřen na závodění aut v prostředí internetu. Kromě toho umožňuje testovat jednotlivé řidiče bez nutnosti vytvářet závod

Více

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. PORTÁL KUDY KAM. Manuál pro administrátory. Verze 1.

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. PORTÁL KUDY KAM. Manuál pro administrátory. Verze 1. Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. PORTÁL KUDY KAM Manuál pro administrátory Verze 1.0 2012 AutoCont CZ a.s. Veškerá práva vyhrazena. Tento

Více

Uživatelská příručka pro ředitele škol

Uživatelská příručka pro ředitele škol Národní šetření výsledků žáků v počátečním vzdělávání Uživatelská příručka pro ředitele škol Název souboru: Modul IDM - Uživatelská příručka pro ředitele škol V2.doc Strana 1 Obsah 1 Úvod... 3 2 Přihlášení

Více

Uživatelská příručka administrativního rozhraní Vědecké knihovny v Olomouci

Uživatelská příručka administrativního rozhraní Vědecké knihovny v Olomouci Držitel certifikátu jakosti ISO 9001:2001 Uživatelská příručka administrativního rozhraní Vědecké knihovny v Olomouci Stránka 1/44 Obsah 1.Redakční systém...4 1.1. Povolené jazykové mutace...4 5.2.1 Překlad

Více

ABRA POS PRINT SERVER

ABRA POS PRINT SERVER ABRA Software a.s. Jeremiášova 1422/7b 15500 Praha 13 IČO 25097563 DIČ: CZ2597563 Zapsal Městský soud v Praze OR odd. B, vložka 4475 ABRA POS PRINT SERVER Dokumentace Aktualizace dokumentu: 15.3.2017 1

Více

Uživatelská příručka. Internet Map Server verze 1.5.4

Uživatelská příručka. Internet Map Server verze 1.5.4 Uživatelská příručka Internet Map Server verze 1.5.4 AURIS CZ s.r.o. vypracoval: Radek Valášek valasek@echotrack.cz poslední aktualizace: 30.4.2004 1 Funkce tenkého klienta... 3 Přihlášení do systému...

Více

1 Tabulky Příklad 3 Access 2010

1 Tabulky Příklad 3 Access 2010 TÉMA: Vytvoření tabulky v návrhovém zobrazení Pro společnost Naše zahrada je třeba vytvořit databázi pro evidenci objednávek o konkrétní struktuře tabulek. Do databáze je potřeba ještě přidat tabulku Platby,

Více

WORKWATCH ON-LINE EVIDENCE PRÁCE A ZAKÁZEK

WORKWATCH ON-LINE EVIDENCE PRÁCE A ZAKÁZEK WORKWATCH ON-LINE EVIDENCE PRÁCE A ZAKÁZEK Systém WorkWatch je určen pro malé a střední firmy, které se zabývají službami nebo zakázkovou výrobou. Zajistí dokonalý přehled o všech zakázkách a jejich rozpracovanosti.

Více

TÉMATICKÝ OKRUH Softwarové inženýrství

TÉMATICKÝ OKRUH Softwarové inženýrství TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 25. Otázka : Komponentní technologie - základní pojmy a principy, metody specifikace komponent. Obsah : 1. Základní pojmy 1.1 Komponenta Komponenta

Více

Úvod...1 Instalace...1 Popis funkcí...2 Hlavní obrazovka...2 Menu...3 Práce s aplikací - příklad...5

Úvod...1 Instalace...1 Popis funkcí...2 Hlavní obrazovka...2 Menu...3 Práce s aplikací - příklad...5 Rejstřík Úvod...1 Instalace...1 Popis funkcí...2 Hlavní obrazovka...2 Menu...3 Práce s aplikací - příklad...5 Úvod Správcovská aplikace slouží k vytvoření vstupního a zašifrovaného souboru pro odečtovou

Více

4.2. Odhlásit se Šifrování hesla Sepnutí výstupních relé Antipassback Zobrazení všech dat...

4.2. Odhlásit se Šifrování hesla Sepnutí výstupních relé Antipassback Zobrazení všech dat... Obsah 1. ÚVOD...3 2. EDITOVÁNÍ DAT V PAMĚTI ŘÍDÍCÍ JEDNOTKY...3 3. PRVNÍ SPUŠTĚNÍ PROGRAMU...3 4. POPIS MENU PŘIHLÁŠENÍ...5 4.1. Přihlásit se...6 4.2. Odhlásit se...6 4.3. Změna hesla...6 4.4. Šifrování

Více

DOKUMENTACE REDAKČNÍHO SYSTÉMU PINYA

DOKUMENTACE REDAKČNÍHO SYSTÉMU PINYA DOKUMENTACE REDAKČNÍHO SYSTÉMU PINYA Obsah Obsah... 4 Pinya CMS... 5 Přihlášení do systému... 6 Položky v menu administrace... 7 Uživatelé... 8 Správa uživatelů... 8 Nový uživatel... 9 Role... 10 Vytvoření

Více

Uživatelská příručka

Uživatelská příručka Uživatelská příručka fakultního informačního systému NETFEI, určeného pro evidenci odborných praxí studentů FEI VŠB - TU Ostrava pro roli Garant OBSAH Obecné informace... 2 Firmy... 3 Témata praxí... 4

Více

Nemocnice. Prvotní analýza a plán projektu

Nemocnice. Prvotní analýza a plán projektu Nemocnice Projekt do předmětu AIS Prvotní analýza a plán projektu Lukáš Pohl, xpohll00, xkosti03 Jan Novák, xnovak79 2009/2010 1 Neformální specifikace FN potřebuje informační systém, který bude obsahovat

Více

Bridge. Známý jako. Účel. Použitelnost. Handle/Body

Bridge. Známý jako. Účel. Použitelnost. Handle/Body Bridge Bridge Známý jako Handle/Body Účel odděluje abstrakci (rozhraní a jeho sémantiku) od její konkrétní implementace předchází zbytečnému nárůstu počtu tříd při přidávání implementací používá se v době

Více

FFUK Uživatelský manuál pro administraci webu Obsah

FFUK Uživatelský manuál pro administraci webu Obsah FFUK Uživatelský manuál pro administraci webu Obsah FFUK Uživatelský manuál pro administraci webu... 1 1 Úvod... 2 2 Po přihlášení... 2 3 Základní nastavení webu... 2 4 Menu... 2 5 Bloky... 5 6 Správa

Více

Jednoduchý návod k použití programu Vinotéka 2007, v 2.2.1

Jednoduchý návod k použití programu Vinotéka 2007, v 2.2.1 Jednoduchý návod k použití programu Vinotéka 2007, v 2.2.1 Demeter Jurista 2007 16.12.2007 Obsah Obsah... 2 Instalace programu... 3 Spuštění programu... 3 Popis hlavního panelu... 4 Menu... 4 Panel Vinotéka...

Více

NÁVOD NA OBSLUHU INTERNETOVÉ PREZENTACE. Ataxo Czech s.r.o.

NÁVOD NA OBSLUHU INTERNETOVÉ PREZENTACE. Ataxo Czech s.r.o. NÁVOD NA OBSLUHU INTERNETOVÉ PREZENTACE Ataxo Czech s.r.o. ÚVOD Internetové stránky vytvořené společností Ataxo v rámci produktu Mini web můžete jednoduše a rychle upravovat prostřednictvím on-line administrace.

Více

Manuál pro práci s modulem Otázky a odpovědi

Manuál pro práci s modulem Otázky a odpovědi Manuál pro práci s modulem Otázky a odpovědi Užitečné postupy a doporučení Obsah 1 Role uživatelů...3 2 Odesílání otázek...3 3 Přehled otázek...4 3.1 Orientace v přehledu...4 3.2 Základní údaje otázky...5

Více

44 Organizace akcí. Popis modulu. Záložka Seznam akcí

44 Organizace akcí. Popis modulu. Záložka Seznam akcí 44 Organizace akcí Modul Organizace akcí slouží k přípravě a plánování různých společenských, sportovních, kulturních, apod. akcí. Tyto akce je možné dále dělit do částí (ve stromové struktuře) a plánovat

Více

Příručka uživatele HELPDESK GEOVAP

Příručka uživatele HELPDESK GEOVAP HELPDESK GEOVAP verze 1.2 11.11.2008 OBSAH 1 REGISTRACE DO HELPDESK...1 2 PŘIHLÁŠENÍ A ODHLÁŠENÍ...1 3 ZÁKLADNÍ OBRAZOVKA HELPDESK...2 4 PŘEHLED HLÁŠENÍ...2 5 ZALOŽENÍ NOVÉHO HLÁŠENÍ...3 6 ZOBRAZENÍ/EDITACE

Více

Nový design ESO9. E S O 9 i n t e r n a t i o n a l a. s. U M l ý n a , P r a h a. Strana 1 z 9

Nový design ESO9. E S O 9 i n t e r n a t i o n a l a. s. U M l ý n a , P r a h a.   Strana 1 z 9 Nový design ESO9 E S O 9 i n t e r n a t i o n a l a. s. U M l ý n a 2 2 1 4 1 0 0, P r a h a Strana 1 z 9 Úvod... 3 Popis změn... 4 Horní lišta... 4 Strom činností... 5 Prostřední rám... 7 Horní lišta...

Více

Popis programu EnicomD

Popis programu EnicomD Popis programu EnicomD Pomocí programu ENICOM D lze konfigurovat výstup RS 232 přijímačů Rx1 DIN/DATA a Rx1 DATA (přidělovat textové řetězce k jednotlivým vysílačům resp. tlačítkům a nastavovat parametry

Více

MS SQL Server 2008 Management Studio Tutoriál

MS SQL Server 2008 Management Studio Tutoriál MS SQL Server 2008 Management Studio Tutoriál Vytvoření databáze Při otevření management studia a připojením se ke konkrétnímu sql serveru mám v levé části panel s názvem Object Explorer. V tomto panelu

Více

APS Web Panel. Rozšiřující webový modul pro APS Administrator. Webové rozhraní pro vybrané funkce programového balíku APS Administrator

APS Web Panel. Rozšiřující webový modul pro APS Administrator. Webové rozhraní pro vybrané funkce programového balíku APS Administrator APS Web Panel Rozšiřující webový modul pro APS Administrator Webové rozhraní pro vybrané funkce programového balíku APS Administrator Instalační a uživatelská příručka 2004 2016,TECH FASS s.r.o., Věštínská

Více

RELAČNÍ DATABÁZE ACCESS

RELAČNÍ DATABÁZE ACCESS RELAČNÍ DATABÁZE ACCESS 1. Úvod... 2 2. Základní pojmy... 3 3. Vytvoření databáze... 5 4. Základní objekty databáze... 6 5. Návrhové zobrazení tabulky... 7 6. Vytváření tabulek... 7 6.1. Vytvoření tabulky

Více

IZR - Mobilního verze stájového registru pro tury, ovce a kozy

IZR - Mobilního verze stájového registru pro tury, ovce a kozy IZR - Mobilního verze stájového registru pro tury, ovce a kozy Uživatelská příručka použití aplikace Ministerstvo zemědělství IZR - Mobilního verze stájového registru pro tury, ovce a kozy: Uživatelská

Více

Prohlížení a editace externích předmětů

Prohlížení a editace externích předmětů Prohlížení a editace externích předmětů 1. Spuštění modulu Externí předměty 2. Popis prostředí a ovládacích prvků 2.1. Rozbalovací seznamy 2.3. Seznamy 2.3.1. Definice předmětů 2.3.2. Vypsané předměty

Více

Práce s programem MPVaK

Práce s programem MPVaK Práce s programem MPVaK Tato informace popisuje postup práce s programem "MPVaK Vybrané údaje z majetkové a Vybrané údaje z provozní evidence. Jsou v ní popsány nejdůležitější úlohy, které budete s programem

Více

[APLIKACE PRO PŘEHRÁVÁNÍ VIDEA - PROJEKT MIAMI - SERVEROVÁ ČÁST]

[APLIKACE PRO PŘEHRÁVÁNÍ VIDEA - PROJEKT MIAMI - SERVEROVÁ ČÁST] [APLIKACE PRO PŘEHRÁVÁNÍ VIDEA - PROJEKT MIAMI - SERVEROVÁ ČÁST] [Aktualizace dokumentu: 27.8.2011 3:02:37 Verze dokumentu: 1.0 Obsah Obsah... 2 1. Struktura databáze a souborů... 3 2. Soubor registerdevice.php...

Více

DIPL 2. Příloha č. 1 ke Směrnici rektora č. 120/08 o vysokoškolských kvalifikačních pracích. Stručný manuál pro vysokoškolské kvalifikační práce.

DIPL 2. Příloha č. 1 ke Směrnici rektora č. 120/08 o vysokoškolských kvalifikačních pracích. Stručný manuál pro vysokoškolské kvalifikační práce. Příloha č. 1 ke Směrnici rektora č. 120/08 o vysokoškolských kvalifikačních pracích DIPL 2 Stručný manuál pro vysokoškolské kvalifikační práce. Mgr. Martin Svitanek Obsah STUDENTI I. FÁZE ZADÁVÁNÍ VŠKP

Více

UNIVERZITA PARDUBICE

UNIVERZITA PARDUBICE UNIVERZITA PARDUBICE Fakulta elektrotechniky a informatiky Uživatelský manuál: Korporátní publikační systém se zaměřením na správu, výrobu a distribuci reklamních tiskovin Vojtěch Pešl Uživatelský manuál

Více

ISPOP 2019 MANUÁL PRO PRÁCI V REGISTRU ODBORNĚ ZPŮSOBILÝCH OSOB

ISPOP 2019 MANUÁL PRO PRÁCI V REGISTRU ODBORNĚ ZPŮSOBILÝCH OSOB ISPOP 2019 MANUÁL PRO PRÁCI V REGISTRU ODBORNĚ ZPŮSOBILÝCH OSOB Správce výrobce verze 1.0 1 z 24 Obsah 1. Seznam zkratek... 3 2. Přehled změn manuálu... 3 3. Úvod... 4 4. Popis Registru OZO... 5 4.1. Uživatelské

Více

1. Pro přihlášení k odběru novinek klikněte na tlačítko Registrace nového uživatele.

1. Pro přihlášení k odběru novinek klikněte na tlačítko Registrace nového uživatele. 1. Vstup do aplikace Na adrese: http://i.statnisprava.cz 2. První stránka aplikace 1. Pro přihlášení k odběru novinek klikněte na tlačítko Registrace nového uživatele. 2. Poté budete přesměrováni na stránku

Více

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ M. Sysel, I. Pomykacz Univerzita Tomáše Bati ve Zlíně, Fakulta aplikované informatiky Nad Stráněmi 4511, 760 05 Zlín, Česká republika

Více

Manuál pro mobilní aplikaci Patron-Pro. verze pro operační systém Symbian

Manuál pro mobilní aplikaci Patron-Pro. verze pro operační systém Symbian Manuál pro mobilní aplikaci Patron-Pro verze pro operační systém Symbian 1 1. Popis Aplikace je určena pro mobilní telefony NOKIA s operačním Symbian a vybavené technologií NFC. Slouží pro správu identifikačních

Více

UŽIVATELSKÝ MANUÁL PERSONALIZACE MOJE SODEXO V.3 2009-11-08

UŽIVATELSKÝ MANUÁL PERSONALIZACE MOJE SODEXO V.3 2009-11-08 UŽIVATELSKÝ MANUÁL PERSONALIZACE MOJE SODEXO V.3 2009-11-08 1 Obsah dokumentu 1 Obsah dokumentu... 2 2 Personalizovaná objednávka... 3 3 Jednoduchá... 3 4 Standardní... 4 5 Komplexní... 5 5.1 Párování

Více

Mobilní aplikace. Uživatelský manuál

Mobilní aplikace. Uživatelský manuál Uživatelský manuál Obsah Základní informace a nastavení... 3 Nastavení přístupu... 4 Registrace docházky... 5 Editace vlastní docházky... 5 Ovládaní z mobilní aplikace... 6 Konfigurace mobilní aplikace...

Více

Čtvrtek 3. listopadu. Makra v Excelu. Obecná definice makra: Spouštění makra: Druhy maker, způsoby tvorby a jejich ukládání

Čtvrtek 3. listopadu. Makra v Excelu. Obecná definice makra: Spouštění makra: Druhy maker, způsoby tvorby a jejich ukládání Čtvrtek 3. listopadu Makra v Excelu Obecná definice makra: Podle definice je makro strukturovanou definicí jedné nebo několika akcí, které chceme, aby MS Excel vykonal jako odezvu na nějakou námi definovanou

Více

Lokality a uživatelé

Lokality a uživatelé Administrátorský manuál TTC TELEKOMUNIKACE, s.r.o. Třebohostická 987/5 100 00 Praha 10 tel.: 234 052 111 fax.: 234 052 999 e-mail: ttc@ttc.cz http://www.ttc-telekomunikace.cz Datum vydání: 15.října 2013

Více

UNIVERZITA PARDUBICE Fakulta elektrotechniky a informatiky Katedra softwarových technologií

UNIVERZITA PARDUBICE Fakulta elektrotechniky a informatiky Katedra softwarových technologií UNIVERZITA PARDUBICE Fakulta elektrotechniky a informatiky Katedra softwarových technologií Softwarový nástroj pro tvorbu a správu genealogických dat Manuál pro uživatele Bc. František Hlaváček Součást

Více

Průvodce aplikací Webový portál pro správce Portal-uc.gtsce.com

Průvodce aplikací Webový portál pro správce Portal-uc.gtsce.com Průvodce aplikací Webový portál pro správce Portal-uc.gtsce.com Obsah 1 Přihlášení do portálu... 3 2 Hlavní stránka aplikace základní popis... 3 3 Použití interaktivní nápovědy... 4 4 Použití vybraných

Více

Grantové projekty. V současné době jsou zpracovány tyto části:

Grantové projekty. V současné době jsou zpracovány tyto části: Grantové projekty V současné době jsou zpracovány tyto části: - konzultace záměru grantového projektu - registrace grantového projektu - zahájeni realizace grantového projektu 1. Schéma konzultace záměru

Více

Uživatelský manuál aplikace. Dental MAXweb

Uživatelský manuál aplikace. Dental MAXweb Uživatelský manuál aplikace Dental MAXweb Obsah Obsah... 2 1. Základní operace... 3 1.1. Přihlášení do aplikace... 3 1.2. Odhlášení z aplikace... 3 1.3. Náhled aplikace v jiné úrovni... 3 1.4. Změna barevné

Více

24 Uživatelské výběry

24 Uživatelské výběry 24 Uživatelské výběry Uživatelský modul Uživatelské výběry slouží k vytváření, správě a následnému používání tématicky seskupených osob a organizací včetně jejich kontaktních údajů. Modul umožňuje hromadnou

Více

Depozitář 2 manipulace s předměty

Depozitář 2 manipulace s předměty Příručka uživatele systému Museion Depozitář 2 manipulace s předměty Autorská práva Copyright 2012-2014 MUSOFT.CZ, s.r.o.. Všechna práva vyhrazena. Tato příručka je chráněna autorskými právy a distribuována

Více

3 Makra Příklad 4 Access 2007. Ve vytvořené databázi potřebuje sekretářka společnosti Naše zahrada zautomatizovat některé úkony pomocí maker.

3 Makra Příklad 4 Access 2007. Ve vytvořené databázi potřebuje sekretářka společnosti Naše zahrada zautomatizovat některé úkony pomocí maker. TÉMA: Vytváření a úprava maker Ve vytvořené databázi potřebuje sekretářka společnosti Naše zahrada zautomatizovat některé úkony pomocí maker. Zadání: Otevřete databázi Makra.accdb. 1. Vytvořte makro Objednávky,

Více

Jednoduchý návod k použití programu Vinotéka 2006, v 2.0

Jednoduchý návod k použití programu Vinotéka 2006, v 2.0 Jednoduchý návod k použití programu Vinotéka 2006, v 2.0 Demeter Jurista 2006 25.01.2006 Obsah Obsah...2 Instalace programu...3 Spuštění programu...3 Popis hlavního panelu...3 Menu...4 Panel Regály...4

Více

HELIOS - Zálohování BüroKomplet, s.r.o.

HELIOS - Zálohování BüroKomplet, s.r.o. HELIOS - Zálohování 2017 BüroKomplet, s.r.o. Obsah Záloha... 3 Přehled záloh... 3 Typ zálohy... 3 Adresář... 4 Nový... 4 Obnova... 6 2 Záloha V přehledu lze provádět zálohy dat jednotlivých firem a v případě

Více

Založení nové karty - základy

Založení nové karty - základy Příručka uživatele systému Museion Založení nové karty - základy Autorská práva Copyright 2012-2013 MUSOFT.CZ, s.r.o.. Všechna práva vyhrazena. Tato příručka je chráněna autorskými právy a distribuována

Více

Evidence požadavků uživatelů bytů a nebytových prostor

Evidence požadavků uživatelů bytů a nebytových prostor Evidence požadavků uživatelů bytů a nebytových prostor Úvod Pro zjednodušení a zprůhlednění Vaší komunikace se správní firmou (dále jen SF ), která má na starost objekt, v němž se nachází bytový či nebytový

Více

2HCS Fakturace 3 - modul Banka -

2HCS Fakturace 3 - modul Banka - 2HCS Fakturace 3 - modul Banka - Autor: Tomáš Halász 2H C.S. s.r.o. Dukelská 691/5, 742 21 Kopřivnice Email: info@faktury.cz Web: www.faktury.cz pro verzi: dne: 3.7.23 a novější 01.09.2010 1/16 Obsah Úvod...3

Více

Mobilní aplikace. Uživatelský manuál

Mobilní aplikace. Uživatelský manuál Uživatelský manuál Obsah Základní informace a nastavení... 3 Nastavení přístupu... 4 Registrace docházky... 5 Editace vlastní docházky... 5 Ovládaní z mobilní aplikace... 6 Konfigurace mobilní aplikace...

Více

KMI / TMA Tvorba mobilních aplikací. 6. seminář ZS 2016/2017 Středa 13:15-15:45

KMI / TMA Tvorba mobilních aplikací. 6. seminář ZS 2016/2017 Středa 13:15-15:45 KMI / TMA Tvorba mobilních aplikací 6. seminář 2.11.2016 ZS 2016/2017 Středa 13:15-15:45 OBSAH SEMINáře Ukládání dat Ukládání dat Jaké jsou možnosti? SharedPreferences jednoduchá data databáze SQLite relační

Více

ZŠ ÚnO, Bratří Čapků 1332

ZŠ ÚnO, Bratří Čapků 1332 MS Excel 2002 Grada - po spuštění je třeba kliknout do středu obrazovky - v dalším dialogovém okně (Přihlášení) vybrat uživatele, zřídit Nového uživatele nebo zvolit variantu Bez přihlášení (pro anonymní

Více

Helios RED a Elektronická evidence tržeb (Helios RED verze 10)

Helios RED a Elektronická evidence tržeb (Helios RED verze 10) Helios RED a Elektronická evidence tržeb (Helios RED verze 10) 1. Správa systému Ve Správě systému ve volbě EET je Číselník provozoven a dále tabulka s historií (ne)odeslaných dokladů Komunikace s portálem.

Více

E-NABÍDKA PARTNER.REDA.CZ

E-NABÍDKA PARTNER.REDA.CZ E-NABÍDKA PARTNER.REDA.CZ Reda e-nabídka představuje mocný nástroj, díky kterému mohou naši registrovaní klienti přímo z prostředí e-shopu partner.reda.cz vytvářet vlastní produktové nabídky pro své zákazníky.

Více

Ovládání Open Office.org Calc Ukládání dokumentu : Levým tlačítkem myši kliknete v menu na Soubor a pak na Uložit jako.

Ovládání Open Office.org Calc Ukládání dokumentu : Levým tlačítkem myši kliknete v menu na Soubor a pak na Uložit jako. Ukládání dokumentu : Levým tlačítkem myši kliknete v menu na Soubor a pak na Uložit jako. Otevře se tabulka, v které si najdete místo adresář, pomocí malé šedočerné šipky (jako na obrázku), do kterého

Více

Popis ovládání. Po přihlášení do aplikace se objeví navigátor. Navigátor je stromově seřazen a slouží pro přístup ke všem oknům celé aplikace.

Popis ovládání. Po přihlášení do aplikace se objeví navigátor. Navigátor je stromově seřazen a slouží pro přístup ke všem oknům celé aplikace. Popis ovládání 1. Úvod Tento popis má za úkol seznámit uživatele se základními principy ovládání aplikace. Ovládání je možné pomocí myši, ale všechny činnosti jsou dosažitelné také pomocí klávesnice. 2.

Více

Microsoft. Access. Nová databáze, návrh tabulky. Mgr. Jan Veverka Střední odborná škola sociální Evangelická akademie

Microsoft. Access. Nová databáze, návrh tabulky. Mgr. Jan Veverka Střední odborná škola sociální Evangelická akademie Microsoft Access Nová databáze, návrh tabulky Mgr. Jan Veverka Střední odborná škola sociální Evangelická akademie Dlouhodobý úkol Ahoj! Dnes vás čeká vytvoření první databáze (tabulky). Budeme evidovat

Více

Možnosti tisku v MarushkaDesignu

Možnosti tisku v MarushkaDesignu 0 Možnosti tisku v MarushkaDesignu OBSAH 1 CÍL PŘÍKLADU...2 2 PRÁCE S PŘÍKLADEM...2 3 UKÁZKA DIALOGOVÉHO OKNA...3 4 STRUČNÝ POPIS PŘÍKLADU V MARUSHKADESIGNU...5-1 - 1 Cíl příkladu V tomto příkladu si ukážeme

Více

8 Třídy, objekty, metody, předávání argumentů metod

8 Třídy, objekty, metody, předávání argumentů metod 8 Třídy, objekty, metody, předávání argumentů metod Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost třídám a objektům, instančním

Více

Naším cílem je Vaše spokojenost...

Naším cílem je Vaše spokojenost... Vážení zákazníci, Naším cílem je Vaše spokojenost... blahopřejeme Vám, že jste se rozhodli pro nákup nové telefonní ústředny řady ATEUS - NETSTAR od českého výrobce 2N TELEKOMUNIKACE a.s. Současně Vás

Více

HelpDesk. Uživatelská příručka verze 1.7. duben Dodavatel: MÚZO Praha s.r.o. Politických vězňů Praha 1

HelpDesk. Uživatelská příručka verze 1.7. duben Dodavatel: MÚZO Praha s.r.o. Politických vězňů Praha 1 HelpDesk Uživatelská příručka verze 1.7 duben 2009 Dodavatel: MÚZO Praha s.r.o. Politických vězňů 15 110 00 Praha 1 Seznam verzí dokumentu Verze Zpracoval Stav Stručný popis změn, dodatků Datum 1. 1.0

Více

36 Elektronické knihy

36 Elektronické knihy 36 Elektronické knihy Uživatelský modul Elektronické knihy slouží k přípravě a publikování informací ve formátu HTML. Tento formát je vhodný pro prezentaci informací na internetu a je široce podporován

Více

PRACUJEME S TSRM. Modul Samoobsluha

PRACUJEME S TSRM. Modul Samoobsluha PRACUJEME S TSRM Modul Samoobsluha V této kapitole Tato kapitola obsahuje následující témata: Téma Na straně Přehled kapitoly 6-1 Užití modulu Samoobsluha 6-2 Přihlášení k systému 6-3 Hlavní nabídka TSRM

Více

APS mini.ed programová nadstavba pro základní vyhodnocení docházky. Příručka uživatele verze 2.2.0.6

APS mini.ed programová nadstavba pro základní vyhodnocení docházky. Příručka uživatele verze 2.2.0.6 APS mini.ed programová nadstavba pro základní vyhodnocení docházky Příručka uživatele verze 2.2.0.6 APS mini.ed Příručka uživatele Obsah Obsah... 2 Instalace a konfigurace programu... 3 Popis programu...

Více

KRAJSKÝ ÚŘAD KARLOVARSKÉHO KRAJE. Manuál. Uživatele aplikace informačního systému pro

KRAJSKÝ ÚŘAD KARLOVARSKÉHO KRAJE. Manuál. Uživatele aplikace informačního systému pro Manuál Uživatele aplikace informačního systému pro zjišťování údajů a vypracování Přehledu o předběžném odhadu nákladů na obnovu majetku sloužícího k zabezpečení základních funkcí v území Karlovarského

Více

Remote Method Invocation RMI

Remote Method Invocation RMI Remote Method Invocation RMI Java TM Remote Method Invocation (RMI) umožňuje objektu na jedné Java Virtual Mashine(JVM) jednoduše spustit metodu jiného objektu na vzdálené JVM. Při volání vzdálené metody

Více

Uživatelská příručka

Uživatelská příručka Uživatelská příručka XENIA - systém pro zpracování dokumentů Verze manuálu: 1.0 Verze systému XENIA: 2.30 YDS s.r.o. http://yds.cz http://xenia.cz 2 Obsah Obsah... 3 Předmluva... 5 1. Elektronická archivace...

Více

ROZHRANÍ PRO ZPŘÍSTUPNĚNÍ A PREZENTACI ZNALOSTNÍ DATABÁZE INTERPI UŽIVATELSKÁ PŘÍRUČKA

ROZHRANÍ PRO ZPŘÍSTUPNĚNÍ A PREZENTACI ZNALOSTNÍ DATABÁZE INTERPI UŽIVATELSKÁ PŘÍRUČKA ROZHRANÍ PRO ZPŘÍSTUPNĚNÍ A PREZENTACI ZNALOSTNÍ DATABÁZE INTERPI UŽIVATELSKÁ PŘÍRUČKA INTERPI Interoperabilita v paměťových institucích Program aplikovaného výzkumu a vývoje národní kulturní identity

Více

1. Podmínky chodu aplikace

1. Podmínky chodu aplikace 1 / 15 1. Podmínky chodu aplikace Licenční instalace určení pro značku, lokální instalace, nebo síťová licencovaná MAS serverem. 1.1. Instalace podpory MicroCat na lokální stanici Na dané stanici musí

Více