On 1/24/06, Jörn Nettingsmeier <[EMAIL PROTECTED]> wrote:
> [EMAIL PROTECTED] wrote:
> > Devs - One of the reasons to move Modules/Usecases to the Area part of
> > the URL is so this is possible without using the querystring.  Instead
> > of:
> >   http://myserver/mypub/live/doc.html?lenya.module=xsl&xsl=differentxsl
> > use:
> >   http://myserver/mypub/xsl/differentxsl/doc.html
> > (assuming the new module is named "xsl" and requires one parameter.)
> > Using my code, the "xsl" Module does its magic and passes processing
> > to the "live" module.
> please don't move parameters or usecase identifiers into the uri.
> most search engines and robots handle uris and get params differently,
> and they know why. controls that define the looks of a page (as opposed
> to the content) should be in a GET parameter.
> a uri is a resource identifier, note the "uniform" part. :-D
> sticking presentation or session-related information into the uri is
> just abysmally wrong.

Lenya uses parameters and usecase identifiers to create unique pages:
http://myserver/mypub/live/index.html => Homepage
http://myserver/mypub/live/index.html?lenya.usecase=login => Login page
http://myserver/mypub/live/index.html?lenya.usecase=map => Sitemap

These "parameters" define distinct pages, and should be handled by
search engines and robots as such.  This could be improved by changing
the URLs to:
http://myserver/mypub/live/index.html => Homepage
http://myserver/mypub/login => Login page
http://myserver/mypub/map => Sitemap

How is this bad?

The example you quoted was about using different stylesheets for one
document.  One could have the full navigation.  One stylesheet could
be "printable" with no navigation.  One could show META information. 
One could show only the Headers.  Each can have a different layout and
different graphics.  A visitor would consider them to be distinct
pages, so why is an important part of the URI in the querystring?

For the record, the "parameters" in a URL are called the "querystring"
because their first use was searching.  But even the following URLs
produce distinct pages:
http://www.google.com/search?q=apache
http://www.google.com/search?q=lenya

The querystring is sent as part of the GET line of HTTP.  In the old
days, websites would use an exclamation mark rather than a question
mark before their parameters just so search engines and robots would
see distinct URLs.

> imho, even the area part itself is wrong, but since the users won't ever
> see the "authoring" part, i just shrug and live with it. but the url
> kludge is definitely the least sexy part of lenya.

Yes, that is why many sites proxy to hide the "/pubname/live".  But
the "?lenya.usecase=login" is more difficult to hide.

I want to move "live" and "authoring" to Usecases, except we are
calling them "Modules" now.  I want the Module name to replace the
Area.  I want the "live" Module to be the default so it is not
required in the URL.  It should also be easy to configure one of the
Publications as the default so the server's homepage is a
Publication's "live" homepage without specifying either the
publication name or "live" in the URL.  Would you consider these
improvements?

> from solprovider's suggestion it's a small step to including session
> cookies in the uri. don't laugh, there are a couple hare-brained cm
> systems out there that do exactly that.

Lenya uses javax.servlet.http.HttpServletResponse.encodeRedirectURL(),
which puts the session id in the URL unless it has received a valid
Cookie from the browser.  All good architectures have an alternative
for old or crippled client software.  Disable Cookies for a Lenya site
if you want to test it.

solprovider

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to