[Grok-dev] Re: issue #226555: viewlet.url() and how to solve it

Martijn Faassen faassen at startifact.com
Thu May 8 13:22:54 EDT 2008


Hey Kevin,

Thanks for your feedback!

Kevin Smith wrote:
[snip]
> Thinking out loud, it may be possible in a viewlet to map the 'view'
>  namespace directly to the parent view and then supply a 'viewlet' 
> namespace that maps directly to the viewlet.

This sounds attractive. It of course makes sense to have 'view'
still map to a view, and a viewlet will always
have a view available. It will work for the refactoring a view into 
viewlets use case, and it makes it clear whether you're accessing 
methods on a view or a viewlet.

+1 for exploring this: a 'view' namespace in the template which points 
to a real view, and a 'viewlet' namespace in the template that points to 
the viewlet. I think in this case it would make sense to establish a 
'view' attribute in the viewlet class as well.

One thing we need to check is how Zope 3's viewlets support does it now. 
What does 'view' mean in a viewlet's template in straight Zope 3? We 
shouldn't necessarily follow this approach, but we should at least be 
aware of what it's doing.

>>> * Related question: during the sprint someone expressed the
>>> desire for a way to construct URLs to individual viewlets. How
>>> does that relate to this issue? Or should we ignore this for now?
>>> 
>> 
>> Ignore this for now; viewlets don't really have URLs (yet) in Grok
>>  anyway.
> +1, this is muddying up the issue and it is really a separate case. I
>  propose implementing a new type of viewlet to signify such extended
>  functionality, like ViewletPage or something.

Alternatively a directive to do such exposure. Though for the general
caching scenario where you want to use a caching server like Varnish and
do re-integration later, you'd need URLs for all viewlets. Anyway,
another topic.

Regards,

Martijn



More information about the Grok-dev mailing list