Notes on Sean Deely Woods Tcl2008 presentation:
What is Festnet?
- Online volunteer registration
- Contact database
- Field scheduler
- Attendance and evaluation
Started as a Clipper database ~1990. Around 2001 morphed into a website.
"It's not how complicated it looks on the outside, it's whether or not someone can use it."
Festival takes place in a wheat field. Power not always available. Last year did a lot of the administration on the
Factoids:
- Written in TclHTTPd
- Originally targeting MySQL
- Ported to sqlite in 2008
Underneath using Taohttpd. Extends Tclhttpd to export object methods as URLs. Bundles records as "containers". Auto-Generates UI elements based on database schema.
Lessons learned:
- Women over 30 can't seem to remember their own birth year
- The folks who print badges will mint 4 duplicates at random for "John Smith", while at the same time think "William Jones", "William Jones Jr." and "William Jones III" are all the same person
- Always leave the Gender field nullable
- And editable for that matter...
- Leave a system running long enough and people will find "new features" all the time
Taohttpd URLs:
- Objects register a URL with the Object_Url command
- The object resolves what to do with a URL using an exposed method, httpdMarshallArguments
Object_Url:
- Mimics Tclhttpd's Direct_Url
- Arguments: virtual object {inThread 0}
- Virtual: The URL (eg /home)
- ...
httpdMarshallArguments:
- Arguments: suffix cgilist
- suffix: Portion of the domain after the object's url
- cgilist: Any data given in a form
- ...
Code available at http://www.etoyoc.com/tao