Shane Hathaway wrote:
> Fernando Correa Neto wrote:
>> Adding new template engines to BFG require you to know python while in
>> GROK, it'd require you to grok grok first (which in would then
>> introduce the developer to ZCA) which is definitely a Zope3 thing.
> You hit on a point that I consider important.  One of the interesting 
> things about ZCML (and hence BFG) is it's easy for any Python developer 
> to write their own directives.  ZCML doesn't violate DRY, as I once 
> thought it did, because if you find yourself writing repetitive 
> directives, you can just create a custom directive in Python instead.
> Unfortunately, Grok obscures that simplicity.  It seems much harder to 
> add new kinds of decorators than it is to add new kinds of ZCML directives.

You're sure about that? I find it easier to write a new grokker (whether 
for a decorator or a more generic class grokker that looks for a base 
class) than a new ZCML directive (and I've done plenty of both).

The grok approach is unfamiliar at first, for sure, and could do with 
more documentation. But then so could the writing of ZCML directives. 
Grok (and martian) do have some really nice abstractions, including good 
testing support.

> The benefit of Grok's decorators is further diminished by the fact that 
> people who develop with Grok generally have to use ZCML anyway in order 
> to understand and extend the code Grok is built from.

I guess it depends on how deep you go, I suppose, but this is definitely 
something that will hit a certain group of people.


Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See

Repoze-dev mailing list

Reply via email to