[Seaside] SULibrary and File Serving
philippe.marschall at gmail.com
Sat Oct 6 20:41:04 UTC 2007
2007/10/6, Richard K Eng <richard.eng at rogers.com>:
> Okay, so I have this terrific Seaside application and I want to deploy it on
> a Linux server (Ubuntu "Feisty Fawn"). (Currently, it's being developed on a
> Vista machine.) When the app is run locally on my Vista box, it runs
> perfectly. In particular, the "lightbox" effect for #inform: and #confirm:
> works just fine.
> HOWEVER, over the Internet, I lose the "lightbox" effect on the Linux server
> running the exact same app. I believe there is some issue with Apache file
> serving, Seaside file serving, and SULibrary. I've spent two days trying to
> figure this out and I'm getting absolutely nowhere. I desperately need help.
> Here's my httpd.conf file:
> 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 /goodsexnetwork
> ProxyPassReverse /goodsexnetwork
> ProxyPass /goodsexspace
> ProxyPassReverse /goodsexspace
> RewriteRule ^/$
> http://localhost:9090/seaside/goodsexnetwork/$1 [P,L]
> The httpd.conf file is used with a plain vanilla Apache2 installation with
> no other modifications. All the CSS files and static images that adorn my
> application reside in /var/www. Like I said, so far so good, everything runs
> fine except for the lightbox effect.
> The Seaside image has been configured for file serving thusly:
> | ma seaside |
> HttpService allInstancesDo: [:each | each stop. each unregister].
> WAKom stop.
> seaside := WAKom default.
> ma := ModuleAssembly core.
> ma serverRoot: FileDirectory default fullName.
> ma alias: '/seaside' to: [ma addPlug: [:request | seaside process:
> ma documentRoot: FileDirectory default fullName.
> ma directoryIndex: 'index.html index.htm'.
> ma serveFiles.
> (HttpService startOn: 9090 named: 'httpd') plug: ma rootModule
> (FYI, FileDirectory default fullName --> /home/richard/seaside/ where the
> Seaside image is.)
> So the question is, in this environment, how do I get SULibrary to be served
> up to the Seaside app in order to restore the lightbox effect (if indeed
> this is the exact nature of the problem)? Remember, it's only an issue when
> the app is running with Apache over the Internet.
> (BTW, I don't quite understand where SULibrary resides, but I think it's
> somehow "embedded" inside Seaside.)
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.
> seaside mailing list
> seaside at lists.squeakfoundation.org
More information about the seaside