Hi all I've encountered a very simple problem with manage_changeProperties as defined in Zope-2.6.1-src/lib/python/OFS/PropertyManager.py The signature is: def manage_changeProperties(self, REQUEST=None, **kw): and the docstring promises: Change object properties by passing either a mapping object of name:value pairs {'foo':6} or passing name=value parameters However, if you call something.manage_changeProperties({a:b}), then REQUEST will be {a:b} and the final check in manage_changeProperties will be true, and manage_propertiesForm will be returned: if REQUEST: message="Saved changes." return self.manage_propertiesForm(self,REQUEST, manage_tabs_message=message) Now, manage_propertiesForm expects REQUEST to be a proper REQUEST object and fails with a KeyError on URL1, when it is a simple dictionary. manage_changeProperties as defined in Zope-2.6.1-src/lib/python/OFS/PropertySheets.py doesn't suffer this problem, since it returns MessageDialog, which doesn't expect anything beyond the keyword parameters it's passed. Either Zope-2.6.1-src/lib/python/OFS/PropertyManager.py should be taught to distinguish between {a:b} and REQUEST, or the docstring should be changed to: Change object properties by passing either the REQUEST, or passing name=value parameters Should I file an issue for this? Regards, -- Jean Jordaan http://www.upfrontsystems.co.za