July 7th, 2008 by Mark Ramm
I don’t have lots of definitive plans, but I expect that we’ll have a new TG2 release next Monday (the 14th.) And that we’ll have another preview a couple of weeks after that.
There are some tickets and milestones in the turbogears trac instance.
Preview 2 details
Some tickets will probably be added between now and Friday, when I intend to finish up whatever’s planned for Monday’s release. And the Preview-3 milestone is still very much in flux.
Preview 3 details
I’d love to see some work done on improving mime-type support, improving support for RESTful resources, and some further definition of what TurboGears 2 site components are going to look like.
How you can help:
If there’s something that you really want in a particular release, feel free to add a ticket (due to the very high volume of trac spam we’ve been receiving you do need to create an account before Trac will let you add a ticket!).
And if you’re up to it we always love patches attached to those tickets! :)
And of course if you’re up for working on existing tickets, we’ll be able to get more done more quickly and get 2.0 final out the door sooner.
July 7th, 2008 by Mark Ramm
It’s the framework maker’s job to make doing the right thing easy. I was reading an article this morning, and came across this quote:
The right thing should be the right thing partly because it’s easy and natural to do. If the right thing is unnatural, that is kind of an environment smell. It’s beyond a code smell. It’s telling you something.
– Rod Johnson (Founder of the Java Spring framework).
Which is another way of saying:
There should be one — and preferably only one — obvious way to do it.
– The Zen of Python
I think TurboGears is actually pretty good about making the right thing seem natural. Heck Bruce Eckel has said:
I think this is the first time a web framework’s functionality has been so obvious”.
But just because we’ve done a pretty good job in the past does not mean that we shouldn’t be working to do better. And there’s one area which has been bothering me a bit recently.
I want RESTful web services to feel more natural to write in TurboGears. The new TG2 lookup method allows you to use the URL as a way to instantiate a resource object and call methods on it, which is an important first step. We probably should also extend the object dispatch mechanism to call different methods based on HTTP verbs, which I think will help.
And of course in TG2 you can just use Routes to create more restful resources, but this feels a unnatural to some TG users who are very invested in object dispatch.
Either way, REST is something that is often (though not always) the right thing to do, and we need to make it so that it needs to feel natural to TG programmers.