January TurboGears Sprint
I proposed a crazy scheme last week on the TurboGears mailing list, and it got some good responses, so now we’re committed to actually doing this thing. ;)
We will be hosting a TurboGears/Pylons/TurboGears2 sprint all around the world in January. There are locations in Colorado, Michigan, Germany already set up, and there’s interest in doing sprints in France, and England.
This sprint is scheduled for the 12th and 13th of January.
I’d also like to have a bit of a mini-sprint on the 5th of January to get organized and ready for the main event the following weekend.
TurboGears 2 already has a number of shiny new features:
- super-shiny web based interactive debugging tools
- web sessions, backed by DB, memcached, filesystem, or encrypted cookie storage
- controller level caching via a simple decorator, thanks to beaker backed data storage
- WSGI compliant goodness
- Object dispatch now allows for more RESTful stile resources, because you can now instantiate new objects based on URL data, and dispatch on arbitrary objects
- TurboGears 2 projects have improved internationalization via Babel
- You can now run multiple TurboGears 2 applications in a single process, which makes redirecting to SSL encrypted channels easier
Thanks to many innovations in Pylons, Paste, and other WSGI tools, TurboGears 2 is already very cool, and I think we have an opportunity to make it the most technicaly advanced of the new generation of “dynamic web frameworks.”
We already have a high-powered ORM that can load whole graphs of objects in a single query, automatically minimize the number of queries unnecessary to update large numbers of objects.
We’ll also have a shiny new automatic CRUD tool that is shaping up to be more flexible than anything else out there.
We haven’t yet measured performance differences, but several people have noticed that TG2 feels snappier under load.
But there’s still lots of little things to do:
- Setup authentication/authorization — reimplement some base Identity functionality as middleware, and write up some new require decorators.
- Clean up the paster-template so a quickstarted project is smaller and easier to understand.
- Create TG2 docs, and a better system for maintaining them
- Write sample applications, and file bug-reports on anything that doesn’t work
- Do code review, refactoring, and improvements on related projects
- Force TG2 to use Pylons new WebOb support
- Porting TG2 API docs to apydia and making a TG2 skin
- Doing some code review on Beaker
- Helping update the pylons web helpers
- Helping to get SQLAlchemy Migrations up to the level where we can include them as a default.
- Testing TurboMail with TG2
- Consider integrating transaction management middleware
As you can see, there will be big and small tasks for anybody at any experience level who’s willing to help. And it will be a good opportunity to look at how TG2 works, and get up to speed on the all the new technology.
![]()
It looks like there will be a lot of virtual sprinters and quite a few organized sprint locations. If you’re up for helping to make an “in person” sprint happen in your area, let me know and I’ll help out in whatever way I can.
If you have suggestions feel free to make them on the mailing list, if you can help out please sign up to attend the sprint on the wiki.