[Zope-CMF] Re: [dev] type infos and 'add' actions - a proposal

Martin Aspeli optilude at gmx.net
Mon Jul 21 17:04:10 EDT 2008


Hi Yuppie,

> This is a proposal for implementing one part of what we discussed in 
> this thread:
> http://mail.zope.org/pipermail/zope-cmf/2008-July/027500.html
> 
> Using add views instead of folder_factories for creating content makes 
> it necessary to provide some kind of menu items for them. In CMF menu 
> items are usually represented by 'actions'.
> 
> 
> Type infos already define most data required for actions:
> 
> - 'id': can be reused
> 
> - 'title': can be reused; if we want action titles like 'Add File ...' 
> instead of 'File' we can change that in the template
> 
> - 'description': has already the same purpose as in actions
> 
> - 'icon': 'content_icon' is a path relative to the site root, but we can 
> use the same icon and compute the required absolute path
> 
> - 'available': can be computed using allowType of the container
> 
> - 'allowed': can be computed using isConstructionAllowed
> 
> Missing are these properties:
> 
> - 'category': can be hardcoded, e.g. as 'folder/add'
> 
> - 'url': requires a new type info property, I propose to use 'url_expr' 
> to keep it in sync with normal Action objects

I wonder whether addview_url or something similar would be more 
appropriate, since "the url of a type" is somewhat ambiguous.

> - 'visible': can be hardcoded as True
> 
> 
> So instead of adding separate 'add' actions we can extend the type info 
> classes, making them implement IAction as well.

How about making them adaptable to IAction instead of directly 
implementing it? That sounds cleaner than trying to bend some of the old 
properties.

> listActions of the types tool would include type infos if they provide 
> IAction *and* have an url specified.

Apart from the two comments above, a great +1. :)

Martin

-- 
Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book



More information about the Zope-CMF mailing list