Otázka:

Nastavení cest v počítačové síti.

Odpověď

Jednotlivé moduly Bakalářů mohou být umístěny na různých místech. Zástupce ředitele má např. rozvrh a suplování na "svém" počítači (suplování dělá třeba v době, kdy není připojen k síti), evidenční část systému (včetně úvazků) je instalována na serveru.

Některá data, vytvořená jedním programem, ovšem využívají i další moduly. Např. data úvazků, zapsaná ve Společném prostředí, potřebuje nejen Rozvrh, ale též Evidence pro zápis známek, Rozpis maturit pro načtení žáků maturitních ročníků, Plán akcí školy, Tematické plány atd. V modulu Evidence lze zobrazit rozvrhy žáků a učitelů, Suplování přebírá data z Plánu akcí apod.
Při spuštění každého programu musí být proto definovány cesty k datovým souborům ostatních modulů. Nastavení cest probíhá podle následujícího principu:

1) Program může být spuštěn s parametrem, kterým je soubor s příponou ini (obsahující sekci [Cesty])
Příklad INI souboru
[Cesty]
Evidence=D:\BAKALARI\EVID\
Maturity=D:\BAKALARI\MATURITY\
Temaplan=D:\BAKALARI\TEMAPLAN\
Rozvrh=D:\BAKALARI\ROZVRH\
atd.
Tento způsob využijeme např. v situaci, kdy je celý sytém instalován na serveru sítě peer to peer v adresáři c:\bakalari, disk C: je pro vedlejší stanici namapován jako D: a veškerá data chceme mít na serveru. V takovém případě spustíme Rozvrh z vedlejší stanice např. příkazem:
d:\bakalari\rozvrh\ROZVRH.EXE d:\bakalari\rozvrh\BAKA32D.INI ,
přičemž soubor baka32d.ini vytvoříme v adresáři bakalari jako kopii souboru baka32.ini (viz bod 2) a opravíme v něm sekci [cesty] na D: (viz výše).
2)  Není-li parametr uveden, cesty se nastaví podle souboru BAKA32.INI v adresáři .. (o úroveň blíž ke kořeni) - vzhledem k adresáři, odkud je modul spuštěn.
Toto je standardní situace
Při instalaci Bakalářů např. do adresáře f:\bakalari (tzn. Evidence do f:\bakalari\evid, Rozvrh do f:\bakalari\rozvrh atd.) se založí soubor BAKA32.INI v adresáři f:\bakalari a zapíší se do něj cesty, zadané v průběhu instalace. Spouštíme-li jakýkoliv modul ze stanice, která "vidí" tento adresář jako f:\bakalari, zadáme prostý příkaz bez parametru. Např. f:\bakalari\maturity\maturity.exe. Po korektní instalaci nemusíme v tomto případě nic měnit!
3)  Pokud soubor v adresáři .. (o úroveň blíž ke kořeni) není přístupný, nastaví se cesty podle souboru BAKA32.INI v adresáři Windows (pokud tento soubor existuje).
Tato situace může nastat např. v případě, kdy je adresář f:\bakalari\evid v síti namapován jako k:. Při spuštění Evidence není adresář .. (o úroveň blíž ke kořeni) přístupný. Proto existuje tato poslední možnost, vytvořit kopii souboru baka32.ini v adresáři Windows (na všech stanicích). Opět je samozřejmě třeba sekci [cesty] opravit podle skutečnosti.

Nastavené cesty lze zobrazit i během práce s programy v závěsné nabídce "=". Lze tedy kdykoliv zkontrolovat, odkud se data skutečně načetla. V případě, že program některá data nenalezne, budete upozorněni nejen na nesprávné nastavení cesty, ale také na to, ze kterého souboru BAKA32.INI byly cesty načteny.

Poznámky:
1) Možná máte nastavena práva přístupu uživatelů v síti např. do adresářů h:\bakalari\evid , h:\bakalari\rozvrh, avšak nikoli do adresáře h:\bakalari . Doplňte všem uživatelům právo přístupu k souboru h:\bakalari\baka32.ini !
2)   Možná máte v sítích Windows namapován disk a adresář serveru např. c:\bakalari\evid jako K:. Vhodnější mapování pro verzi w12e je c:\bakalari jako K:, aby byl na disku K nalezen soubor Baka32.ini.

Shrnutí - jak hledají moduly systému Bakaláři data:

1) Je-li modul spuštěn s parametrem, jímž je soubor s příponou .INI (včetně cesty), načte program cesty z tohoto souboru.
2)   Není-li modul spuštěn s parametrem dle 1., pokusí se program otevřít soubor BAKA32.INI v adresáři .. (to jest o úrověň blíž ke kořeni) vzhledem k adresáři, odkud je modul spuštěn. Najde-li tento soubor, načte cesty z tohoto souboru.
3) Není-li splněno 1.a není-li nalezen BAKA32.INI dle 2., pokusí se program otevřít soubor BAKA32.INI v adresáři Windows (na lokálním disku). Najde-li tento soubor, načte cesty z tohoto souboru.
4) Není-li splněno 1.a není-li nalezen BAKA32.INI dle 2. ani 3., ohlásí program absenci souboru BAKA32.INI a je ukončen.