On 14/11/2007, Thomas Dalton thomas.dalton@gmail.com wrote:
How about always allowing saves (I think most people are agreed that refusing to save invalid syntax is a bad idea), but showing error messages when the page is displayed immediately after saving (I've thinking ?action=debug, this would allow people to get the error messages manually at other times as well, and shouldn't be too hard to implement). Normal readers of the page would just see the parser's best guess, but when someone clicks "save" they would see it with inline error messages (appending them just makes it impossible to tell where the error is - articles don't have line numbers), probably with a big red warning at the top to make sure people don't just move on without looking at the article they've just saved.
I'm still utterly unconvinced "errors" are ever a good idea.
As I wrote on the subject to this list last year (re WikiCreole):
Every combination of wikitext has to be able to do something (even if that's "just let it through"), because it is a *language*.
If people who can't work computers put a character out of place and the wiki engine just spits back "INVALID CONTENT", are they going to edit an article ever again? *Hell* no.
HTML was invented as a human-editable page language. However, the humans it was invented for were nuclear physicists, rather than the general public.
When the general public started writing web pages, they didn't write well-formed HTML - they would bash out something, preview it in Netscape 1.1 and put it up. The geeks derided this as "tagsoup".
But I submit that the "tagsoup" approach was the natural one for people to use, because that's how people learn a language: test, change, test again, repeat. That's how people learn wikitext on Wikipedia: if you just write plain text, it'll more or less work. If you want to do something fancier, you'll look and see what other people do and try something like that and see if it works. No-one reads a syntax manual unless they're a geek.
People care much more about what they're putting on the page than constructing an immaculate piece of XML. If wikitext can't cope sensibly with *anything and everything* people throw at it, then we might as well just be requiring immaculate XML.
So "error messages" being output at all (except maybe in "action=debug", and even then that should be more "lint"-like) is fundamentally erroneous.
- d.