argh... i wrote this once already... here we go again.
search engines are becoming more comfortable with querystrings, so that alone would not be enough of a motivation for abstract urls. however, i see it as expanding on the logic of removing file extensions from filenames.
the issues seem to be:
- defining a standard structure: what is the safest, most portable method? vignette's storyserver has done this for years with the 0,283,1687_1919_304,1.html name format, allowing a cheap and easy way to cache files on the filesystem. maybe that idea could be moved into a directory name. you'd just have to take into account future changes in the definition.
- where to perform the actual translation from url to variables: i'm getting more familiar with the oacs, but i'm still way retarded on the code. i'd hope a preprocessing filter could be defined which translates everything to the right of the location using the definition from #1 -- which is i think what you said don. existing code couldn't take advantage of it because of direct calls to ns_conn headers -- they'd have to be modified (which is a big deal). once it's modified to call some get_querystring_vars proc, it shouldn't care if the proc had to retrieve them from a regular or abstracted url.
- is it worth the complexity, and does anybody care? abstract urls could make transitions between backends easier, make static site mirroring easier (running "dynamic" content without actually needing the database, especially in failover emergencies), make prettier and more easily remembered urls for users.
i read the forum at http://openacs.org/forums/message-view?message_id=75763 in regards to magic numbers. unless someone can come up with a good solution, there seems to be too much complexity.
i do like tom's "tinyurl" suggestion. the key point is that a system handling abstract urls should still be able to handle regular urls. resources can be mapped to abstractions, and within pages you could call a proc like make_appropriate_hyperlink. if abstraction is turned on, the proc generates the defined url format otherwise regular.
really, i need to get more comfortable with how the system works so i can actually have more useful input. thanks for indulging me on this.