Hi everyone,
Here's my (late) reaction to the discussion about managing links in the new
wysiwyg:
All the proposals target users who are XWiki beginners and need guidance in
their actions. This is good, of course, for a newbie it's the right
approach, but a more experienced user will be *very* annoyed with all the
clicking and tabbing and browsing that is necessary in order to create a
link. Experienced users should also have the right to use the wysiwyg
without being slowed down by all the help it offers.
Consequently, I would propose to provide two ways of creating the link. In
the dedicated dialog, there should be two areas (sorry i didn't make a
drawing):
- top: a small zone for those who know what they are doing, with a single
input endowed with a "smart" suggest feature.
- under it, a bigger zone containing one of the proposed complex selection
interfaces. In my opinion, this zone should be collapsed for advanced users.
Here's an example that illustrates how the link input would work. When the
user starts writing "de" in the input, the suggestions will include all
wikis, spaces from the current wiki and pages from the current space that
start with "de", for example in this form:
*de*v:
*De*velopment.
CurrentSpace.*De*tails
(For experienced users, it will be obvious that what ends with ":" is a
virtual wiki, what ends with "." is a space in the current wiki, etc. Maybe
some color codes can be used in the suggestion list to help them to quickly
spot what they need, and, for a "richer" experience, the different fragments
of the path can be displayed in the input with that color, for example:
purple for wikis, blue for spaces, green for pages. The same color codes
could be used in the beginner's zone as well.)
If the user chooses "dev:", then at that point we start suggesting,
according to the user's input, spaces from that wiki, and so on. Also,
whenever the user hits ":" (not necessarily by choosing explicitly one of
the suggestions), we realize that so far he specified a virtual wiki, and
start making suggestions of spaces from that wiki.
So, basically, this is addressed to users that know the syntax of an
internal wiki link, know where they want to link, and just want to type it
quickly.
(offtopic: such an input would also be very useful for implementing
Vincent's idea XWIKI-1485).
Of course, the user may be wrong and try to point to a page that does not
exist. He will be informed about the mistake with a small warning somewhere
around the input, but he will be allowed to continue (maybe he knows what
he's doing; otherwise he would have used the wizard :) ).
A complex selection interface is very necessary and can under no
circumstances be replaced by this toy, but, in my opinion, if the beginners
are properly helped by it and shown the result of their actions, some may
start to understand how to write the paths without all the guidance and end
up preferring to use the more simple and quick variant. I'm thinking that
maybe the two (the input and the selector) should be at all time
"synchronized". I'm aware that probably there's not enough time to do
everything before 1.7, but imo this approach would really boost the
usability for all categories of users.