Malthe Borch wrote:
Currently views are registered as components providing zope.interface.Interface; this is unfortunate since other kinds of components may use the same specification, namely (context, request).

An example of this is ``IAbsoluteURL``; it clashes with the resources view*.

In the words of Christian Theune: "I think it looks like one should never ask for adaptions to Interface."

I suggest we then register views as components providing ``zope.component.IView``; browser views should provide ``zope.publisher.interfaces.browser.IBrowserView``.

IBrowserView is IMHO not the right one. Anything, including absolute_url and standard_macros, can be a browser view. But browser views aren't necessarily *publishable*. In other words, Zope 3 won't resolve URLs like http://localhost:8080/standard_macros or http://localhost:8080/absolute_url. (Zope 2 will publish such URLs which is quite terrible).

Browser pages (as opposed to browser views) are components that *are* publishable on the other hand. That's because they provide IBrowserPublisher (IBrowserPage extends this interface). That's why I think IBrowserPage is the right interface to adapt to. But perhaps it should be something else, though either way it should be based on IBrowserPublisher.

Zope-Dev maillist  -
**  No cross posts or HTML encoding!  **
(Related lists - )

Reply via email to