Howard, I for one agree that WYSIWYG is more imprtant
than pretty URL's.

I also would resist solutions that are brittle.  My
philosophy on design is similar to Paul Graham's... if
it isn't beautiful, there must be a better way.   I
think that is what I hear you saying.  So I will keep
thinking on this... maybe someone can come up with a
better solution than any of us have thought up so
far...

http://paulgraham.com/taste.html


--- [EMAIL PROTECTED] wrote:
> Just wanted to say that I really, really, really
> wanted Tapestry URLs to be 
> pretty, but it just doesn't work ... unless we
> through the WYSIWYG aspect out 
> the door!
> 
> Another option, which I'm a little loath to get
> into, is to identify relative 
> URLs in the HTML template and convert them to
> absolute URLs dynamically.  This 
> allows the template to live in the context root with
> relative URLs to assets 
> under the context root but at runtime, the relative
> URLs become complete URLs 
> (well, technically, URIs).
> 
> That is,
> 
> <img src="images/button.gif"/>
> 
> Would be translate to:
> 
> <img src="/context-name/images/button.gif"/>
> 
> Where /context-name is determined at runtime.
> 
> What the hell, might as well localize it on the fly,
> too:
> 
> <img src="/context-name/images/button_de.gif"/>
> 
> 
> Again, the downside is accurately locating these
> URLs in the HTML template; 
> they show up in various tags, in stylesheets ... and
> in JavaScript!  So its not 
> trivial, but probably should be examined!
> 
> And ... once you've done all that, you still
> wouldn't want to hack the URL with 
> any expectation of getting anything but the
> exception page ...
> 
> 
> --
> [EMAIL PROTECTED]
> 
> http://tapestry.sf.net
> > Howard, thanks for the resonse, and I will think
> on
> > this.
> > 
> > Scot
> > 
> > 
> > --- [EMAIL PROTECTED] wrote:
> > > Encoding information in the path info was, in
> fact,
> > > the way Tapestry originally 
> > > operated.
> > > 
> > > It has a few defects.
> > > 
> > > As you wander the application, your base URL
> (used,
> > > by the client browser, to 
> > > calculate relative URLs) varies considerably ...
> > > this is especially bad in 
> > > Tapestry, because the number of "terms" in the
> path
> > > info varies depending on 
> > > service.
> > > 
> > > The end result is that you have to use absolute,
> not
> > > relative, paths to all 
> > > your static resources (images, stylesheets,
> etc.).
> > > 
> > > Worse, the first "term" in the URL is "/context"
> (as
> > > in "/context/servlet?
> > > service=....").  This is variable depending on
> > > deployment, so you end up in a 
> > > situtation where your implementation mandates a
> > > deployment detail that is 
> > > supposed to be variable.
> > > 
> > > That's why Sun (in model 1 and 2) strongly
> suggests
> > > that you always use 
> > > relative URLs to assets.
> > > 
> > > --
> > > [EMAIL PROTECTED]
> > > 
> > > http://tapestry.sf.net
> > > > Howard,
> > > > 
> > > > I have an idea for the URL's that you could
> > > probably
> > > > either confirm or shoot down pretty quickly.
> > > > 
> > > > What about the way Amazon does it?  Of course
> I
> > > don't
> > > > understand all the details, but here are some
> > > basics:
> > > > 
> > > > 1. Here is a pretty URL that goes to a unique
> > > page,
> > > > but is stateless
> > > >
> http://www.amazon.com/exec/obidos/ASIN/0618260587
> > > > 
> > > > 2. One a person goes to that page, state is
> added
> > > > automatically so taht it looks like
> > > >
> > >
> >
>
http://www.amazon.com/exec/obidos/ASIN/0618260587/102-3321578-2400930
> > > > 
> > > > 3. The URL actually contains state, but
> without
> > > using
> > > > the querystring indicator, i.e. "?"
> > > > 
> > > > Now, there are two key points about this form
> of
> > > URL.
> > > > A) It looks like a stateless URL so all search
> > > engines
> > > > will crawl it and record it.  B)
> > > > 
> > > > 4. If someone else was to go to Amazon using
> the
> > > URL
> > > > in #2 above, it would be silently converted to
> > > > represent their session with Amazon, not mine.
>  In
> > > > other words, the part of the URL that has
> state
> > > would
> > > > cause an internal Tapestry exception, since it
> > > would
> > > > be invalid.  Then Tapestry would create a new
> > > session
> > > > (Visit) and attach it to the end of the URL.
> > > > 
> > > > Now, as I see it, there are two very important
> > > > objectives Amazon has achieved by using this
> form
> > > of
> > > > URL.
> > > > 
> > > > 1. There is no query string (i.e. "?")
> indicator. 
> > > > This means that all search engines will now be
> > > able to
> > > > catalog my site.  In e-commerce, this is
> > > absolutely
> > > > essential.
> > > > 
> > > > 2. I can send this URL to someone else, or
> > > bookmark
> > > > it, and it will still work.  Again, this is
> > > essential
> > > > for e-commerce.
> > > > 
> > > > Now, on the downside, I admit that the URL is
> not
> > > > pretty in the sense that it is hierarchical,
> but
> > > it
> > > > would at least achieve two of the three goals.
> > > > 
> > > > Also, please know that I have not developed
> any
> > > > Tapestry applications.  I have just completed
> my
> > > first
> > > > read-through of the developers guide, and will
> > > start
> > > > later this month.
> > > > 
> > > > Thanks for your consideration,
> > > > Scot
> > > > 
> > > > 
> > > > --- "Andrew C. Oliver" <[EMAIL PROTECTED]>
> > > wrote:
> > > > > I understand.  I just suggest people do care
> > > about
> > > > > such things.  Myself 
> > > > > included.  That is all.
> > > > > 
> > > > > -Andy
> > > > > 
> > > > > Howard M. Lewis Ship wrote:
> > > > > 
> 
=== message truncated ===

__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com


-------------------------------------------------------
This SF.NET email is sponsored by: Geek Gift Procrastinating?
Get the perfect geek gift now!  Before the Holidays pass you by.
T H I N K G E E K . C O M      http://www.thinkgeek.com/sf/
_______________________________________________
Tapestry-developer mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/tapestry-developer

Reply via email to