OK, I am very new to Zope so I might be sending this user on a wild goose chase without meaning to. I hope those who are more experienced will jump in and correct me if I'm wrong; because it is certainly not my intent to do harm. I believe that this Zope Product may give you the flexibility you are looking for. It is called "GroupUserFolder" and is a group user tool for Zope. I am working with it at this time in a similar situation, where I have Divisions, Units and Users to keep track of. I'm not far enough along in my efforts however to say with certainly that it will be the answer to your problem. You can find this product at: http://ingeniweb.sourceforge.net/Products/GroupUserFolder/ HTH; Paul --------------[Original Message]-------------------------- Date: Mon, 22 Sep 2003 17:24:08 +0800 From: Roman Bogoyev <roman@maths.uwa.edu.au> Subject: [Zope] people structuring To: zope@zope.org Message-ID: <3F6EBFB8.3040501@maths.uwa.edu.au> Content-Type: text/plain; charset=us-ascii; format=flowed Hello, Being new to zope, I'm having trouble wrapping my brain around how to structure people objects in our dept. Perhaps this is a common modelling problem which someone has done before: We have people, and people may have many different roles. So for example, a person can be a lecturer and also a fire warden. Now each person has common properties, and then more specific ones as a lecturer or fire warden. So I create a container for common persons, and then containers for lecturers and containers for fire wardens. Each is its own class, with its own properties. Now with my brain still full of relational data base concepts, I use each object's id as a key, so to look up lecturer Joe's telephone number, I say in the context of lecturer, joe.people.joe.telephone which is very ugly and path dependent.... furthermore, if Joe the lecturer has a specific phone number then I want that, not Joe the person's number. Another way could be to have a getTelephone() method and use aquisition, but again, that would be structure dependent - all lecturers and firewardens would have to live in containers within the People container. So can an object 'inherit/acquire' another object's properties without that object being a subclass of the other? Should I forget this altogether and use ZCatalogues? Is there something really obvious staring me in the face? Thanks for any pointers. Roman.