Steve Bennett wrote:
On 2/20/08, Minh Lê Ngọc <cumeo89(a)gmail.com>
wrote:
I agree with all of you. A WYSIWYG editor can not
replace Wikitext. In some
cases, wikitext is a programing language like Java and NetBeans can't
program Java for Java programmers.
If wikitext is a programming language, god help us. It's supposed to
be a simple, intuitive replacement for complex languages like HTML.
With ParserFunctions, you have to take a lot of care not to end up with a turing
complete language. We are pretty close. As soon as someone adds a while loop
construct (or allows full recursion), we got it.
However, there 2 aspects of using MediaWiki:
daily use (users may be novice,
know little of Wikitext, edit simple pages) and template writing
(experienced users write complicated code in templates for others to use).
With the first one, WYSIWYG is a wonderful feature, with the second one,
it's clumsy. So, a WYSIWYG editor should only cover some features of
wikitext like: simple page representation, reference, template inclusion,
extension call, page preview, categories, inter-wiki and leave others like:
parser functions, magic variables, noinclude, includeonly, parameters...
Which is to say, that if there is a WYSIWYG editor, there should be a
way of accessing the underlying XML directly.
So it's nto really about replacing wikitext with wysiwyg. But replacing
wikitextwith XML, and also having wysiwyg editing for *some* aspects.
Through this
mailing-list, I see that we are struggling with Wikitext, which
is a time-consuming work. What I suggest is, instead of wasting more time,
we can change to XML, which is clearer, easy to parse, easy to understand
and easy to extend.
Heh. Replacing the wikitext parser with a better wikitext parser is a
pretty significant change. Replacing it with an XML parser...wow. You
aim big.
XML is designed as a data exchange format. Good XML (that is: using XML
constructs for all structuring and semantic annotation) is extremely annoying to
edit by hand. It wasn't made for that. Consider this:
{| class="prettytable" |
! foo
! bar
|---
| style="align:right" | {{bla|blubb|x=frobble}}
| {{#if:{{{1}}}|the '''[[bla|thing]]'''}}
|}
as compared to
<table class="prettytable">
<thead>
<tr>
<th>foo</th>
<th>bar</th>
</tr>
</thead>
<tbody>
<tr>
<td style="align:right">
<template name="bla">
<param>blubb</param>
<param name="x">frobble</param>
</template>
</td>
<td>
<function name="if">
<arg><paramref name="1"/></arg>
<paramter>the <b><link
target="bla">thing</link></b></parameter>
</template>
</td>
</tr>
</tbody>
</table>
now, which is easier to read? which is easier to edit?
XML is great as an exchange format. And it's easy to parse (actually, it's quite
tricky in the details, and rather slow too, but at least we have standard
libraries for it)
I would *not* want to have to write/edit XML structures by hand. Not even as a
template editing expert.
Mind you, having a clean mapping of wikitext from/to XML would be a VERY good
thing. But that requires a real wikitext parser.
I think realistically the problem is that open source
works relatively
well for language compilers. People can add features simply by
extending syntax etc, and it works. However, who amongst us has the
ability to really implement and maintain a high quality WYSIWYG
editor? It's hard, really hard. And a WYSIWYG editor with editable
syntax, now you're talking about a tool like frontpage, dreamweaver
etc. This is not a task for a couple of full time developers and a
bunch of hobbyists.
Exactly. Just think of commonly used extensions like <cite> (not to mention
insanely complex stuff like EasyTimeline). The extension editor would have to
write complex GUI interaction that ties into a complex GUI framework, so it is
possible to edit these constructs in a wysiwyg environment.
Also, any wysiwyg editor would have to take extreme care not to damage any
structures it does not "understand". People could try to edit a template using
such an editor, and screw it up completely, without ever noticing. I hear them
say: "but i only fixed a typo".... yay.
Again: writing a good, robust and flexible wysiwyg editing framework would be a
LOT harder (especially wrt extensions) than getting the wikitext parser done.
IMHO it's like this: getting 90% is easy with both, a formal grammar, and a
wysiwyg editor (based on XML or whatever). Getting the last 10% into the prmal
gramamer is HARD. Getting the last 10% right in a visual editor is pretty much
impossible, even if you don't need "template designed" ability - the
features
used in "normal" articles are bad enough.
-- Daniel