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