Predchozi | Seznam | Nasledujici |
Na techto dvou schuzkach se debatovalo prevazne o rozhrani jednotlivych modulu (je pripojeno).
Dale se vedla celkem dlouha debata o vyuziti XML pro predavani dat mezi moduly. Dospelo se k zaveru,
ze lepsi bude k tomuto ucelu pouzit PHP pole.
Testy by mohly byt ve forme souboru. Tester by si je na zacatku vsechny natahl z nejakeho direktorare,
navic by pouzil databazovou tabulku, kde by byl zaznamenan vztah data-jmeno testovaci funkce.
Uvazovalo se o tom ze by testy pridaval primo evalem z databaze, ale bylo to oznaceno jako prasarna.
Zaporna navratova hodnota jednotlivych funkci znaci chybu. U kazdeho modulu bude funkce ModuleName_GetError(), ktera
prelozi kod chyby na chybovy text. V teto souvislosti jsme ustalili kratke nazvy jednotlivych modulu: Form,
Plan, Data, Start, Test, Export, Import.
Podminka dotazu bude predavana jako string. Pri vyhledavani vratime uzivateli co chtel (i kdyby to mel byt
nesmysl). Vyhledavani tedy nebude prochazet Testerem. Pro kontrolu mu zopakujeme jake zadal vyhledavaci kriteria, aby se mohl presvedcit
ze zadal nesmysl.
Dulezite je rozmyslet nejaky jednotny coding style, ktereho bychom se meli vsichni drzet. Predpoklada se ze to bude naplni nasledujici
schuzky.
Maly detail: v databazi autoru bude datum platnosti od a do.
A ted k rozhrani:
Planovac: | GetForm(FormID, SID, IP adresa) SendForm(FormID, SID, IP adresa, data) |
Funkce vraci formular a data (v pripade GetForm predvyplnena). Planovac bude kontrolovat autentizaci. |
Tester: | Test(FormID, data) | Vraci data. |
Import: | Import(typ dat, soubor) | |
Export: | Export(data z formulare, dotaz) | Vraci octed stream (primo exportovany soubor). |
Databaz. modul: | StoreData(co to je za data (kam), data, hodnota klic. zaznamu) | Provadi inserty, pokud je vsak posledni param. nenula a prislusny zaznam existuje, tak se jedna o update. Vraci pocet zmenenych zaznamu. |
GetDataSQL(jaka (odkud), SQL podminka, limit (kolik (prvnich) zaznamu)) | Vraci pole (pole poli hodnot) nebo int (chyba). -1 znamena nenasel. Pokud je limit nula, znamena to neomezene. | |
GetData(odkud, data, limit) | Data predstavuji polovyplnena data. Vraci totez co GetDataSQL. | |
Query(dotaz ve stringu) | Pro admina. Vraci totez co GetDataSQL. | |
InitDB() | Inicializace db do "pouzitelneho" stavu. Smazani udaju ze stareho sberu. |