On Fri, Aug 04, 2006 at 09:59:29AM +0200, Steve Bennett wrote:
MediaWiki has a fairly useful case-guessing heuristic where if you search for "foo boo moo" it attempts, if that fails, to match "Foo Boo Moo" and "FOO BOO MOO".
Would it be possible to do something similar for templates? The heuristic for "template:foo boo moo" would be:
- If that page is not found, try "template:foo-boo-moo"
- If that page is not found, try "template:fooboomoo"
This may just be useful for English Wikipedia, but the lack of naming convention there makes it really difficult to remember the names of multi-word templates.
My instinct is to say that's a Bad Idea, and on reflection, I know why.
I can't locate it just now, but there's an Eric Allman paper that ships with the sendmail distribution, that explains why mailbox-name-generation protocols are a bad idea: because (among other things) they can *reveal* collisions, making things that weren't broken break as the environment (invisible to a mail sender) change.
Case folding is inherently a wart, because (unless you use it *everywhere*), it can make things break. That is, if you permit pages whose names differ only in case, then you cannot safely automatically fold case *anywhere else*, because you open the possibility that, for example, someone will pick a template that has been included in hundreds of pages -- with the wrong case -- and create the template to which that *actually* points.
Look! Computer Assisted Vandalism!
Cheers, -- jra