Napisałem niedawno prościutki silnik do ankiet internetowych. W jednym
pliku definiuje się całą zawartość ankiety: podział na ekrany wizarda,
listę pól do wypełnienia i typy danych (na razie liczba całkowita
i tekst). Na podstawie tej definicji generuje się skrypt SQL który
zakłada bazę danych (z tabelami słownikowymi). Potem skrypt CGI napisany
w Pythonie wyświetla formularze, sprawdza ich poprawność i na koniec
zapisuje wynik do bazy danych (PostgreSQL).
Gdyby pisać obsługę takiego wizarda i zawierać jego logikę w kodzie,
wtedy jedna zmiana jakiegoś pola powoduje konieczność modyfikacji kodu w
wielu miejscach (i modyfikacji bazy danych). Tutaj wpisuje się nowe pole
w jednym miejscu i reszta odbywa sie automatycznie.
Oczywiście nie przewidujemy zmiany zestawu pól w połowie zbierania
danych... :-)
Silnik jest naprawdę bardzo prosty, ale może komuś się przyda. Licencja GPL.
Strona projektu: http://sourceforge.net/projects/insuren
Plik można ściągnąć stąd:
http://prdownloads.sourceforge.net/insuren/insuren-0.1.tar.gz?download
Pozdrawiam!
Maciej