Název projektu: ZK-DL
Domovská stránka projektu: http://zk.datalite.cz
Zadání
Projekt ZK-DL rozšiřuje open-source framework ZK http://zkoss.org, který řeší prezentační vrstvu J2EE aplikací. Tento MVC framework se zaměřuje zejména na snadné použití a rychlý vývoj klientské části webové aplikace. Kromě velmi pokročilých komponent a jejich jednoduchého nasazení nabízí například jednotné chování ve všech prohlížečích a umožňuje oproštění od JavaScriptu.
Rozšíření ZK-DL přichází například s komponentami, které dovolují pracovat s extrémně velkým množstvím dat či například s anotacemi, které lze používat v controlleru a které výrazně zpřehledňují výsledný kód a urychlují vývoj.
V rámci předmětu OSP bude implementována podpora pro dlouhotrvající operace. Jelikož HTTP protokol je založen na komunikaci dotaz-odpověď, tak ve chvíli, kdy server odpověď generuje příliš dlouho, tak uživatelé nemají žádnou odezvu. Většina z nich je potom nervózní, zkouší operaci zavolat znovu a to ve výsledku způsobuje další zátěž serveru a uživatelé stejně nemají žádnou odezvu.
Poslední verze ZK přichází s událostí EchoEvent http://www.zkoss.org/zkdemo/event/echo_event, která umožňuje odložení volané operace. Ve chvíli, kdy server přijme žádost o vykonání dlouhotrvající operace, tak odešle na klienta odpověď a informaci o echo eventu. Klient odpověď zpracuje a informuje uživatele o tom, že daná operace bude probíhat dlouho. Uživateli se zobrazí dialogové okno s výzvou k počkání a s tlačítkem storno. Klient následně automaticky odešle druhý požadavek, který server zpracuje jako původně požadovanou dlouhotrvající operaci.
Implementovanou podporu bude zajišťovat anotace ZkLongOperation, která se bude vázat k metodě (event handler). Atribut cancelable bude určovat, zda-li lze danou operaci v jejím průběhu či musí uživatel čekat až do konce.
Přesný popis úkolu:
- implementovat anotaci ZkLongOperation využívající echo event
- umožnit zrušit probíhající operaci při nastavení cancelable true
- klient při obdržení události echo event uživateli zobrazí modální okno s výzvou k počkání a u cancelable s tlačítkem storno
Odkazy dokládající výsledky mé práce
- ZK fórum s dotazem, komunikace s komunitou
- Vyjádření vedoucího projektu k mým změnám (=otestování změn členem projektu)
- Dokumentace mé práce v dokumentaci projektu
- Repozitář s aktuálním stavem mé práce (shodný s projektovým repozitářem)
- Historie commitů v projektu - nelze filtrovat přímo mé commity (username xcemus)