On 8/5/06, Stephen Bain stephen.bain@gmail.com wrote:
It's hardly a complicated syntax. It's hardly even a syntax: type "ISBN", then a space, then the number.
I carefully avoided suggesting it was complicated :)
In any event, the ISBN magic syntax produces a unique behaviour, a link to an automatically generated Special:Booksources page, and so it probably should be using its own syntax.[1] Using template syntax as
That's not that unique. Seems to me that the standard template behaviour "put a word in {{ }} and it will be replaced with some useful text and markup" applies here.
In fact, unless I'm mistaken, you could implement {{ISBN}} directly as a standard template without the magic word at all: [[[Special:Booksources/isbn={{{1}}}|ISBN {{{1}}}]]
See the following for some examples. http://en.wikipedia.org/wiki/User:Stevage/sandbox
Notice the last one is slightly different since it uses an external link.
All of which is to say, the "magic word", while undoubtedly useful and intuitive to those naively adding ISBN numbers (not necessarily expecting a link), is not actually necessary. And, if any bot substitution was to occur, I would actually find substitition *to* the template syntax "cleaner" than substiution to the magic word syntax.
It's more portable anyway.
an abstraction layer to hide the real operation is likely to confuse anyone who really wants to know how it works and takes a look at the template code.
Well, you could use the same argument against any templates. Using "abstraction layers to hide the real operation" is a fundamental part of making any complicated system usable by new users.
I'm aware of the argument against magic-word-type syntax, but there are plenty of magic words in MediaWiki, most of which are very useful: http://meta.wikimedia.org/wiki/Help:Magic_words
Of course there is room for the syntax for ISBNs, and other magic words, to be improved by making them more consistent with each other. Perhaps something like #ISBN 123456789, like the redirect syntax.
or, {{ISBN|123456780}} :)
There was some reasoning that suggested it was harmful. The comment that it's pointless and sometimes harmful to have templates which use more characters than the text they produce is a good one. Sometimes a
Are we running out of disk space?
template may allow other problems to be avoided, such as {{!}}. However you mentioned {{--}}, which is a lazy duplication of the emdash in the toolbox below every edit window.
Again, personally I find it cleaner, as it's available even if you're using a different skin, with no javascript, and the list of available characters seems to be very subject to change. Bots could certainly substitute the template with the right character (much as they currently substitute — with —), but it's certainly preferable that users use {{--}} instead of just --.
To conclude, the documentation on magic word syntaxes (in this case http://en.wikipedia.org/wiki/Wikipedia:ISBN) should be improved and made more prominent to noobs learning how to write wiki. But I think that using templates to abstract magic words is a fairly silly proposition, it's hiding problems rather than addressing them.
Well, at least it's "hiding" them in a way that when they are "addressed" they don't break anything. Template syntax has a lot going for it - the actual real syntax underneath can change without breaking anything, if it's used widely enough. IMHO, it would be a good thing if the only syntax exposed to users was "standard' MediaWiki syntax and templates. Users should use {{sup|.......}} rather than <sup>.....</sup> for instance, to decouple the semantic content (superscripted text) from the presentation layer (HTML).
Steve