Rob Miller wrote:

in trying to get Plone working against the 1.6 branch i've come across some problems w/ the way that CMFDefault.File.File is working since the base classes have been reordered.

the biggest problem has to do w/ the default view lookup. when OFS.Image.File was the first base class, then that class's index_html method would be used as the default view. with PortalContent first, however, index_html is None. this causes ZPublisher to use __call__, but this then calls queryMethodId('(Default)') on the FTI, which returns index_html, which is still None. when i add CMF File objects in a Plone site and try to browse to them, i'm getting 404s; in a pure CMF site i get a notice that 'index_html' has an empty or missing docstring.

the other problem, not as big an issue, has to do with the comment that is immediately after the File class definition; it explicitly says that the base classes should not be reordered b/c this would cover up the id() method in the OFS.Image.File class. using getId() will always work, of course, and i'm not even sure that covering the id() method will actually break anything, but it probably deserves a little bit of investigation and, if all is well, we should remove the misleading comment.

Hi Rob,

I don't know the whole story behind this but I see two possible

1. define 'index_html' to point to the one from File, i.e.

   (in the class def)
   index_html = OFS.Image.File.index_html

   that way bypassing the one from PortalContent without touching
   the order of inheritance.

2. Alternatively, set the '(Default)' method alias to something
   more sensible, e.g., 'file_view'

Would these work-arounds at least resolve the failing look-up?

How do others deal with this?


Zope-CMF maillist  -

See for bug reports and feature requests

Reply via email to