I have (at least) two branches that will be merged before The Big Freeze on monday, if all goes well, and unless somebody has any very serious objections. 1. easter-sprint_traversal-refactor This was done by me an Micheal Kerrin during last weeks Sprint here in Paris. It involves a backwards compatible refactoring of the Zope2 publishing traversal. It will for special traversing of names and for default publishing traversal now use an IBrowserPublisher adapter. Objects wishing to override the default traversal would earlier have has a special __bobo_traverse__ method. They should now instead provide an IPublishTraversal adapter (or IBrowserPublisher, which extends IPublishTraversal). For backwards compatibility, any object that does not use an adapter will get a default adapter that tries to use __bobo_traverse__. Objects wishing to provide a special default name would easlier have a special __browser_default__ method. They should now intead provide an IPublishTraversal adapter. For backwards compatibility, any object that does not use an adapter will get a default adapter that tries to use __browser_default__. I also recommend that we deprecate both __bobo_traverse__ and __browser_default__, but perhaps with a longer derecation period that usual, since this are very basic techniques used in many products. Please discuss. :) 2. regebro-wsgi_refactor The work Michael and I did last week also included an effort to finish Sidnei da Silvas publication traversal branch, that attempts to replace ZPublisher with zope.publisher and ZServer with twisted. Trying to finish that work, I grew restless with the tight integration between all the modules, and have therefore tries to pry ZPublisher and ZServer apart, but wedging WSGI in between them. The modules are not 100% separated as the ZPublisher still imports some modules from the ZServer and the other way around, but there is now a WSGI application class that should be callable from any WSGI server. I propose to check this in to make it possible to use twisted with Zope2, even though we may not have time to include the twisted server in the release. Comments? -- Lennart Regebro, Nuxeo http://www.nuxeo.com/ CPS Content Management http://www.cps-project.org/
Em Qua, 2006-04-26 às 19:14 +0200, Lennart Regebro escreveu:
I have (at least) two branches that will be merged before The Big Freeze on monday, if all goes well, and unless somebody has any very serious objections.
1. easter-sprint_traversal-refactor [...] 2. regebro-wsgi_refactor
+1 to merging both branches
I also recommend that we deprecate both __bobo_traverse__ and __browser_default__, but perhaps with a longer derecation period that usual, since this are very basic techniques used in many products. Please discuss. :)
+1 to deprecation and to longer period for this case. -- Leonardo Rochael Almeida Enfold Systems http://www.enfoldsystems.com phone. +1.713.942.2377 Ext 215 fax. +1.832.201.8856
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Leonardo Rochael Almeida wrote:
Em Qua, 2006-04-26 às 19:14 +0200, Lennart Regebro escreveu:
I have (at least) two branches that will be merged before The Big Freeze on monday, if all goes well, and unless somebody has any very serious objections.
1. easter-sprint_traversal-refactor [...] 2. regebro-wsgi_refactor
+1 to merging both branches
+1.
I also recommend that we deprecate both __bobo_traverse__ and __browser_default__, but perhaps with a longer derecation period that usual, since this are very basic techniques used in many products. Please discuss. :)
+1 to deprecation and to longer period for this case.
Note particularly that we *can't* deprecate any feature until we remove *all* core uses of it. 'zLOG' is currently *labeled* as deprecated, but core software still triggers the deprecation warnings, which means that it is *not* actually deprecated. Tres. - -- =================================================================== Tres Seaver +1 202-558-7113 tseaver@palladion.com Palladion Software "Excellence by Design" http://palladion.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFET8CX+gerLs4ltQ4RAtluAJ0dz5WQ/WD8Ad212JL8mJ4+yAZeBgCeLCzZ abWTV+N1Qqq/YzncGUiRHQc= =SyG/ -----END PGP SIGNATURE-----
--On 26. April 2006 19:14:43 +0200 Lennart Regebro <regebro@gmail.com> wrote:
1. easter-sprint_traversal-refactor
I also recommend that we deprecate both __bobo_traverse__ and __browser_default__, but perhaps with a longer derecation period that usual, since this are very basic techniques used in many products. Please discuss. :)
+1, also on a longer deprecation period.
2. regebro-wsgi_refactor
The work Michael and I did last week also included an effort to finish Sidnei da Silvas publication traversal branch, that attempts to replace ZPublisher with zope.publisher and ZServer with twisted. Trying to finish that work, I grew restless with the tight integration between all the modules, and have therefore tries to pry ZPublisher and ZServer apart, but wedging WSGI in between them. The modules are not 100% separated as the ZPublisher still imports some modules from the ZServer and the other way around, but there is now a WSGI application class that should be callable from any WSGI server. I propose to check this in to make it possible to use twisted with Zope2, even though we may not have time to include the twisted server in the release.
What are the possible risks of those changes? What is the goal of this branch? Integration as an optional feature or replacement of ZPublisher/ZServer? Andreas
Lennart Regebro wrote:
I also recommend that we deprecate both __bobo_traverse__ and __browser_default__, but perhaps with a longer derecation period that usual, since this are very basic techniques used in many products. Please discuss. :)
-1 - what's wrong with having the default adapter around "forever" for Zope 2? cheers, Chris -- Simplistix - Content Management, Zope & Python Consulting - http://www.simplistix.co.uk
On 4/26/06, Chris Withers <chris@simplistix.co.uk> wrote:
Lennart Regebro wrote:
I also recommend that we deprecate both __bobo_traverse__ and __browser_default__, but perhaps with a longer derecation period that usual, since this are very basic techniques used in many products. Please discuss. :)
-1 - what's wrong with having the default adapter around "forever" for Zope 2?
It's ugly? :) Or rather, having the default adapter around forever is a definite yes. Because it does attribute and key look up as well. But the code could be simplified. HOWEVER, I'm not gonna have time to remove all uses of __browser_default__ and __bobo_traverse__, so we don't have to discuss it more closely for months, because it won't be deprecated in 2.10 in any case. ;) -- Lennart Regebro, Nuxeo http://www.nuxeo.com/ CPS Content Management http://www.cps-project.org/
Do we want to include optional twisted in 2.10 too? It works now, for http. :-) Haven't tried the ftp yet, but if I finish it until tomorrow?
Lennart Regebro wrote:
Do we want to include optional twisted in 2.10 too? It works now, for http. :-) Haven't tried the ftp yet, but if I finish it until tomorrow?
If it is optional (and not default) I don't see why not, it'll make it easier to test with real sites to give it some battle hardening. Laurence
On Sat, 2006-29-04 at 13:21 +0200, Laurence Rowe wrote:
Lennart Regebro wrote:
Do we want to include optional twisted in 2.10 too? It works now, for http. :-) Haven't tried the ftp yet, but if I finish it until tomorrow?
If it is optional (and not default) I don't see why not, it'll make it easier to test with real sites to give it some battle hardening.
+1 from me (being optional and not default of course) - Rocky -- Rocky Burt ServerZen Software -- http://www.serverzen.com News About The Server -- http://www.serverzen.net
I had some trouble getting twisted to work with the newly implemented WSGI support, so I started over, this time making bigger changes and separating ZServer and ZPublisher even more from the start. The resulting bigger changes means that I have decided to make also the WSGI support optional. This in turn means that I have no problems in adding this to Zope 2.10, and will do that later today or tomorrow. We can the decide on wether WSGI will be default or not before the release. The change will be done within zope.conf, with a simple use-wsgi on(off option to the http-server. I'll also include the twisted zope.conf statements. That means that even if we don't include twisted in the release, using it will be simple (just a matter of installing it and again changing zope.conf).
participants (7)
-
Andreas Jung -
Chris Withers -
Laurence Rowe -
Lennart Regebro -
Leonardo Rochael Almeida -
Rocky Burt -
Tres Seaver