[Grok-dev] Re: An untapped area..?

Martijn Faassen faassen at startifact.com
Wed Jan 23 06:15:53 EST 2008

Sebastian Ware wrote:
> 23 jan 2008 kl. 06.49 skrev Jeff Shell:
>> The area that I'm unsure of is what happens when someone grows beyond
>> what Grok makes easy. Because very few things stay small and simple
>> for long.
> I agree with the essence of your post. In fact, Jeff, you pointing me in 
> the right direction is the reason why I got into Grok in the first 
> place... I was looking at Turbo Gears, Pylons, Django but decided that 
> they were dead ends compared to what I saw in the Grok/Zope3/Zodb combo.
> My impression (I am only a simple user) is that since Grok differs from 
> plain Zope 3 in that all the configuration is done in the code and thus 
> maintaining several customised installations thus requires you to build 
> several applications. But that's it. You still retaing the same 
> flexibility and scalability.
> In other words, the case of the small application that grows big isn't 
> the issue, but rather the case of the big application that goes 
> customised on multiple sites.

Customization can be done with Grok, depending on the patterns you're 
take. That is, you can write an extension to a core application that 
customizes that core application. You can plug in new content objects, 
add or override views (if you use skins), supply a different local 
utility, and so on. I've for instance been writing an application that 
has multiple deployments with a different set of content objects in each.

As Sebastian says, one thing ZCML does allow and Grok doesn't (yet) is 
the choice *not* to include a piece of ZCML and instead provide your 
own. That is, you could do it - not include a Grok-using package's ZCML 
and instead provide your own ZCML, but that'd be a bit weird. I'd like 
there to be a way for an application developer to tag components using a 
directive and then have some way to only have components with certain 
tags be registered. Note though that I think there are a *lot* of 
alternative customization possibilities besides this one that Grok does 

We shouldn't forget that Grok *is* Zope 3. It's just Zope 3 with a 
different configuration layer that is hopefully easier to work with.



More information about the Grok-dev mailing list