Loggerhead directions

Ian Clatworthy ian.clatworthy at canonical.com
Wed Mar 31 01:26:45 BST 2010


Hi all,

After I wrap up improving the Windows installer build process, I'm 
hoping to get more involved in Loggerhead development and maintenance. 
I'm sending out this email now though because I want to raise some 
topics for debate/discussion.

At this point, I expect my immediate priorities to be "make it faster 
and get it easier to deploy", i.e.:

1. Help review and land the dozen or so proposed branches.
2. Improve packaging so that Loggerhead becomes a standard part of our
    Windows (and OS X hopefully) installer.

I have some ideas on how to make Loggerhead more beautiful and more 
functional but they can come later. :-)

There's some *great* work going on in this space right now. In 
particular, John Arbash Meinel and Kapil Thangavelu have put together 
some branches that speed things up considerably. IIUIC, John's changes 
leverage recent improvements to bzrlib so, apart from maintaining 
backwards compatibility to earlier bzr versions, they are relatively 
straight forward. Kapil's branch[1] uses chameleon[2] templates instead 
of simpleTAL. As such, we need to discuss whether that's the best 
direction or not before we can land his changes.

More broadly, I'd like to get some feedback on the current technology 
stack under Loggerhead (simpleTAL, simplejson and Paste). In terms of 
templating languages, both Chameleon and Jinja2[3] are supposedly much 
faster than simpleTAL. I also understand that Ian Bicking is refactoring 
the core of Paste into WebOj. So looking forward, some options would be:

* switch to Jinja2 + simplejson + WebOj
* switch to repoze.bfg (which wraps WebOj and supports both
   Chameleon and Jinja2).

If we made such a switch, I'd suggest we keep the 1.17 branch on the 
current technology stack and start a "2.0" branch on the new stack.

Thoughts?

Ian C.

[1] https://code.edge.launchpad.net/~hazmat/loggerhead/speed-rules
[2] http://chameleon.repoze.org/
[3] http://jinja.pocoo.org/2/. Jinja2 is particularly interesting to me 
because it's the templating engine underneath Bazaar's documentation 
(Sphinx) and my new Windows installer scripts.



More information about the bazaar mailing list