RE: [Zope] - RE: First install, First connect
Janko writes, concerning Dave's "Document Contains No Data" post:
Uh, from someone with Zen-level 0.1. All the information your site wants to publish and a lot more are in exactly these data.* files, which are objectstores. Manage is not a html-form or page but a method of Zope which evaluates in the current context and gives you a managment screen for the parent object.
Point of clarification here. Many of the built-in things in Zope are class methods. The templates for "manage" (the frameset), "manage_menu" (the left hand navigator), and "manage_main" (the right-hand folder contents) are all class methods. Thus, they don't go into the object database until you edit them in a folder. While it probably doesn't seem possible to create a new "main" method for a folder, well, it is...but not yet documented. *One* of the features of Zope classes is that they allow you to define your own Documents as the management interface for instances of your class. Thus, the "manage" document is actually manage.dtml which is bound as a class method to the Zope folder class. Of course, I haven't been allowed to write Python code in a year, so I might be all wrong :^) Here are two debugging steps that I suggest: 1) telnet to 80 and do "GET /index_html HTTP/1.0" then hit return twice. Email the results to the list. 2) Harness the True Power (tm) of the now-barely-documented Zope Debugger. When we get complete documentation this will be perfectly clear. The Zope Debugger is basically the Python debugger (already documented) with a number of conveniences for Zope built in. After shutting down the server, with one command you could launch the debugger with all the request information such as authentication and step straight to the "manage" object. --Paul
On Wed, 9 Dec 1998, Paul Everitt wrote:
1) telnet to 80 and do "GET /index_html HTTP/1.0" then hit return twice. Email the results to the list.
I noticed this about Zope a few days ago. I'm the type of sick bastard that likes to telnet into my web and pop3 servers and issue commands directly. One thing I noticed, when I telnet into apache and do a "GET /" I only have to hit enter once, but when I telnet into Zope or for that matter BoboHTTPD I have to hit enter twice? I have no real knowledge of the HTTP protocol but is one of these programs not compliant? The only reason I ask, and why I've been poking around a bit is that I notice the response from Zope is rather slow compared to Principia 1.7 or some of the other Bobo apps that I have written. -Scott Robertson CodeIt Computing
On Wed, 9 Dec 1998, Scott Robertson wrote:
On Wed, 9 Dec 1998, Paul Everitt wrote:
1) telnet to 80 and do "GET /index_html HTTP/1.0" then hit return twice. Email the results to the list.
I noticed this about Zope a few days ago. I'm the type of sick bastard that likes to telnet into my web and pop3 servers and issue commands directly. One thing I noticed, when I telnet into apache and do a "GET /" I only have to hit enter once, but when I telnet into Zope or for that matter BoboHTTPD I have to hit enter twice? I have no real knowledge of the HTTP protocol but is one of these programs not compliant?
Technically, an HTTP request should look like this: GET /index_html HTTP/1.0 Host: ... User-Agent: ... <blank line> <maybe multipart form data> The headers after the request are optional, and there are many more that could be supplied. With HTTP before 1.0, you did not need to specify the protocol version, and that earlier versions didn't have anything beyond the GET command. If you try "GET /" vs. "GET / HTTP/1.0", you will see much different behavior, including in the response, at least with Apache. The python BaseHTTPRequestHandler, however, always reads at least two lines. This doesn't seem to break any client that I've ever heard of. Read the docs in BaseHTTPServer.py and that might help a bit. And visit http://www.w3c.org/Protocols for formal specs for HTTP/1.0 and HTTP/1.1 (among other things). -- Andy Dustman You should always say "spam" and "eggs" ComStar Communications Corp. instead of "foo" and "bar" (706) 549-7689 | PGP KeyID=0xC72F3F1D in Python examples. (Mark Lutz)
participants (3)
-
Andy Dustman -
Paul Everitt -
Scott Robertson