-----BEGIN PGP SIGNED MESSAGE-----
Martijn Faassen wrote:
> Rocky Burt wrote:
>> On Wed, 2006-20-12 at 12:52 +0100, Martijn Faassen wrote:
>>> Inspired by Kid (in turn among others inspired by ZPT), the main
>>> template language of TurboGears, written by the people who also created
>>> Trac, and it seems to be getting traction. TurboGears among others is
>>> going to adopt it, but also things like the creator of SQLAlchemy (and
>>> Myghthy) spending time optimizing it, etc. It's close enough to ZPT to
>>> be palatable to me, and has some nice features for reuse.
>>> If we're going to get out of the server business we could also consider
>>> getting out of the template language business. :)
>> To be quite frank, the templating language doesn't really mean a whole
>> lot to me. I could use just about anything.
> Even if it's slow, doesn't offer reuse functionality and is supported by
> just me, say? :)
> It matters to me especially when we're talking about reuse. Template
> languages differ significantly in their approach. I also prefer to pick
> something that has a certain momentum and a certain performance.
> As a side topic, I'm also slowly coming to the conclusion that tales
> path expressions are a waste of time and effort. We spent a lot of time
> making sure that we can express something as a path expression, and a
> Python expression would be just as easy to read and explain. We're not
> stopping people from writing more complicated python expressions anyway,
> and there are real cases where they're needed. A very different
> templating mechanism where there is no Python at all and data is always
> pregenerated before rendering is still attractive for other reasons, but
> in the ZPT case I've become less and less convinced it's worth the hassle.
That is effectively the usecase for pushpage, which uses ZPT but binds
*no* top-level names other than those supplied by the caller.
> The nice thing then about something like Genshi is that instead of:
> I can simply write:
Somebody still has to set up the top-level names; unless that is done
by "trusted" code, you have security issues to consider.
> Python expressions in TAL are cumbersome in part because they're simply
> hard to type, not because they're necessarily *complicated*.
I don't find them hard to type: I find them hard to *maintain*, becuase
they are "arbitrarily complicated" in the sense that they have access to
an almost unlimited universe of objects: it is this access which
seduces people into using them to implement application logic.
If they can't "pull" in the whole ZODB, then their intrinsic complexity
goes down, and they can be used for doing real "presentation logic", as
they were originally intended.
>> I would certainly support
>> having Zope getting out of the template language business.
- -1. I don't mind making it easy to add other TLs, but don't have any
urge to abandon ZPT (or even DTML).
> But I think
>> it would be import for Zope to include a default templating language (if
>> that's kid, genshi, whatever).
> Hm, with 'getting out of the web server business' I at least always
> meant that we should still offer a default web server. We should also
> offer a default templating language. We should just not have to maintain
> that web server or templating language ourselves anymore. "Getting out
> of the X business" doesn't mean we don't evaluate and choose X. It just
> means we stop maintaining and developing X all by ourselves.
I'm actually -1 on "getting out of the server business" as well, at
least in terms of the Zope2 ZServer: I don't see it as requiring much
maintenance, and there *are* folks in the community (I can think of five
or six, at least) who know Medusa / ZServer well enough to go forward.
I *don't* know the Z3 version of ZServer well, however.
Tres Seaver +1 540-429-0999 [EMAIL PROTECTED]
Palladion Software "Excellence by Design" http://palladion.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v220.127.116.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
-----END PGP SIGNATURE-----
Zope3-dev mailing list