[Zope] Not your usual way to get into Zope...

earth_to_zope@space.com earth_to_zope@space.com
23 Oct 2001 18:39:09 -0700


Hi all,
I have been keeping an eye on Zope development for a couple years, but never REALLY worked with it. Now I have been given a tarball of a Zope 1.10 application and given the job of making it run on a new server. It's running, using ZopeHTTPserver.

Under /manage there are three Z Table Subcollections:
kearney
copy_of_kearney
myTabula

This appears to be a fairly simple application. Businesses can enter their information into the database through a form and users can search the database by Business Name, Keyword, or Business Catagory.

/copy_of_kearney seems to work correctly (i think). It at least lets you search the current database without generating any errors.

/kearney has added three External Methods and it appears that at least one of these is causing a problem. The three External Methods are named:
stashSearchStats
clearSearchStats and
stats.txt

When you select a Business Catagory and hit "Search" you get a page that contains the following TraceBack:

<!--
Traceback (innermost last):
  File lib/python/ZPublisher/Publish.py, line 877, in publish_module
  File lib/python/ZPublisher/Publish.py, line 590, in publish
    (Info: /kearney/report)
  File lib/python/OFS/DTMLMethod.py, line 157, in __call__
    (Object: report)
  File lib/python/OFS/DTMLMethod.py, line 153, in __call__
    (Object: report)
  File lib/python/DocumentTemplate/DT_String.py, line 513, in __call__
    (Object: report)
  File lib/python/DocumentTemplate/DT_Util.py, line 266, in eval
    (Object: stashSearchStats(REQUEST=REQUEST))
  File &lt;string&gt;, line 0, in ?
  File /usr/local/dc/kearney-1.10/lib/python/Products/ExternalMethod/ExternalMethod.py, line 251, in __call__
    (Object: CopySource)
    (Info: ((), {'REQUEST': form:
	batch_size: '20'
	ALL_CATEGORIES: ['Agribusiness']
	COMPANY_NA: ''
	KEYWORDS: ''


environ:
	HTTP_REFERER: 'http://touchstone.unk.edu:9673/kearney/'
	CONTENT_TYPE: None
	PATH_TRANSLATED: '/usr/local/dc/kearney-1.10/kearney/report'
	GATEWAY_INTERFACE: 'CGI/1.1'
	HTTP_EXTENSION: 'Security/Remote-Passphrase'
	HTTP_ACCEPT_LANGUAGE: 'en'
	REMOTE_ADDR: '144.216.65.113'
	SERVER_NAME: 'touchstone.unk.edu'
	HTTP_CONNECTION: 'Keep-Alive'
	HTTP_USER_AGENT: 'Mozilla/4.0 (compatible; MSIE 5.0; Mac_PowerPC)'
	HTTP_ACCEPT: '*/*'
	HTTP_UA_CPU: 'PPC'
	QUERY_STRING: 'KEYWORDS=&amp;COMPANY_NA=&amp;ALL_CATEGORIES%3Alist=Agribusiness&amp;batch_size=20'
	SERVER_PROTOCOL: 'HTTP/1.0'
	SERVER_PORT: '9673'
	PATH_INFO: '/kearney/report'
	HTTP_HOST: 'touchstone.unk.edu:9673'
	REQUEST_METHOD: 'GET'
	SCRIPT_NAME: ''
	SERVER_SOFTWARE: 'ZopeHTTP/1.15 Python/1.5.1'
	HTTP_COOKIE: 'tree-s=eJzTiDY0NDCP1dEEAAoqAf8'
	HTTP_UA_OS: 'MacOS'


}, (None,)))
  File /usr/local/dc/kearney-1.10/lib/python/Products/ExternalMethod/ExternalMethod.py, line 246, in __call__
    (Object: CopySource)
    (Info: ((), {'REQUEST': form:
	batch_size: '20'
	ALL_CATEGORIES: ['Agribusiness']
	COMPANY_NA: ''
	KEYWORDS: ''


environ:
	HTTP_REFERER: 'http://touchstone.unk.edu:9673/kearney/'
	CONTENT_TYPE: None
	PATH_TRANSLATED: '/usr/local/dc/kearney-1.10/kearney/report'
	GATEWAY_INTERFACE: 'CGI/1.1'
	HTTP_EXTENSION: 'Security/Remote-Passphrase'
	HTTP_ACCEPT_LANGUAGE: 'en'
	REMOTE_ADDR: '144.216.65.113'
	SERVER_NAME: 'touchstone.unk.edu'
	HTTP_CONNECTION: 'Keep-Alive'
	HTTP_USER_AGENT: 'Mozilla/4.0 (compatible; MSIE 5.0; Mac_PowerPC)'
	HTTP_ACCEPT: '*/*'
	HTTP_UA_CPU: 'PPC'
	QUERY_STRING: 'KEYWORDS=&amp;COMPANY_NA=&amp;ALL_CATEGORIES%3Alist=Agribusiness&amp;batch_size=20'
	SERVER_PROTOCOL: 'HTTP/1.0'
	SERVER_PORT: '9673'
	PATH_INFO: '/kearney/report'
	HTTP_HOST: 'touchstone.unk.edu:9673'
	REQUEST_METHOD: 'GET'
	SCRIPT_NAME: ''
	SERVER_SOFTWARE: 'ZopeHTTP/1.15 Python/1.5.1'
	HTTP_COOKIE: 'tree-s=eJzTiDY0NDCP1dEEAAoqAf8'
	HTTP_UA_OS: 'MacOS'


}, (None,)))
  File /usr/local/dc/kearney-1.10/Extensions/ReportHook.py, line 7, in Hook
    (Object: DPBase)
IOError: (see above)

-->


Can anyone give me a pointer on where to look for this problem? I suspect it is in the lastmost part: ReportHook.py  as the External Method "stashSearchStats" has a Function Name of "Hook" and a Python Module Filename of "ReportHook". But what is the nature of the I/O error?

Also, I noticed that the Zope-1.10 installation gave me another Python installation (it was already on the server as part of the RedHat 7.1 installation.) Is this a possible point of confusion, or does Zope know to look only within it's own directories for the Python and modules to use?

Finally, are there any Zope equivalent of text.cgis that can return environmental variables and help me troubleshoot things?

Many thanks for enduring this long post. Mega-thanks to any who respond!

Darren
earth_to_zope@space.com

___________________________________________________________________
Join the Space Program: Get FREE E-mail at http://www.space.com.