Hi, I have got stuck with inheritance and properties while writing a simple task tracking product as a way to learn Zope (using a brand new 2.2.0 with no other products). My product AdminTools currently has two ZClasses, Folder and Task. The ZClass AdminTools:Folder inherits from CatalogAware and ObjectManager. Folder has a property sheet 'data', with properties 'title' (string) and 'description' (text). The Folder class has methods for displaying info about the folder and the objects it contains. I have tried to create another ZClass, AdminTools:Task that inherits from AdminTools:Folder that adds some task tracking functionality and uses/overrides the AdminTools:Folder methods for displaying objects. Task also has a property sheet named 'data' with properties 'title' (string), due date (date) and owner (string). I tried to add a final property 'description' (text) to AdminTools:Task, but get this error saying it is already in use: Invalid property id, description. It is in use. Traceback (innermost last): File D:\Dev\ZopeTestbed\lib\python\ZPublisher\Publish.py, line 222, in publish_module File D:\Dev\ZopeTestbed\lib\python\ZPublisher\Publish.py, line 187, in publish File D:\Dev\ZopeTestbed\lib\python\Zope\__init__.py, line 221, in zpublisher_exception_hook (Object: Traversable) File D:\Dev\ZopeTestbed\lib\python\ZPublisher\Publish.py, line 171, in publish File D:\Dev\ZopeTestbed\lib\python\ZPublisher\mapply.py, line 160, in mapply (Object: manage_addProperty) File D:\Dev\ZopeTestbed\lib\python\ZPublisher\Publish.py, line 112, in call_object (Object: manage_addProperty) File D:\Dev\ZopeTestbed\lib\python\OFS\PropertySheets.py, line 427, in manage_addProperty (Object: Traversable) File D:\Dev\ZopeTestbed\lib\python\OFS\PropertySheets.py, line 235, in _setProperty (Object: Task) Bad Request: (see above) I don't understand why I can add the 'title' property to Task but not 'description'. Both 'title' and 'description' are defined in the inherited class Folder, so they are being treated differently for some reason. A little while ago, I had the same error while trying to create a property named 'summary'. At the time, I thought it was because of a clash with the summary() method of CatalogAwareness. But now I'm confused. To conclude: (i) What is going on and how can I fix it? (ii) When using a ZClass as a base class, do instances inherit any properties, or do they just get access to the base class's methods? If ZClasses do inherit properties from parent ZClasses, how do I reach them via the property sheets? (iii) Is there a simple way to find out what methods and properties an object has? I would like to see what it defines, what it inherits and what it acquires. _______________________________ Stephen Simmons HealthArena B.V. phone +31 20 486 0555 mobile +31 6 1505 3086 stephen.simmons@healtharena.net