Archive for November, 2007

One Python Per Child

The Michigan Unix Users Group will be hosting a talk on the one laptop per child laptop. Ivan Krstik will be doing the talk, and I saw him talk about the OLPC at PyCon 2007, and he was a huge hit talking to a packed out (500+ people) room. I’m flying back to michigan overnight tonight, and I’m hoping I’ll be able to make it out to the talk.

They are doing some fantastic things with Python in the One Laptop Per Child project.

ext.js + turbogears widgets == fun

Looks like somebody packaged up ext.js’s great javascript grid into a reusable turbogears widget. I’ve been using ext.js for a project, and I have to say that the grid is powerful, flexible, and easy to modify.

We’re doing some crazy drag and drop within grids, between multiple grids, and custom formated cells, and it was remarkably easy to get ext.js to do what we wanted. But, our app is very much a javascript client with a turbogears server backend, and that kind of application isn’t particularly conducive to widgets. But, it’s been great to have TurboGears automatically transform our python dictionaries, into the JSON we need for the data store

I’d love to have some better documentation of how to use turbogears and ext.js together because it really is easy and provides a fun way to build rich javascript based web clients.

TurboGears2 Sprint Results

The last TurboGears 2 sprint and the following mad coding rush, resulted in lots of good stuff, both for Pylons, and TurboGears 2. Now we have a usable tg2 package, hopefully we’ll be able to create some docs, polish a few things up, and get ready for a tg2 technology preview release in the next few weeks.

Pylons gets TurboGears style controllers:

Pylons also has a controller that lets you return a dictionary from your controller objects to get a “TurbGears like” development experience within Pylons itself. Not only that, we’ve added a controller to Pylons that allows you to object dispatch within Pylons. You create a route to your controller’s route method, and pass the rest of the URL to there. These new controllers should bring the Pylons and TurboGears development experiences closer together all by themselves.

Improved code re-use in TurboGears2:

The changes in Pylons also made it possible for us to share code for even more components, including object dispatch, and the @expose decorator. So the latest version of TurboGears 2 relies on the latest development version of Pylons, and makes use all the new stuff we just added, dramatically reducing the amount in TurboGears2 and increasing our shared code.

The TurboGearsController went from a couple hundred lines of code to less than a half dozen. ;)

This opens up space to for the TurboGears2 project to focus on some improvements to the generated project template, and on building pluggable application components on top of the TG2 core. There are components already in the works for project documentation, automatic CRUD interfaces, and hopefully these will be joined by things like reusable user registration tools, blogs, web based forums, and a whole host of re-usable components.

Right now, TurboGears and has very little documentation — but things are moving forward quickly on the code side, and I’m very committed to documenting everything we do, and I’m really excited about the next sprint this weekend.

Upcomming Sprint, November 10

We should be able to improve the documentation, the tg2 test infrastructure, and test suite, and possibly make some progress on things like automatic transactions, and user authorization, etc. If you’re interested and available to help out stick your name on the wiki and come and join us either at Stanford, or virtually on IRC, and we’ll see how much we can get done.