From: Jay L. <js...@js...> - 2000-12-14 22:25:49
|
I have just committed my changes to be able to use URL's which have attached extra path information. The objective here is to have a URL that says http://localhost/News/11/2/4 And have the servlet/page News get the request, with the information 11/2/4 available. It's just another way to make URLs more readable. To enable this functionality, you'll need to edit Application.config and set 'ExtraPathInfo' to 1. To get the extra path info, call request.extraPathInfo(). One issue here is that relative URL's in you servlet/psppage wll be broken. If you have a link in your page like so: <a href="anotherpage.psp">Another Page </a> the url your webbrowser would generate would be http://localhost/News/11/2/anotherpage.psp. To remedy this, use the <BASE HREF="..."> tag at the top of your page. To make this easier, I added a function to HTTPRequest that will return the URL of the page without any extra path info attached. It is serverURLDir. It does NOT include the http://. So at the top of a PSP page, you would add: <BASE HREF="http://<%= req.serverURLDir() %>"> or in a servlet, self.write('<BASE HREF="http://') self.request().serverURLDir() self.write('">') Jay |
From: Chuck E. <ec...@mi...> - 2000-12-14 23:36:58
|
Two suggestions. 1. Regarding the name of "extraPathInfo()" two thoughts come to mind. One is that there are always two kinds of paths with regards to requests: the URL path and the corresponding server side path. Most of our other path methods (maybe all of them) indicate this (urlPath(), serverSidePath()). Also, in my experience a method with "info" as a suffix usually returns some kind of a information in a tuple or dictionary, like sys.exc_info() or DBAPI.Cursor.info(). In light of this, I'd like to see the method called "extraURLPath()" or something similar. 2. I wouldn't be opposed to Page.writeHeader() checking the setting concerning extra URL paths and generating the BASE HREF automatically. This is the type of convenience Page is intended to provide. Feel free to comment. -Chuck At 05:33 PM 12/14/2000 -0500, Jay Love wrote: >I have just committed my changes to be able to use URL's which have >attached extra path information. > >The objective here is to have a URL that says >http://localhost/News/11/2/4 >And have the servlet/page News get the request, with the information >11/2/4 available. It's just another way to make URLs more readable. > >To enable this functionality, you'll need to edit Application.config and >set 'ExtraPathInfo' to 1. > >To get the extra path info, call request.extraPathInfo(). > >One issue here is that relative URL's in you servlet/psppage wll be >broken. If you have a link in your page like so: ><a href="anotherpage.psp">Another Page </a> >the url your webbrowser would generate would be >http://localhost/News/11/2/anotherpage.psp. > >To remedy this, use the <BASE HREF="..."> tag at the top of your page. >To make this easier, I added a function to HTTPRequest that will return >the URL of the page without any extra path info attached. It is >serverURLDir. It does NOT include the http://. > >So at the top of a PSP page, you would add: ><BASE HREF="http://<%= req.serverURLDir() %>"> > >or in a servlet, >self.write('<BASE HREF="http://') >self.request().serverURLDir() >self.write('">') > > >Jay > >_______________________________________________ >Webware-discuss mailing list >Web...@li... >http://lists.sourceforge.net/mailman/listinfo/webware-discuss |
From: Tom S. <tom...@li...> - 2000-12-15 13:50:09
|
Chuck Esterbrook wrote: > > Two suggestions. > > 1. Regarding the name of "extraPathInfo()" two thoughts come to mind. One > is that there are always two kinds of paths with regards to requests: the > URL path and the corresponding server side path. Most of our other path > methods (maybe all of them) indicate this (urlPath(), serverSidePath()). > > Also, in my experience a method with "info" as a suffix usually returns > some kind of a information in a tuple or dictionary, like sys.exc_info() or > DBAPI.Cursor.info(). > > In light of this, I'd like to see the method called "extraURLPath()" or > something similar. _extraPathInfo is the variabele name used internally, so extraPathInfo() is not a bad choice, but according to the Webware policy guide extraURLPath() seems a more natural name. Stuff like self._extraPathInfo = None should be changed accordingly after a methot name change, otherwise it would be somethat confusing.. If this name is going to be changed, just do it fast, because I'm writing about Webware today and will use this for examples :-) 'ExtraPathInfo' : 1, #comment the comment is not in one line which stops Webware from starting (small bug in the CVS version), otherwise it seems to works nicely and has the same performance.. In any case, this new code is really cool. > 2. I wouldn't be opposed to Page.writeHeader() checking the setting > concerning extra URL paths and generating the BASE HREF automatically. This > is the type of convenience Page is intended to provide. the method should be overridable in a subclass, because the behaviour is not that odd as it seems first def writeHeader(self, ...): .. writeBaseHRef(self) def writeBaseHRef(self,...) .... default behaviour: write the BASE HREF just my 2 cents -- Tom Schwaller http://www.linux-community.de |
From: Jay L. <js...@js...> - 2000-12-15 14:15:01
|
I like Tom's suggested name. I'll change everything to use extraURLPath. On the automatic writing of the Base HREF, I won't make that change immediately. Anyone have more feedback? Jay Tom Schwaller wrote: > Chuck Esterbrook wrote: > > > > Two suggestions. > > > > 1. Regarding the name of "extraPathInfo()" two thoughts come to mind. One > > is that there are always two kinds of paths with regards to requests: the > > URL path and the corresponding server side path. Most of our other path > > methods (maybe all of them) indicate this (urlPath(), serverSidePath()). > > > > Also, in my experience a method with "info" as a suffix usually returns > > some kind of a information in a tuple or dictionary, like sys.exc_info() or > > DBAPI.Cursor.info(). > > > > In light of this, I'd like to see the method called "extraURLPath()" or > > something similar. > > _extraPathInfo is the variabele name used internally, > so extraPathInfo() is not a bad choice, but according to the > Webware policy guide extraURLPath() seems a more natural name. > > Stuff like self._extraPathInfo = None > should be changed accordingly after a methot name change, > otherwise it would be somethat confusing.. > > If this name is going to be changed, just do it fast, because I'm > writing about Webware today and will use this for examples :-) > > 'ExtraPathInfo' : 1, #comment > > the comment is not in one line which stops > Webware from starting (small bug in the CVS version), > otherwise it seems to works nicely and has the same performance.. > > In any case, this new code is really cool. > > > 2. I wouldn't be opposed to Page.writeHeader() checking the setting > > concerning extra URL paths and generating the BASE HREF automatically. This > > is the type of convenience Page is intended to provide. > > the method should be overridable in a subclass, because the > behaviour is not that odd as it seems first > > def writeHeader(self, ...): > .. > writeBaseHRef(self) > > def writeBaseHRef(self,...) > .... > > default behaviour: write the BASE HREF > > just my 2 cents > > -- > Tom Schwaller > http://www.linux-community.de > _______________________________________________ > Webware-discuss mailing list > Web...@li... > http://lists.sourceforge.net/mailman/listinfo/webware-discuss |
From: Chuck E. <ec...@mi...> - 2000-12-15 14:20:22
|
At 09:22 AM 12/15/2000 -0500, Jay Love wrote: >I like Tom's suggested name. I'll change everything to use extraURLPath. Er, that's the same name right? I think Tom just pointed out the attribute name should change with it... >On the automatic writing of the Base HREF, I won't make that change >immediately. Anyone have more feedback? Yes, I do. :-) I very much like Tom's idea of separating it out into a writeBaseHRef() method. -Chuck |
From: Jay L. <js...@js...> - 2000-12-15 14:29:06
|
I have committed this name change to CVS. Jay Jay Love wrote: > I like Tom's suggested name. I'll change everything to use extraURLPath. > > On the automatic writing of the Base HREF, I won't make that change > immediately. Anyone have more feedback? > > Jay > > Tom Schwaller wrote: > > > Chuck Esterbrook wrote: > > > > > > Two suggestions. > > > > > > 1. Regarding the name of "extraPathInfo()" two thoughts come to mind. One > > > is that there are always two kinds of paths with regards to requests: the > > > URL path and the corresponding server side path. Most of our other path > > > methods (maybe all of them) indicate this (urlPath(), serverSidePath()). > > > > > > Also, in my experience a method with "info" as a suffix usually returns > > > some kind of a information in a tuple or dictionary, like sys.exc_info() or > > > DBAPI.Cursor.info(). > > > > > > In light of this, I'd like to see the method called "extraURLPath()" or > > > something similar. > > > > _extraPathInfo is the variabele name used internally, > > so extraPathInfo() is not a bad choice, but according to the > > Webware policy guide extraURLPath() seems a more natural name. > > > > Stuff like self._extraPathInfo = None > > should be changed accordingly after a methot name change, > > otherwise it would be somethat confusing.. > > > > If this name is going to be changed, just do it fast, because I'm > > writing about Webware today and will use this for examples :-) > > > > 'ExtraPathInfo' : 1, #comment > > > > the comment is not in one line which stops > > Webware from starting (small bug in the CVS version), > > otherwise it seems to works nicely and has the same performance.. > > > > In any case, this new code is really cool. > > > > > 2. I wouldn't be opposed to Page.writeHeader() checking the setting > > > concerning extra URL paths and generating the BASE HREF automatically. This > > > is the type of convenience Page is intended to provide. > > > > the method should be overridable in a subclass, because the > > behaviour is not that odd as it seems first > > > > def writeHeader(self, ...): > > .. > > writeBaseHRef(self) > > > > def writeBaseHRef(self,...) > > .... > > > > default behaviour: write the BASE HREF > > > > just my 2 cents > > > > -- > > Tom Schwaller > > http://www.linux-community.de > > _______________________________________________ > > Webware-discuss mailing list > > Web...@li... > > http://lists.sourceforge.net/mailman/listinfo/webware-discuss |
From: Jay L. <js...@js...> - 2000-12-15 15:26:19
|
Sorry, I mis-acknowledged the name change. I like Chuck's suggestion!..... Jay Chuck Esterbrook wrote: > At 09:22 AM 12/15/2000 -0500, Jay Love wrote: > >> I like Tom's suggested name. I'll change everything to use >> extraURLPath. > > > Er, that's the same name right? I think Tom just pointed out the > attribute name should change with it... > > >> On the automatic writing of the Base HREF, I won't make that change >> immediately. Anyone have more feedback? > > > Yes, I do. :-) > > I very much like Tom's idea of separating it out into a > writeBaseHRef() method. > > -Chuck |
From: Tom S. <tom...@li...> - 2000-12-15 18:13:14
|
Chuck Esterbrook wrote: > > At 09:22 AM 12/15/2000 -0500, Jay Love wrote: > >I like Tom's suggested name. I'll change everything to use extraURLPath. > > Er, that's the same name right? I think Tom just pointed out the attribute > name should change with it... yes. You suggested the name change, not me. I just commented :-) > >On the automatic writing of the Base HREF, I won't make that change > >immediately. Anyone have more feedback? > > Yes, I do. :-) > > I very much like Tom's idea of separating it out into a writeBaseHRef() method. your coding style infected me, so who wonders? ,-) -- Tom Schwaller http://www.linux-community.de |