<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" id="owaParaStyle"></style><style type="text/css"></style><style type="text/css"></style>
</head>
<body fpstyle="1" ocsi="0">
<div style="direction: ltr;font-family: Courier New;color: #000000;font-size: 10pt;">
There's a ton of reviews/comparisons out there, only a google away.
<div><br>
</div>
<div><br>
<div style="font-family: Times New Roman; color: #000000; font-size: 16px">
<hr tabindex="-1">
<div id="divRpF755037" style="direction: ltr;"><font face="Tahoma" size="2" color="#000000"><b>From:</b> Doug Hellmann [doug.hellmann@dreamhost.com]<br>
<b>Sent:</b> Tuesday, July 16, 2013 1:45 PM<br>
<b>To:</b> OpenStack Development Mailing List<br>
<b>Subject:</b> Re: [openstack-dev] [Change I30b127d6] Cheetah vs Jinja<br>
</font><br>
</div>
<div></div>
<div>
<div dir="ltr">Great, I think I had the Mako syntax mixed up with a different templating language that depended on having a DOM to work on.
<div><br>
</div>
<div>Can someone put together a more concrete analysis than "this is working" so we can compare the tools? :-)<br>
<div class="gmail_extra"><br>
</div>
<div class="gmail_extra">Doug<br>
<br>
<div class="gmail_quote">On Tue, Jul 16, 2013 at 12:29 PM, Nachi Ueno <span dir="ltr">
<<a href="mailto:nachi@ntti3.com" target="_blank">nachi@ntti3.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex; border-left:1px #ccc solid; padding-left:1ex">
Hi Doug<br>
<br>
Mako looks OK for config generation<br>
This is code in review.<br>
<a href="https://review.openstack.org/#/c/33148/23/neutron/services/vpn/device_drivers/template/ipsec.conf.template" target="_blank">https://review.openstack.org/#/c/33148/23/neutron/services/vpn/device_drivers/template/ipsec.conf.template</a><br>
<br>
<br>
<br>
2013/7/16 Doug Hellmann <<a href="mailto:doug.hellmann@dreamhost.com" target="_blank">doug.hellmann@dreamhost.com</a>>:<br>
<div class="HOEnZb">
<div class="h5">><br>
><br>
><br>
> On Tue, Jul 16, 2013 at 9:51 AM, Daniel P. Berrange <<a href="mailto:berrange@redhat.com" target="_blank">berrange@redhat.com</a>><br>
> wrote:<br>
>><br>
>> On Tue, Jul 16, 2013 at 09:41:55AM -0400, Solly Ross wrote:<br>
>> > (This email is with regards to <a href="https://review.openstack.org/#/c/36316/" target="_blank">
https://review.openstack.org/#/c/36316/</a>)<br>
>> ><br>
>> > Hello All,<br>
>> ><br>
>> > I have been implementing the Guru Meditation Report blueprint<br>
>> > (<a href="https://blueprints.launchpad.net/oslo/+spec/guru-meditation-report" target="_blank">https://blueprints.launchpad.net/oslo/+spec/guru-meditation-report</a>),<br>
>> > and the question of a templating engine was raised. Currently, my<br>
>> > version of the code includes the Jinja2 templating engine<br>
>> > (<a href="http://jinja.pocoo.org/" target="_blank">http://jinja.pocoo.org/</a>), which is modeled after the Django<br>
>> > templating engine (it was designed to be an implementation of the<br>
>> > Django templating engine without requiring the use of Django), which<br>
>> > is used in Horizon. Apparently, the Cheetah templating engine<br>
>> > (<a href="http://www.cheetahtemplate.org/" target="_blank">http://www.cheetahtemplate.org/</a>) is used in a couple places in Nova.<br>
>> ><br>
>> > IMO, the Jinja template language produces much more readable templates,<br>
>> > and I think is the better choice for inclusion in the Report framework.<br>
>> > It also shares a common format with Django (making it slightly easier<br>
>> > to write for people coming from that area), and is also similar to<br>
>> > template engines for other languages. What does everyone else think?<br>
>><br>
>> Repeating my comments from the review...<br>
>><br>
>> I don't have an opinion on whether Jinja or Cheetah is a better<br>
>> choice, since I've essentially never used either of them (beyond<br>
>> deleting usage of ceetah from libvirt). I do, however, feel we<br>
>> should not needlessly use multiple different templating libraries<br>
>> across OpenStack. We should take care to standardize on one option<br>
>> that is suitable for all our needs. So if the consensus is that<br>
>> Jinja is better, then IMHO, there would need to be an blueprint<br>
>> + expected timeframe to port existing Ceetah usage to use Jinja.<br>
>><br>
>> Regards,<br>
>> Daniel<br>
><br>
><br>
> The most current release of Cheetah is from 2010. I don't have a problem<br>
> adding a new dependency on a tool that is actively maintained, with a plan<br>
> to migrate off of the older tool to come later.<br>
><br>
> The Neutron team seems to want to use Mako<br>
> (<a href="https://review.openstack.org/#/c/37177/" target="_blank">https://review.openstack.org/#/c/37177/</a>). Maybe we should pick one? Keep in<br>
> mind that we won't always be generating XML or HTML, so my first question is<br>
> "how well does Mako work for plain text?"<br>
><br>
> Doug<br>
><br>
>><br>
>> --<br>
>> |: <a href="http://berrange.com" target="_blank">http://berrange.com</a> -o- <a href="http://www.flickr.com/photos/dberrange/" target="_blank">http://www.flickr.com/photos/dberrange/</a><br>
>> :|<br>
>> |: <a href="http://libvirt.org" target="_blank">http://libvirt.org</a> -o-
<a href="http://virt-manager.org" target="_blank">http://virt-manager.org</a><br>
>> :|<br>
>> |: <a href="http://autobuild.org" target="_blank">http://autobuild.org</a> -o-
<a href="http://search.cpan.org/~danberr/" target="_blank">http://search.cpan.org/~danberr/</a><br>
>> :|<br>
>> |: <a href="http://entangle-photo.org" target="_blank">http://entangle-photo.org</a> -o-
<a href="http://live.gnome.org/gtk-vnc" target="_blank">http://live.gnome.org/gtk-vnc</a><br>
>> :|<br>
>><br>
>> _______________________________________________<br>
>> OpenStack-dev mailing list<br>
>> <a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a><br>
>> <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
><br>
><br>
><br>
> _______________________________________________<br>
> OpenStack-dev mailing list<br>
> <a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a><br>
> <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
><br>
<br>
_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>