Navrh komunikace mezi moduly projektu a jejich funkci na zaklade druheho setkani: Formularnik: 1. pozadavek bude obsahovat nejaky udaj podle kterho bude mozne zvolit sablonu a vratit podle ni formular. Tento formular bude obsahovat skryte polozky bud definujici sablonu nebo pripadne primo zbytek jejiho obsahu. Po vraceni formulare se podle techto zbylych dat sablony provedou zakladni kontroly (polozka je/neni, je cislo/neni) a data prerovnaji do formatu zakladniho zaznamu. Ten se odesle planovaci (pri zadavani dat bude jejich soucasti vlajka vyjadrujici status, tj. ze je to prvni pokus). Pokud nedostane odpoved (nedostane vcas - timeout) vrati alespon to co zjistil sam (a varovani) Odpovedi je obecna HTML stranka - muze to byt formular podle stejne nebo jine sablony nebo jen tabulka vysledku. Hlavni funkci formularnika je nespadnout, tj mel by uzivatele upozornit na vysledek i v pripade ze v dusledku chyby nebo pretizeni serveru neni mozne pozadavek plne vyhodnotit. Muze vracet refreshe (data se vyhodnocuji, pokud nemate zapnuty javascript kliknete za 20 sekund sem). To ovsem pouze v pripade nepouziti primeho volani ... Planovac: Data z formulare/startovace/importu: vytvori jednoznacny klic a posle testeru a do databaze. Data z testeru posle do databaze a vrati zpet (formularnik bude jediny kdo je pouzije, ostatni je budou ignorovat) Tester: jeho funkci je provest slozitejsi kontroly. Bude tezce pracovat s databazi (spravou dat) - vyzvedne seznam kontrolu typicky se vztahujici k nejake tabulce (a hodnote formulare) a bude je provadet a oznacovat do ZZ vysledek. Export: mohl by byt resen kompatibilne s formularnikem - tj posle pozadavek na vyhledavani a pote zpracuje vysledek a nasklada do pozadovaneho formatu. Sprava dat: dostane jednoduse dotaz - tj vetsina polozek klic/hodnota bude primo nazev udaje/hodnota pro dotaz, dalsi polozky budou pouzita databaze a zda se jedna o select, update/insert nebo init (vytvor vsechny pozadovane databaze bez obsahu). Prepise do SQL (prip do jineho dotazovaciho jazyka :-)) podle parametru databazoveho serveru kteremu bude dotaz polozen, zavola rozhrani a z odpovedi vytvori stranku (ne nutne HTML). Navrzene metody komunikace: form - formular ZZ - zakladni zaznam Q - databazovy pozadavek lidi-formularnik: form formularnik/import/startovac/export-planovac - (direct call,) form (ZZ) planovac-tester: direct call, form(ZZ) formularnik-spravaDat: direct call, form(Q) = tahani sablony tester-spravaDat: direct call, form(Q) planovac-spravaDat: direct call, form(Q=ZZ) spravaDat-databazovaRozhrani: direct call Poznamky: vyhledavani bude v zasade take zakladni formular - budou zadany zname udaje, fakt ze pozadujeme vyhledani bude atribut. pri pouziti formularoveho volani spravyDat bude zapotrebi formular zabezpecit klicem a podpisem (MD5) Dale poznamky ze setkani: 1) Ani v pripade formulare se neda predpokladat ze budeme schopni sezrat vsechny data - napriklad pokud nekdo do kolonky telefonni cislo (uklada se neco takoveho ?) pracne opise adresu, neni smazani (neni to cislo) spravna reakce. O zadavani mailem nemluve. Proto bude ZZ obsahovat polozku "ztracena data" do ktere se nahazi veskery srot pro pripad, ze by ho uzivatel chtel pastovat kam opravdu patri. Pochopitelne, taky si tam muze schovat URL k nejake slecne kterou zrovna nasel na webu ... coz me vede k zaveru ze by se tyto data meli ukladat zvlast peclive ... 2) Logovat, logovat, logovat. 3) Testovat, testovat, testovat.