[Seaside] Meaningful URLs was (Re: HV intro...) on the Squeak list

Julian Fitzell julian@beta4.com
Tue, 16 Apr 2002 11:04:56 -0700


Jimmie Houchin wrote:
> I have not had much opportunity to delve into Seaside, but this message
> caught my attention when it was posted to the Squeak list.
> 
>>From my understanding from the below, Seaside does not not have
> "meaningful URLs" which could be bookmarked? Do I understand correctly?
> 
>>From my understanding there should be nothing mutually exclusive about
> having an understandable "meaningful" URLs and (sessions and
> transactions).
> 
> One thing I always liked about Zope is the that URLs are understandable
> and bookmarkable. I like that as a website user. I patently despise
> ugly, unreadable URLs.
> 
> Zope is dynamic, sessionable, and transactioning.
> 
> Do I misunderstand something about Seaside and Zope?
> I am not current on Zope at the moment.
> 
> What about Seaside requires non-meaningful URLs?
> What about the features that Seaside aspires to have requires
> non-meaningful URLs.

The reason seaside has ugly URLs as compared to Zope is that in Zope you 
create a complete html chunk and manually put in links to other pages by 
name. Seaside is much more dynamic than that.  A link is given an id, 
and the action performed by that link can be changed through bindings. 
So Seaside needs to generate a URL that uniquely identifies a specific 
action triggered by a link on a specific instance of a page view.  The 
URLs aren't that ugly, really, they just have a few numbers that 
uniquely identify exactly what point you are at in the application.

> URLs which are bookmarkable and emailable are a valuable feature. One
> that I greatly desire. I don't think that dynamism, et al, require
> giving up such. (From my naive point of view).

Although I agree that websites with bookmarkable URLs are nice I'm not 
sure I agree that the same is true of web applications, which is what 
seaside is designed for.  It makes no more sense for me to bookmark the 
point at which I was half done adding a comment to bug 317 in a seaside 
bug tracker than it does for me to bookmark the point just before I 
typed "foo" on page 37 of some document in Word.

What you need to bookmark is applications, not specific runs of an 
application and that is simple to do since you can enter an application 
with a URL as simple as http://foo.com/seaside/bar.  You can create as 
many applications as you want so if you have different points in your 
application that you want the user to be able to start at you can create 
simple wrapper components that start in the right place, create a new 
application and voila.

> Thanks for any help at understanding Seasides point of view on this both
> technically and philosophically. :)
> 
> Jimmie Houchin

So while I also hate websites with ugly URLs in theory, I really can't 
think of a solution that allows the server to uniquely identify where in 
time the user is in an application.  Remember that Seaside allows 
backtracking using the browser's back button too, so you can't just 
remember the current state of the application like you might in a PHP 
session variable, you actually need to know, when a user clicks on a 
link, whether they're clicking on it on the current page view or whether 
they've hit back 10 times and are clicking on it on a page view before 
having made some other modification to the state.

Hope that clears things up a little,

Julian

-- 
julian@beta4.com
Beta4 Productions (http://www.beta4.com)