[Seaside] updateRoot: Weirdness

Keith Hodges keith_hodges at yahoo.co.uk
Fri Jul 20 11:11:27 UTC 2007

 Dear Jason,
> Keith, I have never said this to you before (or thought it about you 
> as far as I recall) but you are off-base here.  Seaside doesn't serve 
> files because it isn't a web server.  It can't even serve itself, it 
> relies on a web server to do
We are talking about 2 different things. There is 'seaside' the html 
generator with bells on. And 'Seaside' the solution. These are two 
different things.

I am complaining that 'Seaside the solution', doesn't have some basics, 
and you are indicating that my criticism is unfounded because 'seaside' 
the the html generator is not a file serving web server.

So to some extent we are talking at cross purposes here, but I am not 
sure you are getting my overall point which is deeper than that.

Indeed 'Seaside' the solution, if you look closely at the (as far as I 
know undocumented) api WAKom probably does have all the pieces that are 
needed but, it appears that you are on your own when it comes to pulling 
all of these pieces together coherently. 

My overall point is that 'seaside' exists as part of bigger solution and 
so needs integrating with other things. It is not apparent to me that 
'seaside' the code is being developed with 'Seaside the solution' in 
mind. I think we lack vision as to what 'seaside the solution actually 
(should) consists of.'

A worked example to try and explain exactly what I mean.  I have some 
resources being served by MyFileLibrary,
In my html generation code I use

html image url: (MyFileLibrary / #logoPng)

This appears to be the most concise mechanism of referencing a served 

So now I configure uncle bobs webserver, comanche whatever to serve my 
files instead... and the mechanism for switching to this better solution is?

a) write my own class to generate urls which target the new server. 
Replace all references to MyFileLibrary / fileSelector with 
UBFileLibrary, or perhaps put the hard wired urls in instead.

Thats not really a solution (user/author/builder level) thats coding 
(programmer/architect level).

Ok, so I want to write UBFileLibrary to reference my externally served 
files, where do I start. How much help do I have from 'seaside' itself. 
Is there an object somewhere I can simply change a configuration setting 
on to point to my new file server, or is some coding necessary? Ok if I 
am going to code something up who do I subclass. WAFileLibrary, or 
WALibrary, or in worst case start from scratch from Object?

Ok if I subclass WAFileLibrary... the urls generated are hardwired to 
the class name! I have no choice my files have to be served at 
http://samehost/<entryPoint>/UBFileLibrary/logo.gif etc. This seems a 
little restrictive, if I want to change it, I would have to change the 
whole WALibrary implementation not to use the class name everywhere.

Lets say I am at a university and they have a set up where I can put all 
my own website stuff on the public servers at 
myuniversity.ac.uk/~myaccount/logo.gif etc ? In that case I am 
definitely beyond the remit of any of the WALibrary classes, I have to 
start from scratch using Object, or put hard wired urls in my code.

This leads me to my conclusion, apart from WAFileLibrary which is 
extremely limited in scope.

'Seaside the solution'  does not have any configurable solution for 
serving files/resources, and neither does 'seaside' the html generator 
have any solution for integrating with such a solution should it exist.

So yes I stand by my observation that 'Seaside' lacks some basics of 
which file serving is the primary example, and 'seaside' is not 
providing any configurable hooks that could lead me to conclude it 
supports serving files either.

best regards


More information about the Seaside mailing list