My thoughts were that people are spread across our organisiation in different groupings, and may belong to more than one grouping. Other 'objects' may contain these groups eg: a unit object has one or more lecturers, as well as many students. A committee object has members etc. What I wanted was to find a way to keep to the object oriented spirit of zope/python and to be able to express things like
funCommittee.members.joe.shoeSize and mathsClass.lecturers.joe.shoeSize
where joe's shoe size is not a property of 'joe the lecturer' or 'joe the committee member' but of 'joe the person'. And wouldn't it be nice if for some reason joe's feet swelled during lecturing and had a different size, and mathsClass.lecturers.joe.shoeSize could return the correct shoeSize in this context! (Something similar to aquisition but not quite as Units may not be within the Person structure). Maybe I want a "Link Object" product where 'joe the lecturer' is just a link to 'joe the person' but with aquisition rules following the link heirarchy.
The above is probably mostly fantasy, so I'll investigate doing it with catalogues but don't know if it will be as pretty.
In Python products you can store references to existing objects, which would allow multiple locations for people, after a fashion. You might also want to look at something like mxmRelation, which allows many clever things in this sort of domain. There are also a host of "link-ish" products, like PortableHole, and others. (You might search past postings for portableHole to find comparables.) --jcc