[Zope3-Users] Re: View or content provider

Philipp von Weitershausen philipp at weitershausen.de
Mon Jul 23 11:12:41 EDT 2007

Daniel Nouri wrote:
>> I'm sure that 
>> your concepts work nicely for you there.  But maybe they are not the most
>> practical way to define my kind of page composition use case, which needs
>> to be highly customizable at runtime (vs. zcml time).
> Component registrations can be done at runtime easily in a local component
> registry. Also, there is nowhere in the viewlet manager API a requirement
> that says that the viewlets have to be looked up using adapters. In fact, for
> a list of articles, I would not use adaptation in the same way the default
> implementation does it.

Well, the way I define "viewlet" is that it's a content provider that's 
looked up by another content provider (the viewlet manager) using the 
adapter registry. That's why, after all, it's a *view*let.

Portlets are also content providers, they're simply looked up 
differently, which distincts them from viewlets.

>>> As to plone.portlets, I think they are heavily overengineered. Last time
>>> I looked at its API, it was heavily bloated. This might be a result of
>>> being a Plone package though, I do not know, but I would certainly
>>> implement them much slimmer.
>> Maybe the reason is that viewlets are not the best starting point for
>> Plone's use case?
> I think they are. I would just implement the API very differently. I just wish
> the Plone developers would have asked us for comments when using Zope 3
> technologies.

Martin Aspeli and I were in close context when he implemented 
plone.portlet. While I too was a bit overwhelmed of the amounts of 
machinery it ended up using, I also acknowledge the various complicated 
use cases that it's trying to solve. In the end, most of the machinery 
is there to support TTW configurability. I find this part is generally 
underestimated, both in effort and in LOC (probably because we have so 
little of it on Zope3 these days).

plone.portlet seems to enjoy some success, though. Geir Baekholt told 
me, for example, that their new version of LinguaPlone is using portlets 
to render content that's commont to all translations of a document (e.g. 

http://worldcookery.com -- Professional Zope documentation and training

More information about the Zope3-users mailing list