Once again, the new workshop format produced an easygoing, fun and educational experience.
Of course, it didn't hurt that Kevin Dangoor (creator of TurboGears) and Mark Ramm (author of the TurboGears book) spent a lot of time with us. Most of Sunday, Kevin walked through a tutorial containing the newest features of TurboGears: SQLAlchemy and the Genshi templating engine.
The group was small but dedicated; I probably had the least TurboGears experience and several people were working on commercial apps. Two had extensive experience. Because it was a small group, we typically went to lunch and dinner together and conversations continued. I found the whole thing to be very valuable, and would consider doing another in Ann Arbor just to have Kevin as a resource. However, I might do it at a time when the weather is more attractive, and Mark Ramm has expressed a strong interest in doing something in Crested Butte, which is always nice.
Although you can still use SQLObject and Kid, Genshi is an improved templating engine over Kid. SQLAlchemy is a pretty amazing design. It hides the underlying database less than SQLObject does, and this may be the same kind of issue as not being able to hide the network when writing networked applications. In SQLAlchemy, you need to explicitly start a session. What's amazing is that all the changes you make during that session are kept in some kind of parse tree, and then when the session ends SQL is created on-the-fly to produce a single, optimal SQL statement for that particular sequence of changes. I found this idea pretty mind-blowing. SQLAlchemy is also significantly more powerful, in general.