Re: [Zope3-dev] Twisted Publisher and Zope 2

2005-12-13 Thread Jim Fulton

Sidnei da Silva wrote:

On Mon, Dec 12, 2005 at 07:14:08PM -0500, Jim Fulton wrote:
| Here's what is in the docstring for HTTPRequest:
| 
|   - Lazy Data
| 
| These are callables which are deferred until explicitly
| referenced, at which point they are resolved and stored as
| application data.
| 
| Haven't found much else documentation.
| 
| Are these basically lazy computed request keys/attributes then?


Yes.

| There's a 'set_lazy' method in HTTPRequest, and that's what the
| session machinery uses to bind 'getSessionData' as 'SESSION'. This
| specific case sucks though, because as 'SESSION' appears when doing
| request.keys() is pretty common to create sessions implicitly by
| iterating through the request.
| 
| Yeah, explicit is better than implicit.
| 
| I don't want to add this to Z3, but it should be included in the

| new combined z2/z3 request.  We really need to take a look at the
| combined API and decide what we want in the long run.

So we are shooting for a z2 request implemented in terms of a z3
request. Sounds like an adapter to me :)


Maybe, however, if it is, it should happen as part of the request
factory.

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
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] Twisted Publisher and Zope 2

2005-12-13 Thread Sidnei da Silva
On Tue, Dec 13, 2005 at 07:28:09AM -0500, Jim Fulton wrote:
| Sidnei da Silva wrote:
| So we are shooting for a z2 request implemented in terms of a z3
| request. Sounds like an adapter to me :)
| 
| Maybe, however, if it is, it should happen as part of the request
| factory.

That's what I had in mind, yes.

-- 
Sidnei da Silva
Enfold Systems, LLC.
http://enfoldsystems.com
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] Twisted Publisher and Zope 2

2005-12-12 Thread Chris Withers

Stephan Richter wrote:


SchoolTool does not use ZEO, the installations are quite small, i.e. for 
schools with at most 5000 students.


Curious.

I can't imagine working with ZODB and not being able to do out-of-band 
processing on other machines, or processes, and not being able to do 
zopectl debug to go and dig through objects withou ttaking the server 
down.


How have you been doing these thigns in SchoolTool?

Chris

--
Simplistix - Content Management, Zope  Python Consulting
   - http://www.simplistix.co.uk
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] Twisted Publisher and Zope 2

2005-12-12 Thread Sidnei da Silva
On Mon, Dec 12, 2005 at 09:19:39AM -0500, Jim Fulton wrote:
| | Note that the Z3 publication framework splits functionality
| | currently provided by the Z2 publisher into a publisher and a
| | publication object.  An initial step might be top come up with
| | a Z2 publication object that works with the Z3 publisher.

Here's a status report:

I've started a Z2 publication object in the 'publication-refactor'
branch of Zope 2.

I am not 100% sure this is what you had in mind, but basically i've
broke down the 'publish' method from ZPublisher.Publish into the
methods of IPublication, and it seems to have mapped quite well with
some minor exceptions.

I haven't gotten around to implementing the traverseName method, which
will need some deep surgery on ZPublisher.BaseRequest.

Now, what I have in mind moving forward is to replace the code in
ZPublisher.Publish and ZPublisher.BaseRequest to use the Zope 2
IPublication instead of duplicating code once I'm done with
implementing the interface.

My only fear so far is that there might be some issues with the
request object itself being not 100% backwards compatible, but I think
we can have backwards compatibility implemented as an adapter from the
Zope 3 request to Zope 2 request.

How does that sound?

-- 
Sidnei da Silva
Enfold Systems, LLC.
http://enfoldsystems.com
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] Twisted Publisher and Zope 2

2005-12-12 Thread Sidnei da Silva
Another update:

On Mon, Dec 12, 2005 at 04:18:48PM -0200, Sidnei da Silva wrote:
| I haven't gotten around to implementing the traverseName method, which
| will need some deep surgery on ZPublisher.BaseRequest.

This is done now.

| Now, what I have in mind moving forward is to replace the code in
| ZPublisher.Publish and ZPublisher.BaseRequest to use the Zope 2
| IPublication instead of duplicating code once I'm done with
| implementing the interface.

This is done too.

-- 
Sidnei da Silva
Enfold Systems, LLC.
http://enfoldsystems.com
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] Twisted Publisher and Zope 2

2005-12-12 Thread Sidnei da Silva
On Mon, Dec 12, 2005 at 04:53:11PM -0500, Jim Fulton wrote:
| I am not 100% sure this is what you had in mind, but basically i've
| broke down the 'publish' method from ZPublisher.Publish into the
| methods of IPublication, and it seems to have mapped quite well with
| some minor exceptions.
| 
| Cool. It should.  IPublication was designed by insoecting all
| the odd hooks in Zope 2.

Yeah, the biggest difference seems to be exception handling from what
I can tell.

| My only fear so far is that there might be some issues with the
| request object itself being not 100% backwards compatible, but I think
| we can have backwards compatibility implemented as an adapter from the
| Zope 3 request to Zope 2 request.
| 
| Possibly.  Note that the request itself is pluggable.  Zope 3 has a
| notion of request factories.  When you set up a particular server,
| you can specify which request factory is used.  It would be nice though
| of Zope 2 and Zope 3 requests could be handled by the same server
| (host/port).
| 
| Adaptation may be a good way to start, although arranging for the
| adaptation to happen could get interesting.
| 
| It might be better to see if we can come up with a request that provides
| both Z2 and Z3 request APIs, if possible and then start a process of
| deprecation of features we don't want in the future.  This might
| be easier and simpler than adaptation.

Sounds good to me. By quickly looking Zope 3's requests have mostly
the same methods and features from Zope2's. However sems like most
methods were renamed for consistency (eg: supports_retry -
supportsRetry).

The greatest lacking functionality in Zope 3 seems to be the lack of a
'lazy' namespace, which is used primariliy for the 'SESSION' object in
Zope 2. How do people feel about adding that to Zope 3?

-- 
Sidnei da Silva
Enfold Systems, LLC.
http://enfoldsystems.com
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] Twisted Publisher and Zope 2

2005-12-12 Thread Jim Fulton

Sidnei da Silva wrote:
...

Sounds good to me. By quickly looking Zope 3's requests have mostly
the same methods and features from Zope2's. However sems like most
methods were renamed for consistency (eg: supports_retry -
supportsRetry).


There are a number of things I can think of off the top of my head:

- getting request-based URLs.  For example request/URL/1 vs request/URL1
- Z2's equivalence of item and attribute access :(
- Z2's request.__setitem__, other, and a general tendency to try to
  colapse namespaces.


The greatest lacking functionality in Zope 3 seems to be the lack of a
'lazy' namespace, which is used primariliy for the 'SESSION' object in
Zope 2. How do people feel about adding that to Zope 3?


I'm not familar with this. Where is it documented?

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
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] Twisted Publisher and Zope 2

2005-12-12 Thread Sidnei da Silva
On Mon, Dec 12, 2005 at 06:25:53PM -0500, Jim Fulton wrote:
| Sidnei da Silva wrote:
| ...
| Sounds good to me. By quickly looking Zope 3's requests have mostly
| the same methods and features from Zope2's. However sems like most
| methods were renamed for consistency (eg: supports_retry -
| supportsRetry).
| 
| There are a number of things I can think of off the top of my head:
| 
| - getting request-based URLs.  For example request/URL/1 vs request/URL1

Uh, Zope 3 has the first I guess?

| - Z2's equivalence of item and attribute access :(

Yeah, just stumbled on that.

| - Z2's request.__setitem__, other, and a general tendency to try to
|   colapse namespaces.

:(

| The greatest lacking functionality in Zope 3 seems to be the lack of a
| 'lazy' namespace, which is used primariliy for the 'SESSION' object in
| Zope 2. How do people feel about adding that to Zope 3?
| 
| I'm not familar with this. Where is it documented?

Here's what is in the docstring for HTTPRequest:

  - Lazy Data

These are callables which are deferred until explicitly
referenced, at which point they are resolved and stored as
application data.

Haven't found much else documentation.

There's a 'set_lazy' method in HTTPRequest, and that's what the
session machinery uses to bind 'getSessionData' as 'SESSION'. This
specific case sucks though, because as 'SESSION' appears when doing
request.keys() is pretty common to create sessions implicitly by
iterating through the request.

-- 
Sidnei da Silva
Enfold Systems, LLC.
http://enfoldsystems.com
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] Twisted Publisher and Zope 2

2005-12-12 Thread Jim Fulton

Sidnei da Silva wrote:

On Mon, Dec 12, 2005 at 06:25:53PM -0500, Jim Fulton wrote:
| Sidnei da Silva wrote:
| ...
| Sounds good to me. By quickly looking Zope 3's requests have mostly
| the same methods and features from Zope2's. However sems like most
| methods were renamed for consistency (eg: supports_retry -
| supportsRetry).
| 
| There are a number of things I can think of off the top of my head:
| 
| - getting request-based URLs.  For example request/URL/1 vs request/URL1


Uh, Zope 3 has the first I guess?


Yup.  These should be easy enough to combine.

...


| The greatest lacking functionality in Zope 3 seems to be the lack of a
| 'lazy' namespace, which is used primariliy for the 'SESSION' object in
| Zope 2. How do people feel about adding that to Zope 3?
| 
| I'm not familar with this. Where is it documented?


Here's what is in the docstring for HTTPRequest:

  - Lazy Data

These are callables which are deferred until explicitly
referenced, at which point they are resolved and stored as
application data.

Haven't found much else documentation.


Are these basically lazy computed request keys/attributes then?


There's a 'set_lazy' method in HTTPRequest, and that's what the
session machinery uses to bind 'getSessionData' as 'SESSION'. This
specific case sucks though, because as 'SESSION' appears when doing
request.keys() is pretty common to create sessions implicitly by
iterating through the request.


Yeah, explicit is better than implicit.

I don't want to add this to Z3, but it should be included in the
new combined z2/z3 request.  We really need to take a look at the
combined API and decide what we want in the long run.

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
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] Twisted Publisher and Zope 2

2005-12-12 Thread Sidnei da Silva
On Mon, Dec 12, 2005 at 07:14:08PM -0500, Jim Fulton wrote:
| Here's what is in the docstring for HTTPRequest:
| 
|   - Lazy Data
| 
| These are callables which are deferred until explicitly
| referenced, at which point they are resolved and stored as
| application data.
| 
| Haven't found much else documentation.
| 
| Are these basically lazy computed request keys/attributes then?

Yes.

| There's a 'set_lazy' method in HTTPRequest, and that's what the
| session machinery uses to bind 'getSessionData' as 'SESSION'. This
| specific case sucks though, because as 'SESSION' appears when doing
| request.keys() is pretty common to create sessions implicitly by
| iterating through the request.
| 
| Yeah, explicit is better than implicit.
| 
| I don't want to add this to Z3, but it should be included in the
| new combined z2/z3 request.  We really need to take a look at the
| combined API and decide what we want in the long run.

So we are shooting for a z2 request implemented in terms of a z3
request. Sounds like an adapter to me :)

-- 
Sidnei da Silva
Enfold Systems, LLC.
http://enfoldsystems.com
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] Twisted Publisher and Zope 2

2005-12-12 Thread Stephan Richter
On Monday 12 December 2005 18:17, Sidnei da Silva wrote:
 The greatest lacking functionality in Zope 3 seems to be the lack of a
 'lazy' namespace, which is used primariliy for the 'SESSION' object in
 Zope 2. How do people feel about adding that to Zope 3?

Not without a proposal. :-) I have no clue what this is.

Regards,
Stephan
-- 
Stephan Richter
CBU Physics  Chemistry (B.S.) / Tufts Physics (Ph.D. student)
Web2k - Web Software Design, Development and Training
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] Twisted Publisher and Zope 2

2005-12-09 Thread Chris Withers

Dario Lopez-Kästen wrote:
I don't expect other people for me to fix this for me, but I suggest 
that this be noted somewhere where it can be seen, because ZEO is quite 
important for us running larger sites.


I would say ZEO is essential for all serious Zope work. I have to admit 
to being pretty suprised that neither Jim or Stefan have bumped into this...


Chris

--
Simplistix - Content Management, Zope  Python Consulting
   - http://www.simplistix.co.uk

___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] Twisted Publisher and Zope 2

2005-12-09 Thread Stephan Richter
On Friday 09 December 2005 06:02, Chris Withers wrote:
 Dario Lopez-Kästen wrote:
  I don't expect other people for me to fix this for me, but I suggest
  that this be noted somewhere where it can be seen, because ZEO is quite
  important for us running larger sites.

 I would say ZEO is essential for all serious Zope work. I have to admit
 to being pretty suprised that neither Jim or Stefan have bumped into
 this...

SchoolTool does not use ZEO, the installations are quite small, i.e. for 
schools with at most 5000 students.

Regards,
Stephan
-- 
Stephan Richter
CBU Physics  Chemistry (B.S.) / Tufts Physics (Ph.D. student)
Web2k - Web Software Design, Development and Training
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] Twisted Publisher and Zope 2

2005-12-09 Thread Dario Lopez-Kästen

Stephan Richter wrote:

On Friday 09 December 2005 06:02, Chris Withers wrote:


Dario Lopez-Kästen wrote:


I don't expect other people for me to fix this for me, but I suggest
that this be noted somewhere where it can be seen, because ZEO is quite
important for us running larger sites.


I would say ZEO is essential for all serious Zope work. I have to admit
to being pretty suprised that neither Jim or Stefan have bumped into
this...



SchoolTool does not use ZEO, the installations are quite small, i.e. for 
schools with at most 5000 students.


OK. I fail to get your point, though (and I am not trying to be 
sarcastic or anything rude here).


/dario


--
-- ---
Dario Lopez-Kästen, IT Systems  Services Chalmers University of Tech.
Lyrics applied to programming  application design:
emancipate yourself from mental slavery - redemption song, b. marley

___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] Twisted Publisher and Zope 2

2005-12-09 Thread Stephan Richter
On Friday 09 December 2005 07:59, Dario Lopez-Kästen wrote:
  SchoolTool does not use ZEO, the installations are quite small, i.e. for
  schools with at most 5000 students.

 OK. I fail to get your point, though (and I am not trying to be
 sarcastic or anything rude here).

All I was saying is that SchoolTool is serious Zope 3 work and we are not 
using ZEO. You asserted that all serious Zope work would use ZEO.

Regards,
Stephan
-- 
Stephan Richter
CBU Physics  Chemistry (B.S.) / Tufts Physics (Ph.D. student)
Web2k - Web Software Design, Development and Training
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] Twisted Publisher and Zope 2

2005-12-09 Thread Dario Lopez-Kästen

Stephan Richter wrote:

On Friday 09 December 2005 07:59, Dario Lopez-Kästen wrote:


SchoolTool does not use ZEO, the installations are quite small, i.e. for
schools with at most 5000 students.


OK. I fail to get your point, though (and I am not trying to be
sarcastic or anything rude here).



All I was saying is that SchoolTool is serious Zope 3 work and we are not 
using ZEO. You asserted that all serious Zope work would use ZEO.


I did? I thought all I asked for was for ZEO-bits not to be forgotten in 
the flurr of development activity. Obviously that was a mistake, because 
I now find myself in counter-example-territory.


Good for SchoolTool to be able to not use ZEO. I know my apps would not 
have been able to be succesfull without ZEO.


I am sorry if I offended someone.

/dario

--
-- ---
Dario Lopez-Kästen, IT Systems  Services Chalmers University of Tech.
Lyrics applied to programming  application design:
emancipate yourself from mental slavery - redemption song, b. marley

___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] Twisted Publisher and Zope 2

2005-12-08 Thread Chris Withers

Stephan Richter wrote:
I wonder whether a similar approach as the one taken for the Twisted server 
migration is possible. There, if you have an instance running on ZServer an 
upgrade will not cause the switch to Twisted, since your startup script still 
refers to the old server code. You explicitely have to change your startup 
script to start using Twisted.


I think this is the way to go and a zope.conf option would be an ideal 
way of making the choice...


cheers,

Chris

--
Simplistix - Content Management, Zope  Python Consulting
   - http://www.simplistix.co.uk

___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] Twisted Publisher and Zope 2

2005-12-08 Thread Stephan Richter
On Thursday 08 December 2005 07:06, Sidnei da Silva wrote:
 Just one thing that struck me right now. ZServer uses medusa/asyncore
 and twisted has it's own 'main loop'. How do they play together in
 Zope 3? Or they dont?

They don't. Either you use ZServer or you use Twisted, but not both. So if you 
want to use Twisted-specific packages, like the scheduler, you have to use 
twisted, otherwise you are out of luck. I think this is totally fine.

Regards,
Stephan
-- 
Stephan Richter
CBU Physics  Chemistry (B.S.) / Tufts Physics (Ph.D. student)
Web2k - Web Software Design, Development and Training
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] Twisted Publisher and Zope 2

2005-12-08 Thread Sidnei da Silva
On Thu, Dec 08, 2005 at 08:18:49AM -0500, Stephan Richter wrote:
| On Thursday 08 December 2005 07:06, Sidnei da Silva wrote:
|  Just one thing that struck me right now. ZServer uses medusa/asyncore
|  and twisted has it's own 'main loop'. How do they play together in
|  Zope 3? Or they dont?
| 
| They don't. Either you use ZServer or you use Twisted, but not both. So if 
you 
| want to use Twisted-specific packages, like the scheduler, you have to use 
| twisted, otherwise you are out of luck. I think this is totally fine.

What's the situation with ZEO then? The ZEO 'zrpc.client' uses
ThreadedAsync.register_loop_callback(), which is a evil monkeypatch to
asyncore. I haven't seen that change recently, so I assume this has
been ignored?

-- 
Sidnei da Silva
Enfold Systems, LLC.
http://enfoldsystems.com
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] Twisted Publisher and Zope 2

2005-12-08 Thread Stephan Richter
On Thursday 08 December 2005 08:29, Sidnei da Silva wrote:
 On Thu, Dec 08, 2005 at 08:18:49AM -0500, Stephan Richter wrote:
 | On Thursday 08 December 2005 07:06, Sidnei da Silva wrote:
 |  Just one thing that struck me right now. ZServer uses medusa/asyncore
 |  and twisted has it's own 'main loop'. How do they play together in
 |  Zope 3? Or they dont?
 |
 | They don't. Either you use ZServer or you use Twisted, but not both. So
 | if you want to use Twisted-specific packages, like the scheduler, you
 | have to use twisted, otherwise you are out of luck. I think this is
 | totally fine.

 What's the situation with ZEO then? The ZEO 'zrpc.client' uses
 ThreadedAsync.register_loop_callback(), which is a evil monkeypatch to
 asyncore. I haven't seen that change recently, so I assume this has
 been ignored?

Yep. Nobody has complained to us about this yet. I personally do not use ZEO, 
so I could not fix the issue anyways.

Regards,
Stephan
-- 
Stephan Richter
CBU Physics  Chemistry (B.S.) / Tufts Physics (Ph.D. student)
Web2k - Web Software Design, Development and Training
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] Twisted Publisher and Zope 2

2005-12-08 Thread Dario Lopez-Kästen

Stephan Richter wrote:

On Thursday 08 December 2005 08:29, Sidnei da Silva wrote:


On Thu, Dec 08, 2005 at 08:18:49AM -0500, Stephan Richter wrote:
| On Thursday 08 December 2005 07:06, Sidnei da Silva wrote:
|  Just one thing that struck me right now. ZServer uses medusa/asyncore
|  and twisted has it's own 'main loop'. How do they play together in
|  Zope 3? Or they dont?
|
| They don't. Either you use ZServer or you use Twisted, but not both. So
| if you want to use Twisted-specific packages, like the scheduler, you
| have to use twisted, otherwise you are out of luck. I think this is
| totally fine.

What's the situation with ZEO then? The ZEO 'zrpc.client' uses
ThreadedAsync.register_loop_callback(), which is a evil monkeypatch to
asyncore. I haven't seen that change recently, so I assume this has
been ignored?



Yep. Nobody has complained to us about this yet. I personally do not use ZEO, 
so I could not fix the issue anyways.




I don't expect other people for me to fix this for me, but I suggest 
that this be noted somewhere where it can be seen, because ZEO is quite 
important for us running larger sites.


Even though many people do not use ZEO themselves, when considering and 
comparing web-app frameworks, it is a major pro for Zope to be able to 
provide cluster capabilities out of the box.


So the capability to use an alternative to ZServer for ZEO sites should, 
I suggest, be considered as a desirable future feature by ye Zope3 Gods.


My 0.02 €

/dario

--
-- ---
Dario Lopez-Kästen, IT Systems  Services Chalmers University of Tech.
Lyrics applied to programming  application design:
emancipate yourself from mental slavery - redemption song, b. marley

___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] Twisted Publisher and Zope 2

2005-12-08 Thread Martijn Faassen

Chris Withers wrote:

Stephan Richter wrote:

I wonder whether a similar approach as the one taken for the Twisted 
server migration is possible. There, if you have an instance running 
on ZServer an upgrade will not cause the switch to Twisted, since your 
startup script still refers to the old server code. You explicitely 
have to change your startup script to start using Twisted.



I think this is the way to go and a zope.conf option would be an ideal 
way of making the choice...


I think it's rather too big a shift. I think that 'the old startup 
script still referring to the old server code' is definitely one that 
isn't appropriate for Zope 2; either the new server code is backwards 
compatible and almost everything will run perfectly, or the new code is 
not very backwards compatible and most Zope apps will break.


In the former case, hard to reach, I think we just want to upgrade 
everybody. In the latter case, possibly more likely, a zope.conf option 
is the least we can do. I'd be more in favor of a granular approach, 
where I can tell the system 'for this piece of content, use the Zope 2 
behavior, for that, the Zope 3 behavior'.


But I think we'll have to see which approach is best when there's actual 
experimental code; I guess only then we'll be able to judge how much of 
Zope 2 we can safely replace.


Regards,

Martijn
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] Twisted Publisher and Zope 2

2005-12-08 Thread Martijn Faassen

Dario Lopez-Kästen wrote:

Stephan Richter wrote:


On Thursday 08 December 2005 08:29, Sidnei da Silva wrote:


What's the situation with ZEO then? The ZEO 'zrpc.client' uses
ThreadedAsync.register_loop_callback(), which is a evil monkeypatch to
asyncore. I haven't seen that change recently, so I assume this has
been ignored?


Yep. Nobody has complained to us about this yet. I personally do not 
use ZEO, so I could not fix the issue anyways.


I don't expect other people for me to fix this for me, but I suggest 
that this be noted somewhere where it can be seen, because ZEO is quite 
important for us running larger sites.


Right, as far as I understand from this thread now ZEO and a straight 
install (not upgrade?) of Zope 3.2 don't work? That's rather a big change.


Regards,

Martijn
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] Twisted Publisher and Zope 2

2005-12-08 Thread Jim Fulton

Martijn Faassen wrote:

Chris Withers wrote:


Stephan Richter wrote:

I wonder whether a similar approach as the one taken for the Twisted 
server migration is possible. There, if you have an instance running 
on ZServer an upgrade will not cause the switch to Twisted, since 
your startup script still refers to the old server code. You 
explicitely have to change your startup script to start using Twisted.




I think this is the way to go and a zope.conf option would be an ideal 
way of making the choice...




I'm not sure whether we're talking about the server or the publisher,

I think it's rather too big a shift. I think that 'the old startup 
script still referring to the old server code' is definitely one that 
isn't appropriate for Zope 2; either the new server code is backwards 
compatible and almost everything will run perfectly, or the new code is 
not very backwards compatible and most Zope apps will break.


If you are talking about the server, as opposed to the publisher,
I don't see a problem with supporting both the old and new server.
Note that the new server is twisted and is largely outside our control.
There's no reason to expect twisted to be backward compatible with
ZServer.  Also, with WSGI, we can use any WSGI server technology, including
mod_python.  Eventually, we'll phase out ZServer, making it a separate
download.

OTOH, the publisher itself needs to be backward compatible.

In the former case, hard to reach, I think we just want to upgrade 
everybody. In the latter case, possibly more likely, a zope.conf option 
is the least we can do. I'd be more in favor of a granular approach, 
where I can tell the system 'for this piece of content, use the Zope 2 
behavior, for that, the Zope 3 behavior'.


Hm, maybe you are talking about the publisher. :)

In which case, I expect this all to be controlled via adapters, so
what you suggest should be possible.  In any case, existing Zope 2
code should function as it does now without change.

But I think we'll have to see which approach is best when there's actual 
experimental code; I guess only then we'll be able to judge how much of 
Zope 2 we can safely replace.


Yup.

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
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] Twisted Publisher and Zope 2

2005-12-08 Thread Martijn Faassen

Jim Fulton wrote:

Martijn Faassen wrote:


Chris Withers wrote:


Stephan Richter wrote:

I wonder whether a similar approach as the one taken for the Twisted 
server migration is possible. There, if you have an instance running 
on ZServer an upgrade will not cause the switch to Twisted, since 
your startup script still refers to the old server code. You 
explicitely have to change your startup script to start using Twisted.


I think this is the way to go and a zope.conf option would be an 
ideal way of making the choice...




I'm not sure whether we're talking about the server or the publisher,


True, I realized after posting this and thinking a bit that things got a 
bit muddled in this thread. I'm mostly concerned about the publisher. 
The server part I guess is easier to port, though I also suspect less of 
a gain on the short term.



Hm, maybe you are talking about the publisher. :)


Yes, I was. Sorry for the confusion.


In which case, I expect this all to be controlled via adapters, so
what you suggest should be possible.  In any case, existing Zope 2
code should function as it does now without change.


That would be good. I wonder how this interacts with things like error 
handling, though.


Regards,

Martijn
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] Twisted Publisher and Zope 2

2005-12-08 Thread Jim Fulton

Martijn Faassen wrote:

Jim Fulton wrote:



...


Hm, maybe you are talking about the publisher. :)



Yes, I was. Sorry for the confusion.


I don't think it was anyone's fault.


In which case, I expect this all to be controlled via adapters, so
what you suggest should be possible.  In any case, existing Zope 2
code should function as it does now without change.



That would be good. I wonder how this interacts with things like error 
handling, though.


I dunno.  I guess we'll figure it out.  I doubt it will be the
biggest of our problems. :)

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
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] Twisted Publisher and Zope 2

2005-12-07 Thread Chris Withers

Jim Fulton wrote:

The most important project here, IMO, is to rewire Zope 2
to use the Zope 3 publisher.  And, of course, to update the
Zope 3 publisher with features from the Zope 2 publisher that
are missing from the Zope 3 publisher (e.g. streaming).


+10

Please don't anyone write a new zope 2 publisher, lets just get the 
Zope 3 one to replace the Zope 2 one and keep bringing the two branches 
closer and closer together :-)


Chris

--
Simplistix - Content Management, Zope  Python Consulting
   - http://www.simplistix.co.uk

___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] Twisted Publisher and Zope 2

2005-12-07 Thread Stephan Richter
On Tuesday 06 December 2005 19:56, Jim Fulton wrote:
 The most important project here, IMO, is to rewire Zope 2
 to use the Zope 3 publisher.  And, of course, to update the
 Zope 3 publisher with features from the Zope 2 publisher that
 are missing from the Zope 3 publisher (e.g. streaming).

For those updates I would like to see proposals.

Regards,
Stephan
-- 
Stephan Richter
CBU Physics  Chemistry (B.S.) / Tufts Physics (Ph.D. student)
Web2k - Web Software Design, Development and Training
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] Twisted Publisher and Zope 2

2005-12-07 Thread Martijn Faassen

Chris Withers wrote:

Jim Fulton wrote:


The most important project here, IMO, is to rewire Zope 2
to use the Zope 3 publisher.  And, of course, to update the
Zope 3 publisher with features from the Zope 2 publisher that
are missing from the Zope 3 publisher (e.g. streaming).


+10

Please don't anyone write a new zope 2 publisher, lets just get the 
Zope 3 one to replace the Zope 2 one and keep bringing the two branches 
closer and closer together :-)


I support any scenario where we can replace bits of Zope 2 with Zope 3. :)

I think we'll see a scenario where old new will coexist for a while. The 
Zope 2 publisher has all kinds of wonderful cruft in it, and each bit of 
cruft is likely to be doing something useful for someone somewhere. For 
backwards compatibility reasons, we'll need to continue to support it 
for some time.


That's a problem for WSGI, I guess, though, if the Zope 3 publisher is 
needed for WSGI support... Perhaps we can do something like from this 
point in my publication process, dive into the Zope 2 publisher, and 
forget about Zope 3 for now. Applications that rely on Zope 2 publisher 
features can have this toggled on.


Then again, my understanding of the publisher model in both Zopes is 
definitely incomplete. What's your thinking concerning backward 
compatibility, Jim?


Regards,

Martijn
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] Twisted Publisher and Zope 2

2005-12-07 Thread Jim Fulton

Martijn Faassen wrote:

Chris Withers wrote:


Jim Fulton wrote:


The most important project here, IMO, is to rewire Zope 2
to use the Zope 3 publisher.  And, of course, to update the
Zope 3 publisher with features from the Zope 2 publisher that
are missing from the Zope 3 publisher (e.g. streaming).



+10

Please don't anyone write a new zope 2 publisher, lets just get the 
Zope 3 one to replace the Zope 2 one and keep bringing the two 
branches closer and closer together :-)



I support any scenario where we can replace bits of Zope 2 with Zope 3. :)

I think we'll see a scenario where old new will coexist for a while. The 
Zope 2 publisher has all kinds of wonderful cruft in it, and each bit of 
cruft is likely to be doing something useful for someone somewhere. For 
backwards compatibility reasons, we'll need to continue to support it 
for some time.


That's a problem for WSGI, I guess, though, if the Zope 3 publisher is 
needed for WSGI support... Perhaps we can do something like from this 
point in my publication process, dive into the Zope 2 publisher, and 
forget about Zope 3 for now. Applications that rely on Zope 2 publisher 
features can have this toggled on.


Then again, my understanding of the publisher model in both Zopes is 
definitely incomplete. What's your thinking concerning backward 
compatibility, Jim?


We need it.  We also need a single publisher.  We are (almost) at the beginning
of a new development cycle.  We should be ambitios and try to make it
possible to use the Zope 3 puublisher in Zope 2 *and* provide backward
compatibility.  I'm not positive that it is possible, but I am extremely
hopeful that it is and think it's worth a try.  We need to start soon
though and not wait until a month before the feature freeze.

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
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] Twisted Publisher and Zope 2

2005-12-07 Thread Stephan Richter
On Wednesday 07 December 2005 10:51, Martijn Faassen wrote:
 Agreed with Andreas. I also agree with Jim that it makes sense to be
 ambitious. I suspect we'll end up with a two-pronged approach --
 introduce the Zope 3 publisher with as much backwards compatibility we
 can provide, but also make sure that the old publisher code (with *all*
 backwards compatibility) can be used if desired.

I wonder whether a similar approach as the one taken for the Twisted server 
migration is possible. There, if you have an instance running on ZServer an 
upgrade will not cause the switch to Twisted, since your startup script still 
refers to the old server code. You explicitely have to change your startup 
script to start using Twisted.

Regards,
Stephan
-- 
Stephan Richter
CBU Physics  Chemistry (B.S.) / Tufts Physics (Ph.D. student)
Web2k - Web Software Design, Development and Training
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com



Re: [Zope3-dev] Twisted Publisher and Zope 2

2005-12-06 Thread Jim Fulton

Sidnei da Silva wrote:

Hi there,

There's a couple of mad brazilian pythoneers that might hang out
together early in January in some hidden beach somewhere, and one of
the proposed tasks for working on (of course, powered by caipirinha)
was to take a stab at replacing Zope 2's ZServer/ZPublisher by Zope
3's Twisted/Publisher.

I know the brave folks involved in the Zope 3 move-away from ZServer
might have some interesting tips to share, so I hereby invite you to
share your experience.

Best I can tell, it should be pretty doable no?


The key is to move to WSGI.  Zope 3's publisher now uses
WSGI and so does twisted. For HTTP, the Zope 3 pubisher isn't
based on twisted, it is based on WSGI.  There is twisted-specific
glue for FTP.

The most important project here, IMO, is to rewire Zope 2
to use the Zope 3 publisher.  And, of course, to update the
Zope 3 publisher with features from the Zope 2 publisher that
are missing from the Zope 3 publisher (e.g. streaming).

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
___
Zope3-dev mailing list
Zope3-dev@zope.org
Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com