I think you've pretty much got a solution, so a couple more minor followups.
Steve Bennett wrote:
Here we're extending the user's power, so that the effect of their work is out of proportion to the effort. That's a classic opportunity for trouble.
Yay for wikis.
Not in the sense I'm talking about here. Most Wikipedia edits have an effect proportional to the effort required. If I put a few naughty words in a page, I've disturbed one page out of millions. Because cleaning up is generally even easier than vandalizing, the balance of power stays on the side of the angels.
But when you amplify someone's power, you create opportunities for trouble. A guy with a backhoe can do a lot more damage than a guy with a shovel, often without even knowing it.
The effect is also almost invisible; you can see that a page is
bad, but a possibly overlapping network of millions of aliases is hard to grasp. So I the obvious choices are between noisy rejection (which is almost never done now) or silent failure (which would be painfully mysterious).
Can you give me a concrete example? What's the worst that can happen? Say you have two separate articles with two sets of aliases, but they happen to create an overlap. That's just a standard case of disambiguation, isn't it? A searching user just types "John Smith" and that matches 30 different aliases - so you get shown a page with those 30 different choices. Sounds like a good, useful behaviour, not a disaster?
Well, I you should let the alias creator know when the collide with existing articles, as touching the articles would be wrong, and silent, invisible failure is not so good either. I think you could auto-disambiguate when aliases cross, but you'd probably want a hint to write the needed text. You should also tell people when they encounter the technical limitations of Wikipedia (by by violating WP:NCTR).
Or are we still talking about the case of an overly broad aliases pattern, which I think we agreed should be rejected by the software?
That's definitely another case. I think our options for all of these are
1. silent failure (accept #ALIASES line but do nothing or do it only partially) 2. noisy rejection (refuse to save, give error message) 3. noisy failure (accept save, but put an error message in the page) 4. special tool (JavaScript widget that gives continuous feedback)
And I can make cases for and against any of them. I'd think what really matters is what the core MediaWiki team prefers, but I'd lead towards #3.
Overall, though, it sounds like a great feature. I'd say go for it!
William