While we're on the subject transactions and external things..... Products that modify external data should seriously consider implementing transaction protocols themselves even if the external thing they are accessing is not transaction aware. IMO, it's much easier to implement error recovery within a transaction framework than at the application level. I believe that the LDAP adapter takes this approach so that LDAP changes aren't saved unless the ZODB transaction commits. Jim -- Jim Fulton mailto:jim@digicool.com Python Powered! Technical Director (888) 344-4332 http://www.python.org Digital Creations http://www.digicool.com http://www.zope.org Under US Code Title 47, Sec.227(b)(1)(C), Sec.227(a)(2)(B) This email address may not be added to any commercial mail list with out my permission. Violation of my privacy with advertising or SPAM will result in a suit for a MINIMUM of $500 damages/incident, $1500 for repeats.