[Zope-dev] [ZEO] protocol problem

2002-02-25 Thread Dieter Maurer

Not sure, whether this is the right list. If not, please advise a better
place.

We use Zope 2.5 together with ZEO 1.0b5 and there seems to be
a problem with the communication between Zope and ZEO.

  Several times a day, Zope reports that it has been disconnected form
  storage (a warning), that it tries to reconnect but fails
  due to error 131, 'Connection reset by peer'.

  ZEO on the other hand reports that it had opened the connection
  and keeps it open until Zope stops.


There is one special setup:

  We check ZEO every minute for availability.
  The script opens a ZEO connection and lets it load an object.

  I have something like a weak impression that connection
  requests coming in at about the same time might confuse ZEO.

Any information would be appreaciated.


Annotated extract from Zope logfile:


2002-02-24T12:01:09 PROBLEM(100) ClientStorage Disconnected from storage
--
2002-02-24T12:01:09 INFO(0) client Trying to connect to server: ('ora', )
--
2002-02-24T12:01:09 ERROR(200) ZODB Couldn't load state for 
'\x00\x00\x00\x00\x00\t\x08'
--
2002-02-24T12:01:09 INFO(0) ClientStorage Connected to storage
  Here we have apparently two log messages intermingled:

The ClientStorage Connected and the Error: Couldn't load state.
Traceback (innermost last):
  File /local/home/zope/Zope/Base/lib/python/ZODB/Connection.py, line 446, in 
setstate
  File /home/zope/Zope-9000/Base/lib/python/ZEO/ClientStorage.py, line 365, in 
load
(Object: ('ora', ))
  File /home/zope/Zope-9000/Base/lib/python/ZEO/zrpc.py, line 239, in __call__
error: (131, 'Connection reset by peer')


Annotated extract from ZEO logfile:
===

2002-02-24T12:01:08 INFO(0) ZEO Server Close 3501648
--
2002-02-24T12:01:09 INFO(0) ZEO Server Connect 3501648 ('10.19.3.10', 33017)
  The connection is opened here but only closed 7 hours later when
  Zope stops.
--
2002-02-24T12:02:09 INFO(0) ZEO Server Connect 3501720 ('10.19.1.129', 64202)
..
2002-02-24T19:50:43 INFO(0) ZEO Server Close 3501720
--
2002-02-24T19:51:33 INFO(0) ZEO Server Connect 3501720 ('10.19.3.10', 49795)
  here, Zope has been stopped.
  ZEO releases all hanging connections.
--
2002-02-24T19:51:37 INFO(0) ZEO Server Close 3501648
--
2002-02-24T19:51:37 INFO(0) ZEO Server Close 3501600
--
2002-02-24T19:51:37 INFO(0) ZEO Server Close 3501504


Dieter

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



[Zope-dev] Re: Zope vs. Cocoon

2002-02-25 Thread Craeg K. Strong

Hello:

I am the author of this paper (mea culpa! :-)  and I thought I
would respond to your comments.  First off, thanks for thorough and
thoughtful review.  My responses are embedded below:

Stefano Mazzocchi wrote:

First, kudos to Gianugo for finding the ask-slashdot thread about 'zope
vs. cocoon', one user suggested to take a look at


http://www.arielpartners.com/arielpartners/content/public/topics/technology/technologyReviews/zopeVsCocoon

which I think is a good review of the current status of the two
projects.

Yes, I've installed and used Zope in the past, even if I never created
something that worked with it.

Here I will try to address the points of the article.

- o - 

The paper concludes that, despite a few annoying limitations, Zope 
is a much more powerful, mature, and well-documented environment 
and probably holds a one to two year lead over Cocoon and other 
similar Java-based publishing environments. 


This quote says it all and there are a few things that I have to admit
myself:

1) well-documented: cocoon documentation is currently very poor compare
to Zope's or compared to other successful technologies (say PHP). It is
clear that without good docs, there is no good product.

But Cocoon has been released final 3 months ago and it's growth rate is
clearly impressive, even for my apache experience.

Anyway, I would venture to forecast that in a year, Cocoon will *easily*
cover this difference, also because many books are planned to appear.

This is good news.  Zope now has four (English language) books out, plus 
two more in the works.  I see there is a Cocoon
book to be published in June, but from what I understand it covers the 
Cocoon1 architecture ?

2) mature: granted, you can't have a 3 months-old technology and
consider it 'mature'. At the same time, we've been working on this for
two years and we know where we're going. There is very little doubt that
Cocoon will mature and solidify soon.

Based on experiences with Cocoon1 and the traffic on cocoon-dev, I would 
agree.

3) powerful: on the technological side of things I dare to disagree with
them. Those 'few annoying limitations' they describe, I found them 'very
deep architectural mistakes'.

They cite XSLT support, but that's nothing compared to the fact that
there is no way for you to create a Zope site without the user 'knowing
it'. No matter how hard you try, it shows. It's 'zopy', they all look
the same, much like 'this is a manila-site'

Some don't think this 'cloning restriction' a severe limitation, I think
this is not a annoyance, but the *first* rule.

I agree that this is a very important consideration.  However, I cannot 
agree with your observation.  Zope powers many
more sites than those of which you may be aware.   Unfortunately, I 
don't know too many of them personally, but here are a few:

http://www.activestate.com
http://www.homegain.com
http://www.arielpartners.com(I couldn't resist :-)

According to news at the latest Python conference 
(http://www.python10.org), Zope is now powering the websites for one
of the major US television networks (ABC? for the life of me, I can't 
remember which).   Hopefully one of the Zopistas out there
can help me out...

But this hits a very serious point: comparing Zope and Cocoon is like
comparing apples with oranges, technologically.

Boths are fruits, as both publish web content, but Zope is a 'publishing
environment' while Cocoon is a 'publishing framework'.

An 'environment' is an application that you customize, a 'framework' is
the foundation of your own application.

I might define those words differently, but be that as it may.  Here is 
some information about the Zope architecture:

- both Zope and Cocoon2 come with an example/tutorial that can be 
customized.  Just because Zope's tutorial
  is more fully fledged does not mean that it cannot be as radically 
changed.

- Zope consists of an integrated object-oriented database (ZODB) and a 
webserver (ZServer, based on Medusa).  
   It is possible to use ZODB with Apache in lieu of ZServer.

- Zope provides a 100% object-oriented abstraction for web publishing. 
 URLs are turned into method calls on objects.  The
   objects are stored in ZODB.  Of course, you can create your own 
classes that obtain their content from the file system,
   rather than the ZODB (almost like a symbolic link or alias).

- Any kind of python object can be stored in ZODB.  You can define your 
own objects, or use one of their predefined
classes.  Therefore, you immediately have access to all the python 
libraries, such as the XML libraries.

- Because of acquisition, you can add behavior to objects without 
changing their class definitions.

- Because (much of) Zope content is contained in the ZODB, it is 
convenient to use ZServer because it provides access
to objects contained in ZODB via FTP/webDAV.  This makes it possible, 
for example, to edit the contents of any Zope object
(provided you have 

Re: [Zope-dev] Re: Zope vs. Cocoon

2002-02-25 Thread seb bacon

A few points I'd like to add.  Before I do, a disclaimer: I've never
used Cocoon, and I really like Zope.  Having said that, I've used lots
of other 'competing' systems, and I am able to see Zope's weak points.

 
 Some don't think this 'cloning restriction' a severe limitation, I think
 this is not a annoyance, but the *first* rule.
 
 I agree that this is a very important consideration.  However, I cannot 
 agree with your observation.  Zope powers many
 more sites than those of which you may be aware.   Unfortunately, I 
 don't know too many of them personally, but here are a few:
 
 http://www.activestate.com
 http://www.homegain.com
 http://www.arielpartners.com(I couldn't resist :-)

...here's some more from our side of the pond:

http://www.breastcancercare.org.uk
http://www.intellident.co.uk
http://www.mulberry-insurance.co.uk
http://www.jubilee.gov.uk
http://www.drugs.gov.uk

 Boths are fruits, as both publish web content, but Zope is a 'publishing
 environment' while Cocoon is a 'publishing framework'.
 
 An 'environment' is an application that you customize, a 'framework' is
 the foundation of your own application.

I disagree: Zope is very much a framework.  I've used it for a CMS, for
intranets, and for online data capture.  I've created applications which
automatically catalog and convert Word, PDF, and various image formats
which have been emailed to a mailing list as attachments.  There's bug
trackers, wikis, slashdot-alikes, etc...

What Zope lacks IMO is good best practice guidance and detailed
developer documentation, though it's getting there now.  Without best
practice guidance, developers tend to choose the first development model
they see, which at the moment tends towards heaps of quick-and-dirty
through the web hacks and tricks.  This does give the illusion of Zope
being an 'environment' rather than a 'framework', and encourages
Zopish-looking sites, too.

 I believe that Zope is mis-placed architecturally, it's an hybrid
 between a CMS and a publishing framework. And does some of everything,
 but both poorly, compared to specialized solutions.
 
 Actually, there is a CMS available for Zope: the Zope Content Management 
 Framework (see http://cmf.zope.org).

 We chose not to use the Zope CMF because of its architecture: it is not 
 based on
 standard XML technologies and, in our opinion, brings us too far into 
 the proprietary language land.

You don't have to be tied into one implementation if you're using the
CMF - nothing about it is more proprietary than vanilla Zope.  

The default, out of the box Zope and CMF may give the impression of
being a poor fit to most requirements.  However, most people
misunderstand that it is just an example implementation of a site built
using the CMF.  The actual possibilities are endless, and it's a robust
and useful framework.

 1) Integrated Object-oriented database with support for full graphical
 editing of all objects  
 
 Do you really want this? I don't.
 

Being able to create objects which persist transactionally in a database
simply by mixing in a 'Persisent' class makes development very fast and
simple.  If you like programming in python, you should look into the
ZODB a bit more - I think you'll like it, regardless of Zope.

 Then the Cocoon strong points:
 
 1) Integration with Source Code Control System
 
 Zope is not file based, it's entirely database based. So CVS doesn't
 work on it.
 
 We have made our first baby steps toward solving this problem: 
  http://www.zope.org/Members/arielpartners/CVSFile

This is a very real concern.  There are a number of ways of dealing with
it.  We use the FSObjects from the CMF.  These are filesystem-based
objects which are loaded into the database at run-time.  However, we
still have to use DB-only things occasionally.

This is all set to change in Zope3.  The plan is to have full,
bidirectional mapping between the ZODB and the filesystem.

 
 2) Integration with J2EE and other Java-based business logic   
 
 Cocoon is a servlet, thus we get it for free. They find themselves
 completely detached from the rest of the world, even if they could
 easily use web-services to glue things. This is a clear marketing plus
 for us./listinfo/zope )

 - If Zope could be made to run under Jython (http://www.jython.org), 
 integration with J2EE would be virtually
 a no-brainer, b/c you are already inside a Java VM.

This is also a goal for Zope3 (a Jython implementation), though I'm not
sure when it'll land.

 Moreover, there is no indication of internal modularity and
 extensibility, SoC-based design, IoC design, data storage abstraction...
 and no indication on caching strategies, scalability and performance
 issues.

You are right that there is *way* too much magick in Zope.  That is the
main motivator behind Zope3, which is entirely component-driven. 
Architecturally, it is *excellent*, and I'm very excited about it.  I
could wax on for hours, but I won't right now.  Suffice to say everyone
in the 

Re: [Zope-dev] Re: Zope vs. Cocoon

2002-02-25 Thread Steve Alexander

Max M wrote:
 seb bacon wrote:
 
 Architecturally, it is *excellent*, and I'm very excited about it.  I
 could wax on for hours, but I won't right now.

 
 
 I only wish somebody would ... It is hard to figure it out fully by 
 reading only the online documentation.

Do the tutorial:

http://cvs.zope.org/Docs/Docs.tar.gz?tarball=1

--
Steve Alexander


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] Re: Zope vs. Cocoon

2002-02-25 Thread Stephan Richter

At 02:07 PM 2/25/2002 +, Steve Alexander wrote:
I only wish somebody would ... It is hard to figure it out fully by 
reading only the online documentation.

Do the tutorial:

http://cvs.zope.org/Docs/Docs.tar.gz?tarball=1

Well, and I'll repeat my offer from IPC10: In case you or your company 
cannot afford having Jim come to your place and you really want to develop 
on Zope 3 actively (that means you need to have some time to give to the 
community), I will be more than glad to give you the tutorial via the phone 
or some other media. I'll also will help via AIM...

Regards,
Stephan

--
Stephan Richter
CBU - Physics and Chemistry Student
Web2k - Web Design/Development  Technical Project Management


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



[Zope-dev] User Name in python script

2002-02-25 Thread Sebastian Sippl

Hi,

I need to get the name of the current user , in a python script

i know how to get it in dtml , but i cant figure out how to get it in a
python script.

Please help me 

Sebastian

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] User Name in python script

2002-02-25 Thread Evan Simpson

Sebastian Sippl wrote:
 I need to get the name of the current user , in a python script

In a recent Zope, you should be able to use:

from AccessControl import getSecurityManager
user = getSecurityManager().getUser()

Cheers,

Evan @ Zope


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] Re: Zope vs. Cocoon

2002-02-25 Thread Gilles Lenfant

I agree,

I've been lookin for a Zope site design guidelines like chapter in Zope site when I 
was a newbie but did not find consistent and comprehensive information.
You can only find various Howto in that matter.
Please correct me if I'm wrong.
So I made some spaghetti sites in my first 2 months of Zope practice before knowing 
how to place the best objects at the best place.

--Gilles

- Original Message - 
From: seb bacon [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Sent: Monday, February 25, 2002 2:18 PM
Subject: Re: [Zope-dev] Re: Zope vs. Cocoon

...

: 
: What Zope lacks IMO is good best practice guidance and detailed
: developer documentation, though it's getting there now.  Without best
: practice guidance, developers tend to choose the first development model
: they see, which at the moment tends towards heaps of quick-and-dirty
: through the web hacks and tricks.  This does give the illusion of Zope
: being an 'environment' rather than a 'framework', and encourages
: Zopish-looking sites, too.




___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists -
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] [ZEO] protocol problem

2002-02-25 Thread Leonardo Rochael Almeida


On Mon, 2002-02-25 at 05:44, Dieter Maurer wrote:
 [...]
 
 We use Zope 2.5 together with ZEO 1.0b5 and there seems to be
 a problem with the communication between Zope and ZEO.
 
   Several times a day, Zope reports that it has been disconnected form
   storage (a warning), that it tries to reconnect but fails
   due to error 131, 'Connection reset by peer'.

If your ZEO Client (ZC) is behind a masquerading firewall or other NAT
(with your ZEO Server (ZS) on the other side, obviously) you might be
getting a timeout from your firewall. If the ZC doesn't communicate with
the ZS for some time, the masquerading firewall might lose track of the
connection and when the ZC finally sends some data, the firewall sends
back an ICMP packet to the effect: 'Connection reset by peer' because it
doesn't know what the ZC is talking about.
 
   ZEO on the other hand reports that it had opened the connection
   and keeps it open until Zope stops.

The ZS will never know about the closed connection because (I believe)
it only sends data closely after the ZC sends data (so the firewall
knows the connection and won't complain).

If this is the case, you might want to increase the timeout on your
firewall or find a way to make the ZC talk to the ZS regularly so as to
keep the connection alive (it would be ideal if the ZEO protocol had a
keep-alive or PING or noop command that could be regularly sent down the
wire).

-- 
Ideas don't stay in some minds very long because they don't like
solitary confinement.


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] re: zope3 tutorial (was Re: Zope vs. Cocoon)

2002-02-25 Thread R. David Murray

On 25 Feb 2002, seb bacon wrote:
 But IMO the tutorial doesn't really demonstrate *why* the component
 architecture is a Good Thing.  If you're not familiar with the design
 patterns used, then I suspect it looks overly verbose and fairly
 opaque.  If you are familiar with GoF or suchlike, then you'll drool.

Maybe reading GoF should be listed as a pre-req.  I'm about 1/2 serious.

--RDM


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



Re: [Zope-dev] [ZEO] protocol problem

2002-02-25 Thread Dieter Maurer

Leonardo Rochael Almeida writes:
  On Mon, 2002-02-25 at 05:44, Dieter Maurer wrote:
   We use Zope 2.5 together with ZEO 1.0b5 and there seems to be
   a problem with the communication between Zope and ZEO.
   
 Several times a day, Zope reports that it has been disconnected form
 storage (a warning), that it tries to reconnect but fails
 due to error 131, 'Connection reset by peer'.
  
  If your ZEO Client (ZC) is behind a masquerading firewall or other NAT
  (with your ZEO Server (ZS) on the other side, obviously) you might be
  getting a timeout from your firewall. If the ZC doesn't communicate with
  the ZS for some time, the masquerading firewall might lose track of the
  connection and when the ZC finally sends some data, the firewall sends
  back an ICMP packet to the effect: 'Connection reset by peer' because it
  doesn't know what the ZC is talking about.
Thank you for your suggestions!

There is indeed a firewall between ZC and ZS, although it does no
masquerading or NAT. But, the problem usually happens when load
is light. Therefore, your assumption may be true that the problem
happens when ZC doens't communicate with the ZS for some time.

 ZEO on the other hand reports that it had opened the connection
 and keeps it open until Zope stops.
  
  The ZS will never know about the closed connection because (I believe)
  it only sends data closely after the ZC sends data (so the firewall
  knows the connection and won't complain).
  
  If this is the case, you might want to increase the timeout on your
  firewall or find a way to make the ZC talk to the ZS regularly so as to
  keep the connection alive (it would be ideal if the ZEO protocol had a
  keep-alive or PING or noop command that could be regularly sent down the
  wire).
I think, it has a noop.


Dieter

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )