If I register a local utility in the site manager and this utility extends Persistent, does this guarantees that any data I set in this object will be persisted?? The class for this utility is pretty simple: class UsersItems(PersistentDict): implements( IUsersItemsUtility ) def getAllItemsForUser(self,uid): #Recuperamos uma referĂȘncia para a tool portal_catalog objid_list = self[uid] objlist = [] catalog = getToolByName(self.context, 'portal_catalog') for objid in objid_list: obj = getToolByName( self.context, 'reference_catalog').lookupObject( objid ) objlist.push(obj) return objlist def pushItemForUser(self,uid,item_id): #Checa se a entrada no dic. existe. if not self.has_key(uid): self[uid] = PersistentList() self[uid].append(item_id) I registered it using a Extension/install.py method, the code was: def setup_usersitems_utility(self): portal = getToolByName(self, 'portal_url').getPortalObject() sm= portal.getSiteManager() is_already_registered = [u for u in sm.getUtilitiesFor(IUsersItemsUtility)] if not len(is_already_registered): useritems = UsersItems() try: sm.registerUtility(component=useritems,provided=IUsersItemsUtility) except: raise The registration is succesful. I then get a reference to it and feed it some data: myutil = zope.component.queryUtility(IUsersItemsUtility) myutil.pushtemForUser('marcelo',333) However, this data does not get persisted. This code was entered in a debug session of Closeau. If I come back in another session, I can't see this data I just entered. What am I doing wrong? Thanks.