Thanks to yuppie, trunk now allows us to use the ++add++<type>
traverser, which will look up an add view as an adapter on (context,
request, fti) with name equal to fti.factory.
This is good, but it does mean that those add views cannot be registered
with a <browser:page /> directive. Unfortunately, Five's browser:page
does quite a lot of stuff, from allowing a template to be specified, to
setting up class and attribute level security, to supplying a docstring
if required to allow publication.
In CMFDefault, we have some base classes (tied to formlib) and we do
manual security with a ClassSecurityInfo and InitializeClass(). This
feels like a step backwards to me, at least in Plone, where we encourage
people to use browser views with declarative (ZCML) security. It's
difficult to explain that add forms are "special" so that they need to
have manual security, explicit docstrings (for better or for worse), and
be registered as an <adapter />, not a <browser:page />.
Did we envisage a solution to this? How about a new <cmf:addview />
directive that mimics <browser:page />, but registers the
(context,request,fti) adapter? I could probably put that together if
people think it's a good idea.
Author of `Professional Plone Development`, a book for developers who
want to work with Plone. See http://martinaspeli.net/plone-book
Zope-CMF maillist - Zope-CMF@lists.zope.org
See https://bugs.launchpad.net/zope-cmf/ for bug reports and feature requests