Some ideas on things that I'd like to see Webware allow with URL decoding:
I'd like to be able to join two directories -- one which contains servlets, and one with contains static pages or perhaps Cheetah templates. A nonprogrammer would then be insulated from documents which would be dangerous to edit (Python code).
I'd like to properly represent abstract objects (like database objects). I can do this with extraPathInfo now, but the caching doesn't work as I'd want -- I have to recreate the servlet each time on awake(), when if the servlets were cached according to that extraPathInfo (or something like that), then I'd only have to set things up in __init__.
I'd like to be able to modify settings based on the path of the URL. For instance, .html files in some paths might need to go through a processor that wraps them in a template -- in other paths they might be presented verbatim. In some paths, errors should be emailed to me, in other paths they should be displayed immediately.
I'd like to be able to better be able to resolve conflicts between extensions. Specifically, I'd like to be able to say that .tmpl files override .py files.
I'd like to do positional arguments before the servlet -- perhaps fragile, but also traditional and a bit more compact.
Somewhat like mod_speling, I'd like to have case-insentive URLs and I'd like to have spell checking in the URLs -- including spell checking on non-filesystem arguments (positional URL arguments both prefixing and following the servlet name).
I'd like to have enough introspection to create a sitemap directly, as well as indexes and the like.
I'd like to be able to represent arbitrary URL mappings, ala mod_rewrite.
Do the thing that Zope does, where when you should have a url like /path/to/something and it should be /path/to/something/, see if the servlet can handle that on its own (by putting a BASE HREF in the output), or if you should do a client redirect, or if you should just ignore it (for instance, if you are serving a non-href-aware type of document).
Virtual domains. These are mostly like prefix contexts/variables.
Many of these are possible with some mod_rewrite magic.
I don't think that Application should support all of these -- quite the contrary. I'd like to see a system that gives all the hooks necessary to do these sorts of things. I'd like a less centralized algorithm -- much shorter than what is currently there.
The one things that I don't particularly want is fully dynamic URL mapping -- I'm fine with indefinitely caching the results of a URL decoding. Those results won't necessarily be a filename, but they'll be something.
-- IanBicking - 06 Nov 2001