TODO

Tu nájdete zoznam tém a problémov, na ktorých sa momentálne v projekte pracuje. V prípade, že sa chcete zapojiť do vývoja, bude najlepšie ak si vyberiete z tohoto zoznamu a kontaktujete ma aby som vás vedel priradiť do zoznamu developerov, prípadne vás odkázať na tých, čo už na danej problematike pracujú

Kompilácia Linux

alebo iné POSIX systémy

Keďže každá distribúcia linuxu je trochu iná, nedarí sa vždy program skompilovať a spustiť. Preto ak sa vám podarí program skompilovať na inej konfigurácii ako je uvedená v zozname, napíšte nám jej parametre a prípadné poznámky čo treba urobiť ak to na prvý krát nezbehlo.
Distribúcia Kompilátor Databáza Poznámky
Red Hat 7.2 GCC 2.96 MySQL 3.23 konfigurácia na ktorej bol projekt vyvíjaný v 2003
LFS 4.0 GCC 2.95 MySQL 3.23 úspešné testovanie na pomalom stroji 386DX 40MHz 16MB RAM

Kompilácia MS Windows

Pre príliš veľkú :-( popularitu týchto operačných systémov sa snažíme skompilovať tento projekt aj v tomto prostredí. Zatiaľ sa podarilo niečo z projektu skompilovať v prostredí cygwin, ale problémy robí zatial MySQL 4.1 nainštalované priamo vo Windows a naviazanie projektu na jeho dll knižnice. V prípade, že sa vám podarí projekt úspešne skompilovať či už podobným spôsobom alebo pomocou iných prostredí (Borland, Visual Studio), dajte nám prosím vedieť aké úpravy, alebo postupy bolo treba použiť a my sa ich pokúsime zreprodukovať, prípadne rovno spíšte postup, ktorý by sa dal uverejniť na webe.

Zadávanie telefónnych čísel a emailov

V knižnici /api treba vytvoriť súbory t_c_phone.* (resp. t_c_email.*, ďaľej bude popísaný len phone, lebo pre email je to to isté len v "ružovom") hlavičkový aj zdrojový s podobnými funkciami ako májú už existujúce t_c_person.*(company). Tieto funkcie (formuláre) majú slúžiť na zadávanie telefónneho čísla z editačného režimu formulára osoby(firmy). Užívatelská funkcionalita má naväzovať na stlačenie klávesy [Insert] pri zozname telefónnych čísel, kedy je zavolaný nový formulár (nové okno) na zadanie nového čísla. Tento formulár by mal vyzerať ako zoznam telefónnych čísel už zadaných do systému (na zobrazenie použiť tt_table_qs) kde písaním nového telefónneho čísla by sa zároveň v zozname hľadalo, či už dané číslo nie je zadané v systéme. Ak áno užívatel by sa nanho mohol presunúť šípkami a potvrdiť [Enter]. Ak nie tak potvrdením [Enter] by sa toto číslo zaradilo ako nové do DB. V oboch prípadoch získame PK riadku s týmto číslom. Následne sa otvorí formulár v ktorom je možné napísať poznámku ktorá charakterizuje väzbu tohto čísla na danú osobu(firmu). Po potvrdení sa uloží táto väzba do tabulky "lists_c", zatvorí editačné okno a obnoví formulár informácii o osobe(firme) kde už bude zobrazené aj novo pridané telefónne číslo. Všetky nové funkcie pracujúce s databázou, ktoré treba vytvoriť pre tento účel treba umiestniť do adresáru /lib do súboru lt_c.c alebo treba vytvoriť nové súbory lt_c_phone.* a tie zaradiť do projektu v súboroch Makefile.am a lt.h. Celé by sa to malo obísť bez toho aby bolo treba vytvoriť novú dátovú štruktúru. Ak by to však bolo nevyhnutné, alebo kvôli niečomu priam vhodné treba túto štruktúru zadefinovať v lt_c.c. Všetky nové funkcie treba okomentovať rovnakým štýlom akým sú okomentované napr. v lt_c_person.h a t_c_person.h

Lokalizácia

Zdrojový kód je momentálne priamo kompilovaný so slovenskými popiskami. Toto by sa malo zmeniť vytvorením lokalizačných súborov a nahradením všetkých popisiek príkazom gettext. Lokalizačné súbory by mali byť umiestnené do novovytvoreného adresáru i18n a kvôli otestovaniu funkčnosti by bolo dobré vytvoriť okrem slovenskej lokalizácie ešte minimálne anglickú a prípadne českú.

XML configurácia

Treba do projektu zaradiť linkovanie na nejakú XML parsovaciu knižnicu, pravdepodobne libxml2 a zatial len do hlavného programu /api/t_main.c zaradiť načítanie parametrov na pripojenie k databáze z externého XML súboru config.xml.Štruktúra XML by mala byť zatial nasledovná.
		<TUCNIAK>
			<DB>
				<TYPE>MySQL</TYPE>
				<SERVER></SERVER>
				<DATABASE>tucniak</DATABASE>
				<USER>tucniak</USER>
				<PASSWORD></PASSWORD>
			</DB>
			<CLIENT>
				<COLOR>
					<SCHEME>BW</SCHEME>
				</COLOR>
			</CLIENT>
		</TUCNIAK>
		

Farebný terminál

Cieľom by malo byť vytvorenie odvodených ttc_* funkcií od všetkých prvkov tt_* v /term, ktoré by dokázali farebne zobrazovať na základe konfigurácie ktorá by sa načítala z externého XML súboru. Dáta by sa načítali len raz na začiatku do nejakej dátovej štruktúry, ktorú by bolo treba nadefinovať v rámci /term/tt.h s názvom napr. "TT_COLOR". Knižnica tt by nemala byť závislá na xml parseri, preto všetky nastavenia parametrov štruktúry TT_COLOR by mali byť priamo pomocou nejakých tt_color_set_* funkcií. Inicializovaná TT_COLOR by sa potom predávala ako parameter všetkým ttc_* funkciám, ktoré by si z nej načítali príslušnú farebnú schému zobrazenia textu. Zároveň by sa pri inicializácii zistil typ terminálu, akú farebnosť podporuje a podľa toho by bola povolená farebná alebo čierno-biela schéma. Možno by sa dala využiť aj nejaká iná knižnica, ktorá už existuje nad ncurses, alebo úplne iná knižnica nezávislá na ncurses, čo by si možno vyžiadalo úplný prepis "TT".