The _need__name__ protocol assigns a name to DTMLMethods implicitly
so that ExtensionClass can find the correct <name>__roles__ attribute of the method's class. However it was discovered that this protocol has a flaw: if a DTMLMethod is bound to multiple names, there is no way for default__class_init__ to tell which name is the right one. This change adds code that detects the condition and makes the name explicit in all places where it occurs in the Zope core. There are likely products out there that have the same condition so they will need a small correction. For now this is a warning but it might be appropriate to later make the condition an error.
Showing
Please register or sign in to comment