for 1: http://www.zopelabs.com/cookbook/1021216110 for 2: Thankfully, "Lucas Hofman":http://mail.zope.org/pipermail/zope-cmf/2001-September/009832.html provided a script to show how this can be fixed:: def fixMembers (self): '''fixes ownership of the home areas''' import string users = self.acl_users Members = self.Members r=[] for i in Members.objectIds(): try: u = users.getUserById(i) m = getattr (Members, i) except: pass else: if u is not None: u = u.__of__(users) m.changeOwnership(u, recursive=1) r.append(i + " changed") else: r.append(i + " not changed") return string.join (r,'\n')