Myslim, ze lepsi nez vypsat vsechny funkce, ktere by mely moduly poskytovat, bude popsat posloupnost volani v jednotlivych pripadech. Tim nechci rict, ze popsane veci jsou jedine, ktere bude novy Caddis podporovat. Jsou vytazeny z dokumentace soucasneho Caddisu. Tedy predpokladejme, ze na hlavni strance Caddisu budou opet odkazy na jednotlive formulare, do kterych se budou vyplnovat zaznamy o publikacich. Po kliknuti na nektery z odkazu se zavola formularnik. Napr. forms.php?action=showform&id=1 kde id predstavuje cislo formulare. Formularnik zobrazi prislusny formular. Formular ziska pomoci XSL transformace na nejakou sablonu, kterou si predem nacte. Vyplneny formular se metodou POST zpracuje opet formularnikem. Tzn. submitne se do forms.php?action=zpracuj_form&id=1& dalsi param V tuto chvili se data zpracuji do nejakeho formatu (predp. XML) a rizeni se preda planovaci. Planovac bude mit funkci Proved_krok, ktera bude mit jako parametry: 1. fazi zpracovani. Lepe receno, co se ma s danymi daty udelat. 2. odkaz na XML s daty 3. cislo formulare, z ktereho data pochazeji Podle prvniho parametru se planovac rozhodne, co se ma dale provest. Pokud bude prvni parametr roven 1, bude nutne provest kontrolu dat. Potrebuji tedy, aby modul Tester mel funkci Proved_kontrolu s parametry: 1. XML data 2. cislo formulare Podle cisla formulare provede danou kontrolu. Tester bude pravdepodobne potrebovat i udaje typu seznam pracovniku, pracovist apod. Ty by mu mohla poskytnout nejaka funkce planovace (pokud by vse melo jit pres planovac a nechci, aby spravce databaze volaly i jine moduly). Planovac se podle navratove hodnoty rozhodne co dal. Pokud kontrola probehla v poradku, vse ulozi do databaze se spravnym priznakem a zavola se fce formularnika Vse_OK, ktera zobrazi stranku s informaci, ze vse probehlo v poradku. Pokud doslo pri kontrole k nalezeni nejake chyby, bude treba opet volat formularnika. Mozna by bylo dobre nejprve ulozit data do nejake tmp tabulky. Zavola se tedy nejaka funkce Zobraz_form s parametry: 1. XML data, kde jsou oznacena data vyplnena spravne (spatne) 2. cislo formulare Funkce zobrazi dany formular s predvyplnenymi spravnymi daty. Navic upozorni na chyby, ke kterym doslo v predchozim vyplneni. Po doplneni formulare se opet vola forms.php?action=zpracuj_form&id= ... , viz vyse. Vyse bylo zmineno, ze data se do databaze musi ulozit se spravnym priznakem (atributem). Ty jsou prevzaty z puvodniho Caddisu a jsou celkem tri. Uvadim citaci z dokumentace: Zaznamy bez jakehokoliv atributu muze editovat, mazat a nastavovat jim priznak verifikovani pouze opravnena osoba pracoviste nebo fakulty. Zaznamy s klicem, ktere nemaji zadny jiny atribut, muze mazat a editovat kdokoliv, kdo zná klic zaznamu, nebo opravnena osoba pracoviste nebo fakulty. Nastavovat priznak verifikovani u takovych zaznamu muze pouze opravnena osoba pracoviste nebo fakulty. Zaznamy s priznakem verifikovani muze mazat a editovat pouze opravnena osoba pracoviste nebo fakulty. Nastavovat priznak uzamceni u takovych zaznamu muze pouze opravnena osoba fakulty. Zaznamy s priznakem uzamceni muze editovat, mazat a rusit jim priznak uzamceni jen opravnena osoba fakulty. Shrnuto a podtrzeno: Vlozite-li zaznam bez klice, uz se k nemu nedostanete. Vlozite-li zaznam s klicem, muzete jej jeste vymazat nebo opravit, dokud vam to neznemozni opravnena osoba pracoviste nebo fakulty. Jste-li opravnena osoba pracoviste, muzete mazat a editovat zaznamy, ktere patri vasemu pracovisti a znemoznit manipulaci s temito zaznamy lidem, kteri je poridili (presunutim zaznamu mezi verifikovane - tim se nastavi priznak verifikace). Jste-li opravnena osoba fakulty, muzete mazat a editovat vsechny zaznamy, znemoznit (a opetovne umoznit) manipulaci s temito zaznamy opravnenym osobam pracovist (nastavenim ci zrusenim priznaku uzamceni). Vstup pres modul import ci startovac (mail) bude fungovat obdobne. Planovac po kontrole zavola funkci formularnika Generuj_form_klic (to, ze vstup nebyl z formulare, muze poznat podle specialniho cisla formulare, ktery dostava planovac za parametr). Funkce dostane od planovace XML data po kontrole a cislo formulare, ke kteremu data patri. Funkce vytvori a formular (predvyplni ho) a nejaky klic. Obe se ulozi a klic se vrati planovaci. Ten ho muze napr. pres startovac poslat zpet (uz v podobe odkazu na stranku, kterou pak pujde zobrazit takto forms.php?action=key?id=klic) Pokud byla data v poradku vytvori se OK stranka. Jinak nastava situace, ktera je popsana vyse. Vyhledavani Na hlavni strance Caddisu bude odkaz na formular na vyhledavani (ten se zobrazi stejne jako jine formulare, nebot bude mit vlastni id). Po vyplneni a odkliknuti se zavola fce planovace Vyzadej_data s parametry: 1. akce, ktera se provede. V tomto pripade search (dale napr. editace) 2. cislo formulare 3. data (id dat), v tomto pripade search string Funkce provede prislusnou akci (vyzada data od db) a ty vyplni do prislusneho formulare, prip. vytvori stranku s vysledky hledani. Ta se pote zobrazi. V pripade vyhledavani se tedy zobrazi stranka s vysledky hledani. Podle priznaku se zaznamy rozdeli na verifikovane a neverifikovane. Normalni uzivatel muze dale pracovat pouze s neverifikovanymi zaznamy, pokud u nich pri vyplnovani zadal klic. Zaznamy muze po zadani klice smazat (zavola se funkce planovace Proved_krok s prvnim param. rovnym 2) nebo je muze editovat (opet po zadani klice). Pro editaci se zavola fce Vyzadej_data s prvnim param. editace. Ta vyzada prislusna data od spravce databaze a zavola funkci formularnika Zobraz_form, cimz se dostavam do zname situace. Nasledujici veci se tykaji opravnene osoby pracoviste. 1. zmena hesla a dalsich informaci Odkaz na toto opet na hlavni strance. Pristup vyzaduje login a heslo. Po kliknuti se zavola fce planovace Vyzadej_data(editace, ...) 2. pokud bylo na formulari s vyhledavanim zaskrtnuta opravnena osoba pracoviste, bude opet zadan login a heslo. V tomto pripade jsou ve vysledcich hledani aktivni pouze zaznamy, ktere patri pod dane pracoviste. Opravnena osoba je muze editovat (Vyzadej_data(editace, ...)), smazat (Proved_krok(2, ...). Fce v tomto pripade vymaze zaznam z databaze) a nastavovat priznak verifikace (Proved_krok(3, ...). Nastavi v databazi u daneho zaznamu priznak verifikace. Zaznam se presune mezi verifikovane.). Nasledujici veci se tykaji opravnene osoby fakulty (knihovnik). Na hlavni strance bude odkaz na stranku urcenou pouze pro opravnenou osobu fakulty. Pristup bude umoznen pouze po zadani loginu a hesla. 1. zahajeni sberu Zavola se funkce planovace Zahajeni_sberu. Bude inicializovat databazi apod. 2. pozastaveni a opetovne povoleni sberu Potreba funkce, ktera bude provadet toto. Po pozastaveni sberu je ve hre pouze opravnena osoba fakulty. 3. zobrazit seznam neverifikovanych casopisu Otazka, kde budou ulozeny (v souboru, v databazi). Pokud budou ulozeny v databazi, zavola se fce Vyzadej_data(seznam_cas, ...). Ta zobrazi seznam aktivnich polozek, ktere predstavuji jednotlive casopisy. Ty bude mozno po kliknuti editovat (fce Vyzadej_data(editace, ...). 4. pridani noveho pracoviste forms.php?action=showform&id= 5. pridani noveho pracovnika fakulty Obdobne predchozimu pripadu. 6. editace zaznamu pracovnika fakulty Vyzadej_data(editace, ...) 7. uzamceni/odemceni verifikovanych zaznamu Buttony na strance vysledku vyhledavani u kazdeho zaznamu. Kliknuti vede na volani fce Proved_krok(4, ...), ktera uzamceni/odemceni provede. 8. export Zobrazi se nejaky formular, kde se vyplni parametry exportu (do ceho apod.). Formular se zpracuje funkci Export planovace, ktera bude volat prislusne funkce modulu Export. Spravce databaze by mel poskytovat tyto nasledujici funkce. 1. fce na ulozeni zaznamu (v XML) Variantou by byl update zaznamu 2. fce na vyhledavani podle retezce 3. fce na smazani zaznamu 4. fce na inicializaci databaze (pro zahajeni sberu) 5. fce na nastaveni (pripadne cteni) jednotlivych hodnot (priznaku v db apod.)