RE: [Zope-dev] [Proposal] Drop Mount.py from ZODB 3.5
[Jim Fulton] > Tim, you should have noted, for the benefit of Zope users, that the itent > was to move this module into Zope, where it belongs. If I knew I was sending the msg to zope-dev, I would have . That is, this message was _intended_ to go to zodb-dev, but I got fooled into accepting my mailer's auto-completion suggestion after typing the "zo" part. There's more about the Zope issues on the Collector issue: http://www.zope.org/Collectors/Zope/1800 > Given Shane's comments, it would be much better, for Zope 2.9, to > reimplement Zope mounting using ZODB's new multi-database support. Yes, and the Collector issue mentioned that. If Shane doesn't beat me to it, I'll add his migration outline to that issue. (And thank you, Shane! It sounds like the right plan to me -- but what do I know about Zope mounting <0.5 wink>.) ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] [Proposal] Drop Mount.py from ZODB 3.5
Shane Hathaway wrote: Tim Peters wrote: http://www.zope.org/Collectors/Zope/1800 describes some of the code problems with Zope's current way of mounting databases. ZODB 3.4 (still) has a Mount.py module, unused and untested by ZODB. Jim and I were both surprised today to discover that Zope (2.8) still imports it, so we can't drop it for ZODB 3.4 (Zope 2.8, and the ZODB 3.4 it uses, are both in beta). We'd like to continue getting non-ZODB code out of the ZODB project, so would like to drop Mount.py from ZODB 3.5. Are any of zodb-dev's "standalone" ZODB users making use of Mount.py? I would be surprised by that too, since Mount.py relies on other code (like Acquisition) that's already been removed from the ZODB 3.3 and 3.4 lines. I've been surprised before, though ... ZODB/Mount.py is dangerous. In the past few years, Jim and I have discovered necessary constraints on mounted databases, and ZODB/Mount.py has not been updated to reflect that thinking. The main problem is that ZODB/Mount.py does not bind each mounted connection with a specific root database connection; instead, mounted connections are free to be used with any root database connection. The result is that _v_ attributes that cross mount boundaries turn insane. I solved the connection binding problem when I wrote the DBTab product, but the solution required an ugly monkey patch. Later, DBTab got folded into Zope, but not the way I expected. By the time I saw the integration, it was the wrong time to fix it. (I don't blame anyone for this mistake; DBTab was complex and I didn't explain well enough how it worked.) So now there's a mess to clean up. I suggest: 1. Products/TemporaryFolder is the only code in Zope that uses ZODB/Mount.py. Before the Zope 2.8.0 release, put a copy of ZODB/Mount.py in Products/TemporaryFolder and change the import statement to import that copy instead. I assume we are too late to affect 2.8. 2. With the last Zope reference gone, remove ZODB/Mount.py from ZODB 3.3, 3.4, and 3.5. If standalone ZODB authors really depend on it, they can get their own copy and change their own import statements. 3. Update Products/ZODBMountPoint/Mount.py to use whatever method ZODB 3.5 wants to use for mounting databases, removing the ugly ConnectionPatches. > 4. Change TemporaryFolder to use Products/ZODBMountPoint/Mount.py and finally remove Products/TemporaryFolder/Mount.py. Yup, but I think this needs to be a project for Zope 2.9. Jim -- Jim Fulton mailto:[EMAIL PROTECTED] Python Powered! CTO (540) 361-1714http://www.python.org Zope Corporation http://www.zope.com http://www.zope.org ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] [Proposal] Drop Mount.py from ZODB 3.5
Tim Peters wrote: http://www.zope.org/Collectors/Zope/1800 describes some of the code problems with Zope's current way of mounting databases. ZODB 3.4 (still) has a Mount.py module, unused and untested by ZODB. Jim and I were both surprised today to discover that Zope (2.8) still imports it, so we can't drop it for ZODB 3.4 (Zope 2.8, and the ZODB 3.4 it uses, are both in beta). We'd like to continue getting non-ZODB code out of the ZODB project, so would like to drop Mount.py from ZODB 3.5. Are any of zodb-dev's "standalone" ZODB users making use of Mount.py? I would be surprised by that too, since Mount.py relies on other code (like Acquisition) that's already been removed from the ZODB 3.3 and 3.4 lines. I've been surprised before, though ... Tim, you should have noted, for the benefit of Zope users, that the itent was to move this module into Zope, where it belongs. Given Shane's comments, it would be much better, for Zope 2.9, to reimplement Zope mounting using ZODB's new multi-database support. Jim -- Jim Fulton mailto:[EMAIL PROTECTED] Python Powered! CTO (540) 361-1714http://www.python.org Zope Corporation http://www.zope.com http://www.zope.org ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
Re: [Zope-dev] [Proposal] Drop Mount.py from ZODB 3.5
Tim Peters wrote: > http://www.zope.org/Collectors/Zope/1800 > > describes some of the code problems with Zope's current way of mounting > databases. ZODB 3.4 (still) has a Mount.py module, unused and untested by > ZODB. Jim and I were both surprised today to discover that Zope (2.8) still > imports it, so we can't drop it for ZODB 3.4 (Zope 2.8, and the ZODB 3.4 it > uses, are both in beta). > > We'd like to continue getting non-ZODB code out of the ZODB project, so > would like to drop Mount.py from ZODB 3.5. Are any of zodb-dev's > "standalone" ZODB users making use of Mount.py? I would be surprised by > that too, since Mount.py relies on other code (like Acquisition) that's > already been removed from the ZODB 3.3 and 3.4 lines. I've been surprised > before, though ... ZODB/Mount.py is dangerous. In the past few years, Jim and I have discovered necessary constraints on mounted databases, and ZODB/Mount.py has not been updated to reflect that thinking. The main problem is that ZODB/Mount.py does not bind each mounted connection with a specific root database connection; instead, mounted connections are free to be used with any root database connection. The result is that _v_ attributes that cross mount boundaries turn insane. I solved the connection binding problem when I wrote the DBTab product, but the solution required an ugly monkey patch. Later, DBTab got folded into Zope, but not the way I expected. By the time I saw the integration, it was the wrong time to fix it. (I don't blame anyone for this mistake; DBTab was complex and I didn't explain well enough how it worked.) So now there's a mess to clean up. I suggest: 1. Products/TemporaryFolder is the only code in Zope that uses ZODB/Mount.py. Before the Zope 2.8.0 release, put a copy of ZODB/Mount.py in Products/TemporaryFolder and change the import statement to import that copy instead. 2. With the last Zope reference gone, remove ZODB/Mount.py from ZODB 3.3, 3.4, and 3.5. If standalone ZODB authors really depend on it, they can get their own copy and change their own import statements. 3. Update Products/ZODBMountPoint/Mount.py to use whatever method ZODB 3.5 wants to use for mounting databases, removing the ugly ConnectionPatches. 4. Change TemporaryFolder to use Products/ZODBMountPoint/Mount.py and finally remove Products/TemporaryFolder/Mount.py. Shane ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-dev] [Proposal] Drop Mount.py from ZODB 3.5
http://www.zope.org/Collectors/Zope/1800 describes some of the code problems with Zope's current way of mounting databases. ZODB 3.4 (still) has a Mount.py module, unused and untested by ZODB. Jim and I were both surprised today to discover that Zope (2.8) still imports it, so we can't drop it for ZODB 3.4 (Zope 2.8, and the ZODB 3.4 it uses, are both in beta). We'd like to continue getting non-ZODB code out of the ZODB project, so would like to drop Mount.py from ZODB 3.5. Are any of zodb-dev's "standalone" ZODB users making use of Mount.py? I would be surprised by that too, since Mount.py relies on other code (like Acquisition) that's already been removed from the ZODB 3.3 and 3.4 lines. I've been surprised before, though ... ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )