On Thu, Oct 25, 2007 at 11:00:39AM +1000, Steve Bennett wrote:
On 10/25/07, Jay R. Ashworth jra@baylink.com wrote:
I'd like to recommend that anyone who thinks aliases are a Pretty Neat Idea go locate some coverage of the Come From statement in the programming language Intercal, and muse upon the potential similarities.
Heh, the thought occurred to me too. However, in Intercal, the chaos arises from a program in execution unexpectedly and suddenly leaping from any point in the code to an arbitrary and unconnected function. In this proposal, the leaping always takes place at exactly the same point: when a user has entered a query, and that query has not matched the name of an actual page in the database.
Sure, but my point is more that "It's Magic!".
Magic violates the Priciple of Least Astonishment.
Then again, I hadn't thought through the behaviour of what happens when you [[link]] to an aliased term. Logically the behaviour ought to be:
- If a real page exists, link to that
- Otherwise, if a single alias matches, link to that.
- Otherwise, link to an automatic disambiguation page.
Will those be extensible, as category pages are? Based on the disambigs *I've* seen, assuming you can *do* that automatically may not be all that safe.
This actually presents a few complexities, as links themselves are stored in a links table, and would have to be updated if the aliases change. It's also not clear whether the third case above should be a red or blue link.
How is that handled with :Category:?
Similarly, if a user links to [[John X Smith]], but the actual page is [[John Xavier Smith]] with an alias, what should happen exactly?
Well, that's the same question as "What happens with redirects now", which I'm always on the wrong side of; right?
Some other issues that also occur to me:
- does template transclusion work on an alias? If not, why not?
Would it work on a redirect? If so, why shouldn't it work on an alias?
- does it work in other namespaces? Which namespace does the alias apply
in? Does this mean that [[Wikipedia:What Wikipedia is not]] cannot have a line like #ALIASES WP:NOT ? If aliases are applied in the main namespace, how do we stop people using them in user pages etc?
Yeah; there are *lots* of potential pitfalls, aren't there?
Are they design? Or merely implementation? Given that they don't seem to be problems for redirects, I suspect they're implementation.
Is there a way to get the good parts of this idea while sticking with redirects as the actual implementation?
Cheers, -- jra