[Grok-dev] Re: An untapped area..?
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