Friday, July 06, 2007

Me Grok SchoolTool!

I'm getting ready to head off to Vilnius for a week to attend EuroPython and an associated SchoolTool development sprint. One thing I'm particularly excited about is talking to the developers of Grok about how we might use it with SchoolTool in the future.

Grok is kind of a friendly wrapper around the Zope 3 framework, from which SchoolTool is built. Zope 3 has proven to be a difficult beast to master, and rather less popular than we would have hoped when we started. Basically, the past few years have seen a big trend toward "convention over configuration" (pioneered by Ruby on Rails) as a means of streamlining web development. Zope 3 is a couple years older than RoR, and chose to emphasize explicit, flexible configuration. The problem isn't that Zope 3 doesn't work. It does work and is well suited for complex tasks. Think Boston.com, not Ta-da List. But Zope 3's developer base is limited.

Grok applies the agile aesthetic of Ruby on Rails or Django to Zope 3. The results are very promising, especially since Zope still has a few aces in its hand, like the Zope Object Database, which eliminates the need for object relational mapping entirely.

If we can work out how to mix Grok modules into SchoolTool, we'll vastly lower the bar for creating SchoolTool extensions and make it much easier for people to contribute. Right now, it is simply too hard to do SchoolTool development for all but the deepest Zope gurus, but I think Grok might give us a chance to save our bacon and build a broader community.

No comments: