[Seaside] SULibrary and File Serving

Richard Eng richard.eng at rogers.com
Sun Oct 7 16:04:46 UTC 2007


There are no other suggestions?

Here's a nice simplification of the problem that I've been able to
replicate:

1) Create a simple Seaside app (or even use Seaside config). Make sure the
deployment flag is false.

2) Run the app over the Internet via Apache2 using the following httpd.conf=
:

LoadModule  proxy_module  /usr/lib/apache2/modules/mod_proxy.so
LoadModule  proxy_http_module  /usr/lib/apache2/modules/mod_proxy_http.so
LoadModule  rewrite_module  /usr/lib/apache2/modules/mod_rewrite.so

NameVirtualHost 192.168.1.101:80

<VirtualHost 192.168.1.101:80>
RewriteEngine     on
ProxyRequests     off
DocumentRoot      /var/www
ProxyPass         /MyApp  http://localhost:9090/seaside/MyApp
ProxyPassReverse  /MyApp  http://localhost:9090/seaside/MyApp
</VirtualHost>

3) Note that the footer line "New Session Configure Toggle Halos..." is not
formatted properly. And if you click on "Toggle Halos", you don't see the
little images at the top of the webpage for System Browser, Inspector, and
Style Editor. This is because Seaside is unable to find WAStandardFiles,
which contains the necessary stylesheets and image gifs.

Running MyApp locally on the same Linux server, and bypassing Apache,
everything works fine. So, using Apache as I've configured it, Seaside is
unable to access its own libraries.

Surely someone knows what's going on. This is a pretty serious problem for
Seaside.

Richard

---------
Hi, Philippe. Several comments:

First, I=A9=F6m no longer using Seaside 2.8. Damien=A9=F6s beta dev image seems to =
be
broken because I can=A9=F6t get it to work on Linux (it works just fine locally
on my Vista machine, however). So I=A9=F6m using the last Squeak 3.9/Seaside 2.=
7
stable dev image from Damien (dated August).

Second, I=A9=F6ve done as you suggested, writing to disk all the files from bot=
h
SULibrary and WAStandardFiles (these are the only two libraries specified i=
n
my app config). However, it doesn't help--the problem is still there.

Since the app is configured to serve files from /home/richard/seaside, I pu=
t
the SULibrary files in /home/richard/seaside/files/SULibrary/. When this
didn't work, I tried putting them in /var/www/seaside/files/SULibrary/.
Again, no luck.

I've tried several other permutations but my Seaside app stubbornly refuses
to recognize them.

Complicating matters, either Apache or Seaside is doing some kind of weird
caching that makes it very difficult to determine whether I've got the righ=
t
solution. I found this to be especially true when trying to get Apache file
serving to work with Seaside. After going around in circles with various
attempts, Apache file serving suddenly started working for no apparent
reason. Frickin' weird!


Third, on an unrelated note, I've also noticed that #setFocus on text input
fields doesn't work over the Internet (via Apache), either. So I'm
experiencing a LOT of Linux server deployment problems.

Regards,
Richard

-------
It's at /seaside/files/SULibrary/whatever.js I think that should
answer your questions. Note that the URLs are static so they could
very well also be served by Apache. Given you have a recent version of
Seaside 2.8 you can esily file out all the files by:
- go to /seaside/config
- configure the files application
- configure the SULibrary application
- push 'write to disk'
You should then have a folder named SULibrary in the folder of your
Smalltalk image. There all the JS files of SULibrary should reside.

Cheers
Philippe




More information about the seaside mailing list