RE: [Zope-dev] [Proposal] Drop Mount.py from ZODB 3.5

2005-06-04 Thread Tim Peters
[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

2005-06-04 Thread Jim Fulton

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

2005-06-04 Thread Jim Fulton

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

2005-06-04 Thread Shane Hathaway
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

2005-06-02 Thread Tim Peters
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 )