While trying to implement the outcome of that zope3-dev discussion on pagelets being content providers, I noticed that the doc strings for IContentProvider talk about how content providers are to be looked up: They specify (informally) that content providers are discriminated by context, request, and view. Also, the documentation of the __parent__ attribute states that the parent is a view.
To my understanding, the interface should only specify how an object behaves, not how it is obtained. Moreover, I suspect that it might be enough to require the presence of a parent for the sake of the security context (as stated in the doc string) without specifying that it must be a view. The way it is now, a view whose parent is something other than a view can never be its own content provider. As an example, this includes pagelets. Unless this is a conscious design choice, IMHO the interface's documentation should be worded more liberally. -- Thomas _______________________________________________ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )