yuppie wrote:
Hi Miles!

Miles Waller wrote:

I have a question about aliases in the types tool that I'm hoping some can answer pretty easily.

In the management screen, there's a line which says:

For backwards compatibility there is also a '(Default)' method:
    Calls index_html or __call__, depending on the class

For some old type information in a project here, the guess aliases process assigns the alias '(Default)' with the method (Default). This in turn creates an attribute error, as there is no method '(Default)'.

Without seeing the traceback I can't tell what's exactly going wrong here. DynamicType.__before_publishing_traverse__ should do this right. There might be other places where queryMethodID is used and '(Default)' not handled correctly.

Here's the traceback:

Traceback (innermost last):
  Module ZPublisher.Publish, line 114, in publish
  Module ZPublisher.mapply, line 88, in mapply
  Module ZPublisher.Publish, line 40, in call_object
  Module Products.CMFCore.PortalContent, line 101, in __call__
AttributeError: (Default)

The URL called is /myfolder/mytype and the (Default) alias has the entry (Default). Making this blank solves the problem.

What I want to know is, is this an error (i.e. if the alias (Default) also points to a method (Default), should this just be ignored) or is there some use for this behaviour? I'd like to fix this for my type infomration, but don't want to mask anything clever.

_guessMethodAliases is not very clever. If index_html of your types is not None you just can replace '(Default)' by 'index_html'. If the __call__ method has no complex logic you might be able to replace '(Default)' by a real method. This would be much saner than using the '(Default)' backwards compatibility hack.

My problem is that I have a lot of sites with wrongly-guessed aliases, and no time to go through and reset them! I think I'll just patch my types to fall back to the old way of finding views if they encounter a method (Default) as well as if the method is blank for the moment, and deal with trying to work them out properly later.

Thanks for the help,


Zope-CMF maillist  -  Zope-CMF@lists.zope.org

See http://collector.zope.org/CMF for bug reports and feature requests

Reply via email to