January 5th, 2006
In March I’m going to give a talk at the ‘LinuxForum‘ conference about TurboGears.
The “LinuxForum” is a yearly Open Source conference in Copenhagen, Denmark.
This venue has been growing steadily for the last nine years, so I’m a bit unsure about the type of audience I’ll get. There use to be ponytails and debian t-shirts everywhere, but the suit to geek ratio has changed in the last couple of years.
I’ll try Spolsky’s show don’t tell approach. The idea is to highlight thinks like identity, i18n, CRUD, widgets, the ToolBox, etc, in the context of a non-trivial application.
I plan to steal some time to work on the demo app (and the presentation) next month.
Posted in Python, TurboGears | 2 Comments »
December 14th, 2005

Last week Dan added support for Google translations to the I18n package, temptation was too high, so now admi18n has it’s own “I’m feeling lucky” doohickey =).
Other updates to admi18n include merging of recollected strings into existing catalogues and automatic text extraction from kid templates.
Now, get some popcorn and enjoy this screencast called ‘Pardon my French’, starring admi18n and the I18n package.
Posted in Python, TurboGears | 4 Comments »
December 11th, 2005

ModelDesigner has been well recieved, but several people missed a ‘graph view’, someone in the list pointed me to Ondra Zara amazing ‘WWW SQL Designer’.
Keeping in touch with the “don’t reinvent the wheel’ mantra, I have implemented a graph view for ModelDesigner borrowing much of his code to do the visualization part.
Give it a whirl =)
Posted in Python, TurboGears, JavaScript, MochiKit | 14 Comments »
December 6th, 2005

Dan Jacob has been doing a great job lately by adding internationalization support to TurboGears.
I have piggyback on his effort and created a ToolBox app that can help you localize your next TurboGears project.
It is called admi18n and will ship with the TurboGears’ ToolBox as part of the 0.9 release.
Meanwhile relax and take a look at this slides, showing how to localize an app in 10 steps using admi18n.
Posted in Python, TurboGears | 5 Comments »
November 30th, 2005
A fellow developer was teasing me about my involvement with TurboGears,because we have had discussions in the past about webframeworks of which I always have been quite sceptic about. All our discussions tend to degenerate into a Emacs vs. Vi war, but that’s another story.
Vim rules btw. =)
I tried to explain him that TG is not a framework but a Megaframework.
Hu?. That didn’t helped much.
Later I have been thinking that the best way to explain TG’s approach is to compare it to your regular linux or BSD distribution.
There are a lot of distros out there, each with it’s own profile or raison d’ĂȘtre.
Desktop, web servers , file servers, embedded systems, highly secure system, gaming machines, handheld devices, development environments, etc.
A successful distribution manage to choose and glue seamlessly the best components available to leverage the distro’s main vision.
If a key component is missing or one of the chosen components doesn’t live up to the standards, the distro will sponsor those projects
financially or by contributing code, sparring or support.
But the distro’s main proposition is to deliver a cohesive experience relaying on best of breed projects.
Seen it in that light, TurboGears is kind of a ‘Web Application Development System Distribution’.
The Ubuntu of webframeworks =)
Posted in Python, TurboGears | 6 Comments »
November 27th, 2005

TurboGears 0.9 will ship with at webbased administration app called ToolBox.
Among the tools available right now there is a model browser (CatWalk), a webbased Python interpreter, a Widget browser and now a model designer.
The ModelDesigner is a code generation tool for SQLObject models.
Watch a short introductory screencast here.
Or play with an online demo.
I’m have still some cleanup to do before I add it to the repository, furthermore it needs support for saving designs and table creation.
Enjoy.
Posted in Python, TurboGears, CatWalk, JavaScript, MochiKit | 12 Comments »
November 18th, 2005

This evening I start working on TurboGear’s ticket nr. #112. I have already been playing with a design for ToolBox which at least people on the developers list seams to like.
The icons in the opening screen are from the Tango Desktop Project.
Their Icons are really nice, and they have a well though sets of guidelines there as well.
For the ToolBox mockup I took the battery-low icon an edited it a bit to use it for CatWalk.
Kind of dull but it convey the ’something to do with data’ idea.
But hey, I can draw. How difficult can it be to create a sexy icon for CatWalk?
I started to draft some ideas and ended with a model, not exactly a SQLObject model but a model
nevertheless.

I scanned my drawing and fired up illustrator. I was quite happy with the final result.
During all this, in the back of my head I knew that the design wouldn’t work as an icon.
I haven’t event read the Tango guidelines because I knew they will kill my darling.
Reality came back knocking, when I try to save the artwork as SVG. Illustrator CS choked on it, and barfed a message saying:
“Failed to complete the requested action due to an error, wrong path”
Posted in Python, TurboGears, CatWalk | Comments Off
November 16th, 2005
This week I’ve been going trough CatWalk’s tickets slated for the TurboGears 0.9 release.
Some of the issues resolved are:
- hitting return in edit or add view generates an error
- adding support for accesskeys for save and cancel
- load default values in the add view
- implement support for inheritance
- deal with ForeignKeys which default to none
- when deleting an instance delete any related join the instance had
Closing tickets it’s by itself a gratifying experience, but could sound improve this?
I love Mail.app’s swoosh sound when a mail had been send.
Or Finder’s paper crunching when the trash had been emptied.
High-end car makers spend time designing the sound of a closing door and
the iPod’s tine speaker inside solely purpose is to give that reassuring clicking feedback
when you scroll the wheel.
But web app’s are all mute- at least the ones I use and know.
Is silence a proactive design choice or just something we don’t take into account (yet) when crafting the
user experience?
Posted in OS X, TurboGears, CatWalk | 2 Comments »
November 11th, 2005
Kevin introduced today ‘TurboGears’s Widgets’ to the TG.mailing_list. I think this is going to be one of the coolest features for the upcoming release!
I couldn’t resist the itch to play with it right away, so I implemented a simple grid widget and a subclass of it, a dataGrid widget.
The dataGrid is nice, it takes a reference to a model and an object name as parameter.
To display a dataGrid in an application, import the reference to the widget in your controller file,
instantiate the widget and pass it to your template.
This is my sample controller file:
import turbogears
import model
from turbogears import controllers
from turbogears.widgets.grid import DataGrid
class Root(controllers.Root):
@turbogears.expose(html="freshtest.templates.welcome")
def index(self):
return dict(grid=DataGrid('test',model=model,view='Author'))
In your kid template just call the widget’s insert method:
<body>
<h2>Data Grid test</h2>
<div py:replace="grid.insert()"></div>
</body>
</html>
The resulting page looks like this:

The DataGrid use CatWalk to pull the object data, that means that you can configure your view in CatWalk (visible columns, label name for foreignKeys, order of columns, etc) and get that for free in your application.
Posted in Python, TurboGears, CatWalk | 6 Comments »
November 9th, 2005
If you hate David for raising the bar for how projects should market themselves due to his 15m intro video, you can start to stuff small voodoo dolls of Joel, because Aardvark’d the movie is out for sale.
Trying to keep with the times I updated CatWalk’s front page with some small ‘feature highlights’ clips.
How many degrees separate Kevin Dangoor and Kevin Bacon?.
I haven’t looked it up yet, but Kevin Dangoor shure knows this Hollywood business. His second movie TurboTunes had premiere a couple of days ago. It’s a new TurboGears tutorial showcasing some of the new features coming in TurboGears 0.9.
Posted in Python, TurboGears, CatWalk | No Comments »