Návrh API pro caddis 2
Formulářový dozorce
- SubmitForm(handle,SablonaFormulare,PredvyplneneHodnoty,SeznamPripominek,OUT VyplneneHodnoty,OUT Odklepnuti):NavratovyKod
- Vytvoří se HTML-stránka s formulářem a předvyplněnými hodnotami a načtou se
vyplněné hodnoty, které se zapíší do výstupního XML dokumentu, který se
odešle do vstupně-výstupního kanálu "handle".
- Návratová hodnota rozlišuje tyto situace:
- uživatel odpověděl a něco pozměnil,
- uživatel to odklepl jak to bylo,
- uživatel nereagoval,
- uživatel si vybral některý z odkazů na stránce - je třeba vrátit i který ...
Tato volba slouží k tomu, aby se např. doplnil prostor pro
další autory, aby se objevila nabídka s autory s uživatelem
spolupracujícícmi, etc.
- Připomínky se píší potenciálně ke každému okénku - jsou-li nějaké.
V případě, že se připomínka týká skupiny položek, píše se v záhlaví
té skupiny (nebo je to lepší na konci?).
Pokud se jedná o připomínky dlouhého dosahu (mezi skupinami položek),
uvedou se buď v záhlaví formuláře, či na jeho konci.
Kontrola
- CheckForm(TestovaciUloha,FormularKTestu,SeznamPripominek):NavratovyKodTestu
- NewTest(TestovaciUloha,SpecifikaceZaznamu/Formulare):status
- RegisterSubtest(TestovaciUloha,TestovaciPodprogram,Popis):status
- Registrace dílčího testu do testovací sady (celkového testu vyplněného formuláře); tento přihlašovaný test je pak proveden kdykoliv se provádí uvedená testovací sada
- DeregisterSubtest(TestovaciUloha,TestovaciPodprogram):status
- DeleteTest(TestovaciUloha):status
- Zruší uvedený test, pokud již k němu nejsou registrovány žádné další dílčí testy
- ListTests
- Vypíše všechny testy a jejich podúlohy
- TestDetails(TestovaciUloha):status
- Vypíše podrobný popis dané testovací úlohy - název, pro jaký je formulář,
seznam dílčích testů a atributů, které testuji ...
Plánovač
- Run(task,handle):status
- Spustí v komunikačním kanále "handle" úlohu "task"
- Návratová hodnota může být využita úlohou (tedy tímto modulem), která si
nechala zpracovat danou podúlohu.
- Kill(task/handle)
- úloha by měla jít zabít i jiným modulem ...
- Time
- Pokud se uživatel neozve během přednastaveného počtu volání tohoto
"splachovadla", je jeho úloha "zastřelena".
Archivář
- StoreForm(handle,FormHandle,DataToStore,state,OUT ItemHandle):status
- Uložení obsahu formuláře - ať již z důvodu "meziuložení", nebo "odeslání"
- GetFormData(Item,FormHandle,OUT FormData):status
- načtení dat formuláře
Dosud známé nedostatky výše uvedeného návrhu
- Nejsou uvažována bezpečnostní omezení - asi by bylo vhodné k některým
voláním přidat informaci o zabezpečení.