[Zope3-dev] Re: Proposal, free views
Philipp von Weitershausen
philipp at weitershausen.de
Sun Sep 23 17:52:33 EDT 2007
Roger Ineichen wrote:
> Please review this proposal. I'll implement it
> shortly if nobody has objections. We need it for
> our work here at the Foliage sprint.
>
> If you have objections, please tell me what
> you think is not well done and tell me your
> ideas to solve the problem in another way.
>
> http://wiki.zope.org/zope3/FreeViews
I don't understand the name of this proposal. In fact, I have no idea
what it's supposed to mean. I think the proposal should've been named
something like
"Conventions for splitting up component and view registrations"
(Btw, the reST formatting is messed up).
> btw,
> the proposed implementation does not affect existing
> projects and their setup. It also does not affect
> egg based projects. It only offers us a additional hook
> which allows us to load component configuration from
> packages without the built in views.
In the proposal you write:
"""
Views or let's say browser pages and it's derivates are based on a
specific layout pattern. The default views are using macros and slots.
This is not allways what we like to use.
This proposal describes a way to make the usage of such built in views
optional.
"""
I understand the motivation. But I don't agree with the solution. I've
you're not ok with the existing views, then you currently have two options
* Simply *ignore* that they exist. Zope actually has facilities for
doing this on a technical basis. Simply don't inherit your skin from
IDefaultBrowserLayer, and voila, you won't get any pre-configured views
at all.
* If you're interested in replacing a few select views with your own
implementations, you can use ZCML overrides. Or use layers (which is a
similar solution to the previous one).
That said, I do wish there was a way to specifically disable ZCML
directives. We've been talking about this for a long time, actually. I
think the biggest use case is for disabling event handlers. But
naturally it could be used to disable other things, too.
So, if the two options I gave above won't work for you, I think we
should rather look into making it possible to disable certain ZCML
directives, or even disable the execution of certain ZCML files altogether.
My reservations toward to proposal aside, you also write:
"""
But if we like to load only the component related configuration without
any view configuration, we could use
<include component="foo.bar />"
"""
Why do we need to change ZCML? Isn't
<include package="foo.bar" file="component.zcml" />
sufficient? Let's not make ZCML any more complicated or magical that it
already is.
--
http://worldcookery.com -- Professional Zope documentation and training
More information about the Zope3-dev
mailing list