Lorenzo Villiani to student pracujący pod moją opieką nad Kexi Web Forms - rozszerzeniem, a właściwie całą infrastrukturą dla Kexi, udostępniającą formularze bazodanowe poprzez zwykłą przeglądarkę internetową. W zamierzeniu ma stanowić narzędzie do tworzenia alternatywnego - bo internetowego - widoku bazy danych zbudowanej z użyciem Kexi.
Trochę historii. Po dwóch niepomyślnych próbach w tym roku udało się uzyskać grant Google Summer Of Code 2008 (GSoC). Wcześniej już próbowaliśmy ten sam temat, w tym z bardzo utalentowanym (nawet jeszcze nie studentem) z Polski, ale chyba brakowało szczęścia. Tym razem determinacja (i obecność przy głosowaniu kde-gsoc) się opłaciła
Nie bacząc na formalny rozkład jazdy GSoC, Lorenzo zaczął projekt wcześnie, co zresztą zalecałem, by nie było potem niepotrzebnego stresu. Według mnie to procentuje. Dziś jako uzupełnienie porzednich materiałów , opublikował wpis opisujący najnowsze wcielenie Kexi Web Forms, a przede wszystkim obrazujący je filmik.
Web Forms to nie tylko przeglądanie danych w postaci tabel. Dostępne są już wiele operacji CRUD na informacjach z bazy danych: prezentacja danych, aktualizacja, usuwanie i wstawianie nowych. Do zaprojektowania są jeszcze np. funkcje tworzenia nowych tabel oraz dodanie kontroli dostępu.
Web Forms do kontaktów z bazą danych korzysta wyłącznie z biblioteki (a jakże!) KexiDB, przez co nie ma ani jednej linii kodu specyficznego dla danego silnika bazodanowego. Dostępne są więc wszystkie bazy oferowane przez Kexi 2: MySQL, PostgreSQL, SQLite, MSSQL, Sybase, a nie ma też przeciwwskazań, by pośrednio nie były dostępne też źródła danych xBase, CSV oraz MS Access.
Do generowania fragmentów stron HTML stosowana jest prosta biblioteka google ctemplate. Web Forms, połączony z Kexi na zasadzie wtyczki, zawiera wbudowany serwer www (kopia prostego SHTTPD), co czyni z Kexi jeszcze bardziej ciekawy technicznie produkt.
(dostępny jest też filmik wysokiej jakości w formacie Theora, można go wyświetlić jako strumień poleceniem 'mplayer http://www.binaryhelix.net/KexiWebForms.ogv')
Nie bawiąc się w konserwatyzm, Web Forms mamy dostępne od razu w repozytorium KDE SVN (trunk/koffice/kexi/webforms/). Skrypty cmake w czasie kompilacji Kexi wykonują już także detekcję dostępności biblioteki google ctemplate. Kod SHTTPD, jako niewielki komponent, jest wciągnięty do katalogu koffice/kexi/3rdparty/.
Lorenzo zamierza też wkrótce m.in. dodać wyświetlanie kolumn typu BLOB z bazy, jeśli są obrazkami (obecnie je pomijamy). Do dalszych planów, już po GSoC, należy dodanie opcji obsługi "dorosłego" serwera - wtedy wtyczka mogłaby działać choćby jako moduł Apache.