[Zope] SiteAccess affects the Zope management interface

Fred Yankowski fred@ontosys.com
Wed, 31 Jan 2001 13:01:55 -0600


I hadn't realized it before, but SiteAccess can cause really confusing
things in the Zope management interface!  When I installed Zope 2.3.0
and ran it on an unused port number to check it out while the main
Zope was still running, the top-level Zope folder displayed with the
new look (which is very well done, BTW), but when I would drill down
into a folder governed by a SiteRoot object the folders appeared with
the old (2.2.x) look.  This was quite a mystery until I realized that
although the tree frame on the left (and the new top frame) were
displaying pages served by the new Zope 2.3.0 process, the
right/folder frame was actually displaying a page served by my
older production Zope process running Zope 2.2.5!

My Zope tree is something like this:

	/
	+ /subsite1
	+ /subsite2

subsite1 has a SiteRoot that gives the folder a new Base of
"http://subsite1.org".  Apache is sitting on port 80 and using
ProxyPass to map http://subsite1.org to
http://myhost.org:8080/subsite1.  Assume the new Zope ZServer is
running on port 9090.  So the listing for 'subsite1' in the tree
display has an HREF of http://myhost.org:9090/subsite1/manage_main.
When I click on that, the browser requests that URL from Zope on
myhost.org:9090.  Because of the SiteRoot object, the server sends
back an HTTP 302 response redirecting the browser to
http://subsite1.org/manage_main, which the browser dutifully requests.
The Apache server gets that request and forwards it via ProxyPass to
http://myhost.org:8080/subsite1/manage_main.  The other/older Zope
server on port 8080 fields that request (with SiteAccess converting
URLs) and sends it back to the browser, which displays it in the
large/right frame.  So now the left frame is displaying the objects
served by ZServer on port 8080 but the right frame is displaying the
contents of some object served by ZServer on port 9090.

One outcome of this for me is that I will now test the staging server
by running it this way (from bash):

	SUPPRESS_SITEROOT=1 ./start.bat

so that SiteRoot translations are disabled.

-- 
Fred Yankowski           fred@OntoSys.com      tel: +1.630.879.1312
Principal Consultant     www.OntoSys.com       fax: +1.630.879.1370
OntoSys, Inc             38W242 Deerpath Rd, Batavia, IL 60510, USA