[Framework-Team] Re: [Plone-developers] moving description to a viewlet

Wichert Akkerman wichert at wiggy.net
Sun May 18 15:58:14 UTC 2008

Previously Martin Aspeli wrote:
> -1
> This is a fairly substantial (if subtle) change. As soon as you do this, 
> everyone who's got a custom view template that follows the conventions 
> (i.e. tons of third party products and custom content types) will start 
> to see the description twice. That's unacceptable and will require 
> everyone to rewrite.

Fair enough.

> Turning a viewlet off for one type only is also a bit awkward. You end 
> up having to customise for the given context type with a viewlet that 
> renders nothing.

Hmm hmm. Perhaps there is an abstraction or hook missing here. It's a
shame the viewlet mechanism does not have an available flag like
portlets do. Still, you could add that to the __call__ method.

> I'd rather just advise people to hide the documentDescription div with 
> CSS if they want it gone site-wide, and to customise if they want it on 
> a per-template basis. It's way easier to customise a template and remove 
> or move a div than it is to find out where the damned viewlet came from. :)

You'ld have to customize every view template for every content type in
your site. That can be quite painful. For a site I'm working on now that
would easily be over 20 separate templates. Creating/overriding a single
viewlet is much simpler and much more maintainable.

> To make this argument a bit more general - viewlet managers are 
> primarily slots in which generic UI can be plugged in. For example, if 
> you have a tagging solution and want to show a tag cloud for all 
> supported types, you could insert that as a viewlet without having to 
> customise every template. Ditto with the way Iterate displays messages 
> depending on whether the IWorkingCopy marker is set.

I want something just as general. I want that bit of metadata (which the
description really is, and if Plone didn't show it in so many places I
would move it to a different fieldset as well) to go away from my
content views everywhere.

> An object's description is intimately tied to its schema. A "description 
> renderer" probably isn't a useful concept on its own. The decision on 
> whether and how to render the description is part of the view logic of 
> the object in question and should thus, IMHO, remain closely linked into 
> the view template, not indirected away to a place where it's harder to 
> manipulate.

I just feel that the description is not part of the content. It is
metadata: it describes what the object is about. As such it does not
have business appearing in view templates, especially not in the way
it does now. That is a mistake Plone made long ago, and something we
should fix at some point.


Wichert Akkerman <wichert at wiggy.net>    It is simple to make things.
http://www.wiggy.net/                   It is hard to make things simple.

More information about the Framework-Team mailing list