Hi All, Sorry for long message.
I have a simple Zope product which is an ObjectManager descendant and contains a database connection and a ZSQL method. It creates these objects during its initialisation. >>> app.inventory <Inventory instance at b7300f20> >>> app.inventory['db-connection'] <Connection instance at b724a980> >>> app.inventory.list <SQL instance at b724a8f0> Everything is OK except one thing. A problem appears when I go to the manage_main page of the ZSQL method. It can't find any database connection using the SQLConnectionsIDs function from the ${ZOPE_HOME}/lib/python/Products/ZSQLMethods/SQL.py module. The function is called from ${ZOPE_HOME}/lib/python/Products/ZSQLMethods/dtml/edit.dtml To investigate the problem I have added some debugging output statements to this function: def SQLConnectionIDs(self): """Find SQL database connections in the current folder and above This function return a list of ids. """ ids={} have_id=ids.has_key StringType=type('') LOG('ZSQL', INFO, 'self.aq_chain: %s' % self.aq_chain) LOG('ZSQL', INFO, 'self.id: "%s"' % self.id) while self is not None: if hasattr(self, 'objectValues'): for o in self.objectValues(): try: LOG('ZSQL', INFO, 'o.id: %s' % (o.id())) except: LOG('ZSQL', INFO, 'o.id: %s' % (o.id)) if (hasattr(o,'_isAnSQLConnection') and o._isAnSQLConnection and hasattr(o,'id')): id=o.id if type(id) is not StringType: id=id() if not have_id(id): if hasattr(o,'title_and_id'): o=o.title_and_id() else: o=id ids[id]=id if hasattr(self, 'aq_parent'): self=self.aq_parent else: self=None ids=[ (item[1], item[0]) for item in ids.items() ] ids.sort() LOG('ZSQL', INFO, 'ids: %s' % (ids)) return ids The output shows that SQLConnectionsIDs is called in wrong context. 2005-08-11T10:57:31 INFO(0) ZSQL self.aq_chain: [<Application instance at b73483b0>, <RequestContainer instance at b767ccb0>] ------ 2005-08-11T10:57:31 INFO(0) ZSQL self.id: "<bound method Application.id of <Application instance at b73483b0>>" ------ 2005-08-11T10:57:31 INFO(0) ZSQL o.id: acl_users ------ 2005-08-11T10:57:31 INFO(0) ZSQL o.id: Control_Panel ------ 2005-08-11T10:57:31 INFO(0) ZSQL o.id: temp_folder ------ 2005-08-11T10:57:31 INFO(0) ZSQL o.id: session_data_manager ------ 2005-08-11T10:57:31 INFO(0) ZSQL o.id: browser_id_manager ------ 2005-08-11T10:57:31 INFO(0) ZSQL o.id: error_log ------ 2005-08-11T10:57:31 INFO(0) ZSQL o.id: standard_error_message ------ 2005-08-11T10:57:31 INFO(0) ZSQL o.id: standard_template.pt ------ 2005-08-11T10:57:31 INFO(0) ZSQL o.id: index_html ------ 2005-08-11T10:57:31 INFO(0) ZSQL o.id: standard_html_header ------ 2005-08-11T10:57:31 INFO(0) ZSQL o.id: standard_html_footer ------ 2005-08-11T10:57:31 INFO(0) ZSQL o.id: virtual_hosting ------ 2005-08-11T10:57:31 INFO(0) ZSQL o.id: inventory ------ 2005-08-11T10:57:31 INFO(0) ZSQL ids: [] Any help is greatly appreciated. Thanks, -- Timur Izhbulatov OILspace, 26 Leninskaya sloboda, bld. 2, 2nd floor, 115280 Moscow, Russia P:+7 095 105 7245 + ext.205 F:+7 095 105 7246 E:[EMAIL PROTECTED] Building Successful Supply Chains - One Solution At A Time. www.oilspace.com _______________________________________________ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )