[xwiki-devs] [VOTE] Creating complex lists with the new WYSIWYG editor
Hi there, Right now the new WYSIWYG editor allows us to create simple lists like the following: ----------8<---------- * plants * animals ** invertebrates ** vertebrates ---------->8---------- By pressing just Enter when the caret is inside a list item we create a new list item. This is the basic mechanism. It's simple and it should remain so. If I want to make the previous list a bit more complex: ----------8<---------- * (((= Plants = Plants are living organisms belonging to the kingdom Plantae.))) * (((= Animals = Animals are a major group of mostly multicellular, eukaryotic organisms of the kingdom Animalia or Metazoa. They are divided into:))) ** (((== Invertebrates == An invertebrate is an animal lacking a vertebral column.))) ** (((== Vertebrates == Vertebrates are members of the subphylum Vertebrata, chordates with backbones or spinal columns.))) ---------->8---------- I have to be able to insert new lines inside a list item using the Enter key but without creating a new list item. Let's consider the following state: ----------8<---------- * (((= Plants =))) ---------->8---------- We have a level 1 heading inside a list item. The caret is inside the heading, at the end. Pressing Enter can have the following three outcomes: 1. Continue editing in the heading, but on a new line: ----------8<---------- * (((= Title 1 x =))) ---------->8---------- 2. Continue editing in the same list item but after the heading, in a paragraph: ----------8<---------- * (((= Title 1 = x))) ---------->8---------- 3. Create a new list item: ----------8<---------- * (((= Title 1 =))) * x ---------->8---------- For the first outcome I think we all agree that the user has to press Shift+Enter. For the second and third outcomes I see two options: A) Enter for 2 and CTRL/META+Enter for 3 B) Enter for 3 and CTRL/META+Enter for 2 (if you see any other options please step up) I'm +1 for A) for the following reason: if the user has inserted a heading in a list item then he will surely want to add more content after that heading, thus pressing just Enter is the natural way of doing this. From a technical POV the caret is first inside a heading and then inside a list item so the heading should have the priority of handling the Enter key. NOTE: Choosing A) or B) doesn't affect the way simple lists are created, which is using just Enter. Please cast your votes and sorry for the long mail, Marius
You can follow a discussion on this topic between be and Guillaume here http://jira.xwiki.org/jira/browse/XWIKI-3773 Thanks, Marius Marius Dumitru Florea wrote:
Hi there,
Right now the new WYSIWYG editor allows us to create simple lists like the following:
----------8<---------- * plants * animals ** invertebrates ** vertebrates ---------->8----------
By pressing just Enter when the caret is inside a list item we create a new list item. This is the basic mechanism. It's simple and it should remain so.
If I want to make the previous list a bit more complex:
----------8<---------- * (((= Plants =
Plants are living organisms belonging to the kingdom Plantae.))) * (((= Animals =
Animals are a major group of mostly multicellular, eukaryotic organisms of the kingdom Animalia or Metazoa.
They are divided into:))) ** (((== Invertebrates ==
An invertebrate is an animal lacking a vertebral column.))) ** (((== Vertebrates ==
Vertebrates are members of the subphylum Vertebrata, chordates with backbones or spinal columns.))) ---------->8----------
I have to be able to insert new lines inside a list item using the Enter key but without creating a new list item. Let's consider the following state:
----------8<---------- * (((= Plants =))) ---------->8----------
We have a level 1 heading inside a list item. The caret is inside the heading, at the end. Pressing Enter can have the following three outcomes:
1. Continue editing in the heading, but on a new line:
----------8<---------- * (((= Title 1 x =))) ---------->8----------
2. Continue editing in the same list item but after the heading, in a paragraph:
----------8<---------- * (((= Title 1 =
x))) ---------->8----------
3. Create a new list item:
----------8<---------- * (((= Title 1 =))) * x ---------->8----------
For the first outcome I think we all agree that the user has to press Shift+Enter. For the second and third outcomes I see two options:
A) Enter for 2 and CTRL/META+Enter for 3 B) Enter for 3 and CTRL/META+Enter for 2 (if you see any other options please step up)
I'm +1 for A) for the following reason: if the user has inserted a heading in a list item then he will surely want to add more content after that heading, thus pressing just Enter is the natural way of doing this. From a technical POV the caret is first inside a heading and then inside a list item so the heading should have the priority of handling the Enter key.
NOTE: Choosing A) or B) doesn't affect the way simple lists are created, which is using just Enter.
Please cast your votes and sorry for the long mail, Marius _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
On May 14, 2009, at 11:01 AM, Marius Dumitru Florea wrote:
Hi there,
Right now the new WYSIWYG editor allows us to create simple lists like the following:
----------8<---------- * plants * animals ** invertebrates ** vertebrates ---------->8----------
By pressing just Enter when the caret is inside a list item we create a new list item. This is the basic mechanism. It's simple and it should remain so.
If I want to make the previous list a bit more complex:
----------8<---------- * (((= Plants =
Plants are living organisms belonging to the kingdom Plantae.))) * (((= Animals =
Animals are a major group of mostly multicellular, eukaryotic organisms of the kingdom Animalia or Metazoa.
They are divided into:))) ** (((== Invertebrates ==
An invertebrate is an animal lacking a vertebral column.))) ** (((== Vertebrates ==
Vertebrates are members of the subphylum Vertebrata, chordates with backbones or spinal columns.))) ---------->8----------
I have to be able to insert new lines inside a list item using the Enter key but without creating a new list item. Let's consider the following state:
----------8<---------- * (((= Plants =))) ---------->8----------
We have a level 1 heading inside a list item. The caret is inside the heading, at the end. Pressing Enter can have the following three outcomes:
1. Continue editing in the heading, but on a new line:
----------8<---------- * (((= Title 1 x =))) ---------->8----------
2. Continue editing in the same list item but after the heading, in a paragraph:
----------8<---------- * (((= Title 1 =
x))) ---------->8----------
3. Create a new list item:
----------8<---------- * (((= Title 1 =))) * x ---------->8----------
For the first outcome I think we all agree that the user has to press Shift+Enter. For the second and third outcomes I see two options:
A) Enter for 2 and CTRL/META+Enter for 3 B) Enter for 3 and CTRL/META+Enter for 2 (if you see any other options please step up)
I don't think we need META. I'd go with the simplest: * when inside a group, use the normal enter behavior for the underlying element. If you're in a header then enter create a new paragraph, etc) * you need to position the cursor after the group in the list item and press enter to get a new list item Note: another solution could allow to get out of the group by pressing tab but we said we wanted to keep the standard browser tab behavior. If we really want to introduce a new META+Enter then I'd definitely vote +1 for A). BTW how are groups represented visually in the editor? Maybe this is the real problem? Thanks -Vincent
I'm +1 for A) for the following reason: if the user has inserted a heading in a list item then he will surely want to add more content after that heading, thus pressing just Enter is the natural way of doing this. From a technical POV the caret is first inside a heading and then inside a list item so the heading should have the priority of handling the Enter key.
NOTE: Choosing A) or B) doesn't affect the way simple lists are created, which is using just Enter.
Please cast your votes and sorry for the long mail, Marius
Hi Vincent, Vincent Massol wrote:
On May 14, 2009, at 11:01 AM, Marius Dumitru Florea wrote:
Hi there,
Right now the new WYSIWYG editor allows us to create simple lists like the following:
----------8<---------- * plants * animals ** invertebrates ** vertebrates ---------->8----------
By pressing just Enter when the caret is inside a list item we create a new list item. This is the basic mechanism. It's simple and it should remain so.
If I want to make the previous list a bit more complex:
----------8<---------- * (((= Plants =
Plants are living organisms belonging to the kingdom Plantae.))) * (((= Animals =
Animals are a major group of mostly multicellular, eukaryotic organisms of the kingdom Animalia or Metazoa.
They are divided into:))) ** (((== Invertebrates ==
An invertebrate is an animal lacking a vertebral column.))) ** (((== Vertebrates ==
Vertebrates are members of the subphylum Vertebrata, chordates with backbones or spinal columns.))) ---------->8----------
I have to be able to insert new lines inside a list item using the Enter key but without creating a new list item. Let's consider the following state:
----------8<---------- * (((= Plants =))) ---------->8----------
We have a level 1 heading inside a list item. The caret is inside the heading, at the end. Pressing Enter can have the following three outcomes:
1. Continue editing in the heading, but on a new line:
----------8<---------- * (((= Title 1 x =))) ---------->8----------
2. Continue editing in the same list item but after the heading, in a paragraph:
----------8<---------- * (((= Title 1 =
x))) ---------->8----------
3. Create a new list item:
----------8<---------- * (((= Title 1 =))) * x ---------->8----------
For the first outcome I think we all agree that the user has to press Shift+Enter. For the second and third outcomes I see two options:
A) Enter for 2 and CTRL/META+Enter for 3 B) Enter for 3 and CTRL/META+Enter for 2 (if you see any other options please step up)
I don't think we need META. I'd go with the simplest: * when inside a group, use the normal enter behavior for the underlying element. If you're in a header then enter create a new paragraph, etc) * you need to position the cursor after the group in the list item and press enter to get a new list item
The problem is that the list item wraps the group and there's no (easy) way to place the caret after the group but in the list item. In fact the WYSIWYG editor is not aware of a group: it simply sees a list item with content inside. But since the caret is inside a heading the Enter key is treated accordingly, even if the heading is inside a list item. That's why I think we need a META+Enter to be able to get out of the list item.
Note: another solution could allow to get out of the group by pressing tab but we said we wanted to keep the standard browser tab behavior.
I don't see how we could use the Tab key.
If we really want to introduce a new META+Enter then I'd definitely vote +1 for A).
BTW how are groups represented visually in the editor? Maybe this is the real problem?
Groups are not represented visually in a special way. As I said, the editor is not aware of them right now. I don't see how drawing a border around the group would help (through CSS). Also, in this case the XWiki 2.0 syntax user is forced to use the group notation in order to add complex content inside a list item because there's no other means of doing this so I don't think he would expect to see a border around the content in the WYSIWYG editor. Thanks, Marius
Thanks -Vincent
I'm +1 for A) for the following reason: if the user has inserted a heading in a list item then he will surely want to add more content after that heading, thus pressing just Enter is the natural way of doing this. From a technical POV the caret is first inside a heading and then inside a list item so the heading should have the priority of handling the Enter key.
NOTE: Choosing A) or B) doesn't affect the way simple lists are created, which is using just Enter.
Please cast your votes and sorry for the long mail, Marius
_______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
On May 14, 2009, at 12:47 PM, Marius Dumitru Florea wrote:
Hi Vincent,
Vincent Massol wrote:
On May 14, 2009, at 11:01 AM, Marius Dumitru Florea wrote:
Hi there,
Right now the new WYSIWYG editor allows us to create simple lists like the following:
----------8<---------- * plants * animals ** invertebrates ** vertebrates ---------->8----------
By pressing just Enter when the caret is inside a list item we create a new list item. This is the basic mechanism. It's simple and it should remain so.
If I want to make the previous list a bit more complex:
----------8<---------- * (((= Plants =
Plants are living organisms belonging to the kingdom Plantae.))) * (((= Animals =
Animals are a major group of mostly multicellular, eukaryotic organisms of the kingdom Animalia or Metazoa.
They are divided into:))) ** (((== Invertebrates ==
An invertebrate is an animal lacking a vertebral column.))) ** (((== Vertebrates ==
Vertebrates are members of the subphylum Vertebrata, chordates with backbones or spinal columns.))) ---------->8----------
I have to be able to insert new lines inside a list item using the Enter key but without creating a new list item. Let's consider the following state:
----------8<---------- * (((= Plants =))) ---------->8----------
We have a level 1 heading inside a list item. The caret is inside the heading, at the end. Pressing Enter can have the following three outcomes:
1. Continue editing in the heading, but on a new line:
----------8<---------- * (((= Title 1 x =))) ---------->8----------
2. Continue editing in the same list item but after the heading, in a paragraph:
----------8<---------- * (((= Title 1 =
x))) ---------->8----------
3. Create a new list item:
----------8<---------- * (((= Title 1 =))) * x ---------->8----------
For the first outcome I think we all agree that the user has to press Shift+Enter. For the second and third outcomes I see two options:
A) Enter for 2 and CTRL/META+Enter for 3 B) Enter for 3 and CTRL/META+Enter for 2 (if you see any other options please step up)
I don't think we need META. I'd go with the simplest: * when inside a group, use the normal enter behavior for the underlying element. If you're in a header then enter create a new paragraph, etc) * you need to position the cursor after the group in the list item and press enter to get a new list item
The problem is that the list item wraps the group and there's no (easy) way to place the caret after the group but in the list item.
That's why I suggested a visual way to identify the group so it's easy to see if the caret is inside or outside the group (ie. before the </ div> or after).
In fact the WYSIWYG editor is not aware of a group: it simply sees a list item with content inside. But since the caret is inside a heading the Enter key is treated accordingly, even if the heading is inside a list item. That's why I think we need a META+Enter to be able to get out of the list item.
Note: another solution could allow to get out of the group by pressing tab but we said we wanted to keep the standard browser tab behavior.
I don't see how we could use the Tab key.
It would have the same effect as your META+Enter and would go to the next list item for example. But again since we don't want to us Tab it's moot.
If we really want to introduce a new META+Enter then I'd definitely vote +1 for A).
BTW how are groups represented visually in the editor? Maybe this is the real problem?
Groups are not represented visually in a special way. As I said, the editor is not aware of them right now. I don't see how drawing a border around the group would help (through CSS). Also, in this case the XWiki 2.0 syntax user is forced to use the group notation in order to add complex content inside a list item because there's no other means of doing this so I don't think he would expect to see a border around the content in the WYSIWYG editor.
I don't agree. For your description above of the different uses case you *do* want to differentiate where you're inside a group or not since the behaviors are not the same. So it makes sense to me to have some visual clue of a group so that the user knows what behavior he'll get. Thanks -Vincent
Thanks, Marius
Thanks -Vincent
I'm +1 for A) for the following reason: if the user has inserted a heading in a list item then he will surely want to add more content after that heading, thus pressing just Enter is the natural way of doing this. From a technical POV the caret is first inside a heading and then inside a list item so the heading should have the priority of handling the Enter key.
NOTE: Choosing A) or B) doesn't affect the way simple lists are created, which is using just Enter.
Please cast your votes and sorry for the long mail, Marius
Hi, On Thu, May 14, 2009 at 1:12 PM, Vincent Massol <[email protected]> wrote:
On May 14, 2009, at 12:47 PM, Marius Dumitru Florea wrote:
Hi Vincent,
Vincent Massol wrote:
On May 14, 2009, at 11:01 AM, Marius Dumitru Florea wrote:
Hi there,
Right now the new WYSIWYG editor allows us to create simple lists like the following:
----------8<---------- * plants * animals ** invertebrates ** vertebrates ---------->8----------
By pressing just Enter when the caret is inside a list item we create a new list item. This is the basic mechanism. It's simple and it should remain so.
If I want to make the previous list a bit more complex:
----------8<---------- * (((= Plants =
Plants are living organisms belonging to the kingdom Plantae.))) * (((= Animals =
Animals are a major group of mostly multicellular, eukaryotic organisms of the kingdom Animalia or Metazoa.
They are divided into:))) ** (((== Invertebrates ==
An invertebrate is an animal lacking a vertebral column.))) ** (((== Vertebrates ==
Vertebrates are members of the subphylum Vertebrata, chordates with backbones or spinal columns.))) ---------->8----------
I have to be able to insert new lines inside a list item using the Enter key but without creating a new list item. Let's consider the following state:
----------8<---------- * (((= Plants =))) ---------->8----------
We have a level 1 heading inside a list item. The caret is inside the heading, at the end. Pressing Enter can have the following three outcomes:
1. Continue editing in the heading, but on a new line:
----------8<---------- * (((= Title 1 x =))) ---------->8----------
2. Continue editing in the same list item but after the heading, in a paragraph:
----------8<---------- * (((= Title 1 =
x))) ---------->8----------
3. Create a new list item:
----------8<---------- * (((= Title 1 =))) * x ---------->8----------
For the first outcome I think we all agree that the user has to press Shift+Enter. For the second and third outcomes I see two options:
A) Enter for 2 and CTRL/META+Enter for 3 B) Enter for 3 and CTRL/META+Enter for 2 (if you see any other options please step up)
I don't think we need META. I'd go with the simplest: * when inside a group, use the normal enter behavior for the underlying element. If you're in a header then enter create a new paragraph, etc) * you need to position the cursor after the group in the list item and press enter to get a new list item
The problem is that the list item wraps the group and there's no (easy) way to place the caret after the group but in the list item.
That's why I suggested a visual way to identify the group so it's easy to see if the caret is inside or outside the group (ie. before the </ div> or after).
In fact the WYSIWYG editor is not aware of a group: it simply sees a list item with content inside. But since the caret is inside a heading the Enter key is treated accordingly, even if the heading is inside a list item. That's why I think we need a META+Enter to be able to get out of the list item.
Note: another solution could allow to get out of the group by pressing tab but we said we wanted to keep the standard browser tab behavior.
I don't see how we could use the Tab key.
It would have the same effect as your META+Enter and would go to the next list item for example. But again since we don't want to us Tab it's moot.
If we really want to introduce a new META+Enter then I'd definitely vote +1 for A).
BTW how are groups represented visually in the editor? Maybe this is the real problem?
Groups are not represented visually in a special way. As I said, the editor is not aware of them right now. I don't see how drawing a border around the group would help (through CSS). Also, in this case the XWiki 2.0 syntax user is forced to use the group notation in order to add complex content inside a list item because there's no other means of doing this so I don't think he would expect to see a border around the content in the WYSIWYG editor.
I don't agree. For your description above of the different uses case you *do* want to differentiate where you're inside a group or not since the behaviors are not the same. So it makes sense to me to have some visual clue of a group so that the user knows what behavior he'll get.
Well, there is no representation of a group per se in the WYSIWYG (you don't have a visual clue as to whether the caret is **here|** or **here**| ) and since you don't know where you are you can't get the caret in / out of the group using the left / right arrow keys. I'm not aware of any WYSIWYG editor that has such a way of displaying where exactly the caret is in relation to groups (either in desktop or web WYSIWYG editors). Additionally, I'm not sure we want to go into this direction since it poses numerous UI & technical issues. I've tested the behavior of OpenOffice Writer and it's the following: when a list item is also a heading, hitting enter when the caret is at the end of the line gets the caret out of the list and creates a new paragraph. In DekiWiki, hitting enter when the caret is at the end of the heading item creates a new list item. As I pointed it out in the JIRA comment, the most common behavior will be for users to expect a new list item to be created when they hit the enter key, whatever the content located in the list item. If we implement A) , users will have no clue about what they need to do to get out of the list if they put a heading in a list since they won't know about CTRL/META + ENTER. Choosing A) would result in making the most intuitive / most used option hard to reach. I really don't think that's what we want. Thus I'm strongly in favor of B) Enter for 3 and CTRL/META+Enter for 2 Guillaume
Thanks -Vincent
Thanks, Marius
Thanks -Vincent
I'm +1 for A) for the following reason: if the user has inserted a heading in a list item then he will surely want to add more content after that heading, thus pressing just Enter is the natural way of doing this. From a technical POV the caret is first inside a heading and then inside a list item so the heading should have the priority of handling the Enter key.
NOTE: Choosing A) or B) doesn't affect the way simple lists are created, which is using just Enter.
Please cast your votes and sorry for the long mail, Marius
users mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/users
-- Guillaume Lerouge Product Manager - XWiki Skype ID : wikibc http://guillaumelerouge.com/
Guillaume Lerouge wrote: > Hi, > > On Thu, May 14, 2009 at 1:12 PM, Vincent Massol <[email protected]> wrote: > >> On May 14, 2009, at 12:47 PM, Marius Dumitru Florea wrote: >> >>> Hi Vincent, >>> >>> Vincent Massol wrote: >>>> On May 14, 2009, at 11:01 AM, Marius Dumitru Florea wrote: >>>> >>>>> Hi there, >>>>> >>>>> Right now the new WYSIWYG editor allows us to create simple lists >>>>> like >>>>> the following: >>>>> >>>>> ----------8<---------- >>>>> * plants >>>>> * animals >>>>> ** invertebrates >>>>> ** vertebrates >>>>> ---------->8---------- >>>>> >>>>> By pressing just Enter when the caret is inside a list item we >>>>> create a >>>>> new list item. This is the basic mechanism. It's simple and it >>>>> should >>>>> remain so. >>>>> >>>>> If I want to make the previous list a bit more complex: >>>>> >>>>> ----------8<---------- >>>>> * (((= Plants = >>>>> >>>>> Plants are living organisms belonging to the kingdom Plantae.))) >>>>> * (((= Animals = >>>>> >>>>> Animals are a major group of mostly multicellular, eukaryotic >>>>> organisms >>>>> of the kingdom Animalia or Metazoa. >>>>> >>>>> They are divided into:))) >>>>> ** (((== Invertebrates == >>>>> >>>>> An invertebrate is an animal lacking a vertebral column.))) >>>>> ** (((== Vertebrates == >>>>> >>>>> Vertebrates are members of the subphylum Vertebrata, chordates with >>>>> backbones or spinal columns.))) >>>>> ---------->8---------- >>>>> >>>>> I have to be able to insert new lines inside a list item using the >>>>> Enter >>>>> key but without creating a new list item. Let's consider the >>>>> following >>>>> state: >>>>> >>>>> ----------8<---------- >>>>> * (((= Plants =))) >>>>> ---------->8---------- >>>>> >>>>> We have a level 1 heading inside a list item. The caret is inside >>>>> the >>>>> heading, at the end. Pressing Enter can have the following three >>>>> outcomes: >>>>> >>>>> 1. Continue editing in the heading, but on a new line: >>>>> >>>>> ----------8<---------- >>>>> * (((= Title 1 >>>>> x =))) >>>>> ---------->8---------- >>>>> >>>>> 2. Continue editing in the same list item but after the heading, >>>>> in a >>>>> paragraph: >>>>> >>>>> ----------8<---------- >>>>> * (((= Title 1 = >>>>> >>>>> x))) >>>>> ---------->8---------- >>>>> >>>>> 3. Create a new list item: >>>>> >>>>> ----------8<---------- >>>>> * (((= Title 1 =))) >>>>> * x >>>>> ---------->8---------- >>>>> >>>>> For the first outcome I think we all agree that the user has to >>>>> press >>>>> Shift+Enter. For the second and third outcomes I see two options: >>>>> >>>>> A) Enter for 2 and CTRL/META+Enter for 3 >>>>> B) Enter for 3 and CTRL/META+Enter for 2 >>>>> (if you see any other options please step up) >>>> I don't think we need META. >>>> I'd go with the simplest: >>>> * when inside a group, use the normal enter behavior for the >>>> underlying element. If you're in a header then enter create a new >>>> paragraph, etc) >>>> * you need to position the cursor after the group in the list item >>>> and >>>> press enter to get a new list item >>> The problem is that the list item wraps the group and there's no >>> (easy) >>> way to place the caret after the group but in the list item. >> That's why I suggested a visual way to identify the group so it's easy >> to see if the caret is inside or outside the group (ie. before the </ >> div> or after). >> >>> In fact the >>> WYSIWYG editor is not aware of a group: it simply sees a list item >>> with >>> content inside. But since the caret is inside a heading the Enter >>> key is >>> treated accordingly, even if the heading is inside a list item. That's >>> why I think we need a META+Enter to be able to get out of the list >>> item. >>> >>>> Note: another solution could allow to get out of the group by >>>> pressing >>>> tab but we said we wanted to keep the standard browser tab behavior. >>> I don't see how we could use the Tab key. >> It would have the same effect as your META+Enter and would go to the >> next list item for example. But again since we don't want to us Tab >> it's moot. >> >>>> If we really want to introduce a new META+Enter then I'd definitely >>>> vote +1 for A). >>>> >>>> BTW how are groups represented visually in the editor? Maybe this is >>>> the real problem? >>> Groups are not represented visually in a special way. As I said, the >>> editor is not aware of them right now. I don't see how drawing a >>> border >>> around the group would help (through CSS). Also, in this case the >>> XWiki >>> 2.0 syntax user is forced to use the group notation in order to add >>> complex content inside a list item because there's no other means of >>> doing this so I don't think he would expect to see a border around the >>> content in the WYSIWYG editor. >> I don't agree. For your description above of the different uses case >> you *do* want to differentiate where you're inside a group or not >> since the behaviors are not the same. So it makes sense to me to have >> some visual clue of a group so that the user knows what behavior he'll >> get. > > > Well, there is no representation of a group per se in the WYSIWYG (you don't > have a visual clue as to whether the caret is **here|** or **here**| ) and > since you don't know where you are you can't get the caret in / out of the > group using the left / right arrow keys. > > I'm not aware of any WYSIWYG editor that has such a way of displaying where > exactly the caret is in relation to groups (either in desktop or web WYSIWYG > editors). Additionally, I'm not sure we want to go into this direction since > it poses numerous UI & technical issues. I fully agree with you Guillaume on this. > > I've tested the behavior of OpenOffice Writer and it's the following: when a > list item is also a heading, hitting enter when the caret is at the end of > the line gets the caret out of the list and creates a new paragraph. In > DekiWiki, hitting enter when the caret is at the end of the heading item > creates a new list item. > > As I pointed it out in the JIRA comment, the most common behavior will be > for users to expect a new list item to be created when they hit the enter > key, whatever the content located in the list item. If we implement A) , > users will have no clue about what they need to do to get out of the list if > they put a heading in a list since they won't know about CTRL/META + ENTER. > Choosing A) would result in making the most intuitive / most used option > hard to reach. I really don't think that's what we want. > > Thus I'm strongly in favor of B) Enter for 3 and CTRL/META+Enter for 2 B) is fine for me, although I prefer A). I'd like to see more votes before implementing one of them. Thanks, Marius > > Guillaume > > >> Thanks >> -Vincent >> >>> Thanks, >>> Marius >>> >>>> Thanks >>>> -Vincent >>>> >>>>> I'm +1 for A) for the following reason: if the user has inserted a >>>>> heading in a list item then he will surely want to add more content >>>>> after that heading, thus pressing just Enter is the natural way of >>>>> doing >>>>> this. From a technical POV the caret is first inside a heading and >>>>> then >>>>> inside a list item so the heading should have the priority of >>>>> handling >>>>> the Enter key. >>>>> >>>>> NOTE: Choosing A) or B) doesn't affect the way simple lists are >>>>> created, >>>>> which is using just Enter. >>>>> >>>>> Please cast your votes and sorry for the long mail, >>>>> Marius >> _______________________________________________ >> users mailing list >> [email protected] >> http://lists.xwiki.org/mailman/listinfo/users >> > > >
On May 14, 2009, at 2:26 PM, Guillaume Lerouge wrote:
Hi,
On Thu, May 14, 2009 at 1:12 PM, Vincent Massol <[email protected]> wrote:
On May 14, 2009, at 12:47 PM, Marius Dumitru Florea wrote:
Hi Vincent,
Vincent Massol wrote:
On May 14, 2009, at 11:01 AM, Marius Dumitru Florea wrote:
Hi there,
Right now the new WYSIWYG editor allows us to create simple lists like the following:
----------8<---------- * plants * animals ** invertebrates ** vertebrates ---------->8----------
By pressing just Enter when the caret is inside a list item we create a new list item. This is the basic mechanism. It's simple and it should remain so.
If I want to make the previous list a bit more complex:
----------8<---------- * (((= Plants =
Plants are living organisms belonging to the kingdom Plantae.))) * (((= Animals =
Animals are a major group of mostly multicellular, eukaryotic organisms of the kingdom Animalia or Metazoa.
They are divided into:))) ** (((== Invertebrates ==
An invertebrate is an animal lacking a vertebral column.))) ** (((== Vertebrates ==
Vertebrates are members of the subphylum Vertebrata, chordates with backbones or spinal columns.))) ---------->8----------
I have to be able to insert new lines inside a list item using the Enter key but without creating a new list item. Let's consider the following state:
----------8<---------- * (((= Plants =))) ---------->8----------
We have a level 1 heading inside a list item. The caret is inside the heading, at the end. Pressing Enter can have the following three outcomes:
1. Continue editing in the heading, but on a new line:
----------8<---------- * (((= Title 1 x =))) ---------->8----------
2. Continue editing in the same list item but after the heading, in a paragraph:
----------8<---------- * (((= Title 1 =
x))) ---------->8----------
3. Create a new list item:
----------8<---------- * (((= Title 1 =))) * x ---------->8----------
For the first outcome I think we all agree that the user has to press Shift+Enter. For the second and third outcomes I see two options:
A) Enter for 2 and CTRL/META+Enter for 3 B) Enter for 3 and CTRL/META+Enter for 2 (if you see any other options please step up)
I don't think we need META. I'd go with the simplest: * when inside a group, use the normal enter behavior for the underlying element. If you're in a header then enter create a new paragraph, etc) * you need to position the cursor after the group in the list item and press enter to get a new list item
The problem is that the list item wraps the group and there's no (easy) way to place the caret after the group but in the list item.
That's why I suggested a visual way to identify the group so it's easy to see if the caret is inside or outside the group (ie. before the </ div> or after).
In fact the WYSIWYG editor is not aware of a group: it simply sees a list item with content inside. But since the caret is inside a heading the Enter key is treated accordingly, even if the heading is inside a list item. That's why I think we need a META+Enter to be able to get out of the list item.
Note: another solution could allow to get out of the group by pressing tab but we said we wanted to keep the standard browser tab behavior.
I don't see how we could use the Tab key.
It would have the same effect as your META+Enter and would go to the next list item for example. But again since we don't want to us Tab it's moot.
If we really want to introduce a new META+Enter then I'd definitely vote +1 for A).
BTW how are groups represented visually in the editor? Maybe this is the real problem?
Groups are not represented visually in a special way. As I said, the editor is not aware of them right now. I don't see how drawing a border around the group would help (through CSS). Also, in this case the XWiki 2.0 syntax user is forced to use the group notation in order to add complex content inside a list item because there's no other means of doing this so I don't think he would expect to see a border around the content in the WYSIWYG editor.
I don't agree. For your description above of the different uses case you *do* want to differentiate where you're inside a group or not since the behaviors are not the same. So it makes sense to me to have some visual clue of a group so that the user knows what behavior he'll get.
Well, there is no representation of a group per se in the WYSIWYG (you don't have a visual clue as to whether the caret is **here|** or **here**| ) and since you don't know where you are you can't get the caret in / out of the group using the left / right arrow keys.
I'm not aware of any WYSIWYG editor that has such a way of displaying where exactly the caret is in relation to groups (either in desktop or web WYSIWYG editors).
I don't think they're doing it right. The WYMEditor is probably the closest but I tried it and it doesn't work with tables inside lists for ex. http://files.wymeditor.org/wymeditor/trunk/src/examples/01-basic.html I don't agree with it being confusing but I'm in the minory apparently so I'll shut up.
Additionally, I'm not sure we want to go into this direction since it poses numerous UI & technical issues.
I've tested the behavior of OpenOffice Writer and it's the following: when a list item is also a heading, hitting enter when the caret is at the end of the line gets the caret out of the list and creates a new paragraph. In DekiWiki, hitting enter when the caret is at the end of the heading item creates a new list item.
It looks to me both are wrong... :)
As I pointed it out in the JIRA comment, the most common behavior will be for users to expect a new list item to be created when they hit the enter key, whatever the content located in the list item.
After a header typing enter generates a new para so I'm not sure why the most common behavior would be to get to a new list item. I don't see the use case where the user will want to insert a header inside a list item without wanting to type some text below it. Maybe a use case would be to do that instead of using a larger Font but he'll get some trouble anyway with style since headers have an underline for example. However if we choose A) , as guillaume said the user won't know how to create the next list item (if we're on the last list item already). The only solution I can think of to have the best of both world is again to have a highlight when you're in such a case... Otherwise it's about displeasing a good percentage of users anyway (btw funnily we'll only get complaints from users who don't like the behavior and those who like it won't say anything so we'll end up listening to the complainers to find later on that those who liked it have become complainers after you change, etc ;)). Conclusion: * I prefer the highlight solution but it's quite more complex to implement * A) is my second choice * B) is third choice * I'll follow the majority and won't vote a -1 BTW if we have a table inside a list item I hope we get the table behavior on Enters and not B) ... B) is really going to be a pain in those cases. Thanks -Vincent
If we implement A) , users will have no clue about what they need to do to get out of the list if they put a heading in a list since they won't know about CTRL/META + ENTER. Choosing A) would result in making the most intuitive / most used option hard to reach. I really don't think that's what we want.
Thus I'm strongly in favor of B) Enter for 3 and CTRL/META+Enter for 2
Guillaume
Thanks -Vincent
Thanks, Marius
Thanks -Vincent
I'm +1 for A) for the following reason: if the user has inserted a heading in a list item then he will surely want to add more content after that heading, thus pressing just Enter is the natural way of doing this. From a technical POV the caret is first inside a heading and then inside a list item so the heading should have the priority of handling the Enter key.
NOTE: Choosing A) or B) doesn't affect the way simple lists are created, which is using just Enter.
Please cast your votes and sorry for the long mail, Marius
Vincent Massol wrote: > On May 14, 2009, at 12:47 PM, Marius Dumitru Florea wrote: > >> Hi Vincent, >> >> Vincent Massol wrote: >>> On May 14, 2009, at 11:01 AM, Marius Dumitru Florea wrote: >>> >>>> Hi there, >>>> >>>> Right now the new WYSIWYG editor allows us to create simple lists >>>> like >>>> the following: >>>> >>>> ----------8<---------- >>>> * plants >>>> * animals >>>> ** invertebrates >>>> ** vertebrates >>>> ---------->8---------- >>>> >>>> By pressing just Enter when the caret is inside a list item we >>>> create a >>>> new list item. This is the basic mechanism. It's simple and it >>>> should >>>> remain so. >>>> >>>> If I want to make the previous list a bit more complex: >>>> >>>> ----------8<---------- >>>> * (((= Plants = >>>> >>>> Plants are living organisms belonging to the kingdom Plantae.))) >>>> * (((= Animals = >>>> >>>> Animals are a major group of mostly multicellular, eukaryotic >>>> organisms >>>> of the kingdom Animalia or Metazoa. >>>> >>>> They are divided into:))) >>>> ** (((== Invertebrates == >>>> >>>> An invertebrate is an animal lacking a vertebral column.))) >>>> ** (((== Vertebrates == >>>> >>>> Vertebrates are members of the subphylum Vertebrata, chordates with >>>> backbones or spinal columns.))) >>>> ---------->8---------- >>>> >>>> I have to be able to insert new lines inside a list item using the >>>> Enter >>>> key but without creating a new list item. Let's consider the >>>> following >>>> state: >>>> >>>> ----------8<---------- >>>> * (((= Plants =))) >>>> ---------->8---------- >>>> >>>> We have a level 1 heading inside a list item. The caret is inside >>>> the >>>> heading, at the end. Pressing Enter can have the following three >>>> outcomes: >>>> >>>> 1. Continue editing in the heading, but on a new line: >>>> >>>> ----------8<---------- >>>> * (((= Title 1 >>>> x =))) >>>> ---------->8---------- >>>> >>>> 2. Continue editing in the same list item but after the heading, >>>> in a >>>> paragraph: >>>> >>>> ----------8<---------- >>>> * (((= Title 1 = >>>> >>>> x))) >>>> ---------->8---------- >>>> >>>> 3. Create a new list item: >>>> >>>> ----------8<---------- >>>> * (((= Title 1 =))) >>>> * x >>>> ---------->8---------- >>>> >>>> For the first outcome I think we all agree that the user has to >>>> press >>>> Shift+Enter. For the second and third outcomes I see two options: >>>> >>>> A) Enter for 2 and CTRL/META+Enter for 3 >>>> B) Enter for 3 and CTRL/META+Enter for 2 >>>> (if you see any other options please step up) >>> I don't think we need META. >>> I'd go with the simplest: >>> * when inside a group, use the normal enter behavior for the >>> underlying element. If you're in a header then enter create a new >>> paragraph, etc) >>> * you need to position the cursor after the group in the list item >>> and >>> press enter to get a new list item >> The problem is that the list item wraps the group and there's no >> (easy) >> way to place the caret after the group but in the list item. > > That's why I suggested a visual way to identify the group so it's easy > to see if the caret is inside or outside the group (ie. before the </ > div> or after). And how many simple users won't be confused by this? Groups are something technical, something related to the structure of the document. WYSIWYG users don't care about the structure, they care about the appearance. A box will only confuse them. "Why is there a box here? How do I make it go away? I don't want this box in my document. This editor is broken, I'll go buy another wiki." We should offer a good default. There are ways around such problems for those ingenious enough. I always have problems like this even when using MS Office (no, *especially* when using MSO), but I mix in some copy/paste, and in the end I'll make it work my way. >> In fact the >> WYSIWYG editor is not aware of a group: it simply sees a list item >> with >> content inside. But since the caret is inside a heading the Enter >> key is >> treated accordingly, even if the heading is inside a list item. That's >> why I think we need a META+Enter to be able to get out of the list >> item. >> >>> Note: another solution could allow to get out of the group by >>> pressing >>> tab but we said we wanted to keep the standard browser tab behavior. >> I don't see how we could use the Tab key. > > It would have the same effect as your META+Enter and would go to the > next list item for example. But again since we don't want to us Tab > it's moot. > >>> If we really want to introduce a new META+Enter then I'd definitely >>> vote +1 for A). >>> >>> BTW how are groups represented visually in the editor? Maybe this is >>> the real problem? >> Groups are not represented visually in a special way. As I said, the >> editor is not aware of them right now. I don't see how drawing a >> border >> around the group would help (through CSS). Also, in this case the >> XWiki >> 2.0 syntax user is forced to use the group notation in order to add >> complex content inside a list item because there's no other means of >> doing this so I don't think he would expect to see a border around the >> content in the WYSIWYG editor. > > I don't agree. For your description above of the different uses case > you *do* want to differentiate where you're inside a group or not > since the behaviors are not the same. So it makes sense to me to have > some visual clue of a group so that the user knows what behavior he'll > get. > > Thanks > -Vincent > >> Thanks, >> Marius >> >>> Thanks >>> -Vincent >>> >>>> I'm +1 for A) for the following reason: if the user has inserted a >>>> heading in a list item then he will surely want to add more content >>>> after that heading, thus pressing just Enter is the natural way of >>>> doing >>>> this. From a technical POV the caret is first inside a heading and >>>> then >>>> inside a list item so the heading should have the priority of >>>> handling >>>> the Enter key. >>>> >>>> NOTE: Choosing A) or B) doesn't affect the way simple lists are >>>> created, >>>> which is using just Enter. >>>> >>>> Please cast your votes and sorry for the long mail, >>>> Marius -- Sergiu Dumitriu http://purl.org/net/sergiu/
Marius Dumitru Florea wrote:
Hi there,
Right now the new WYSIWYG editor allows us to create simple lists like the following:
----------8<---------- * plants * animals ** invertebrates ** vertebrates ---------->8----------
By pressing just Enter when the caret is inside a list item we create a new list item. This is the basic mechanism. It's simple and it should remain so.
If I want to make the previous list a bit more complex:
----------8<---------- * (((= Plants =
Plants are living organisms belonging to the kingdom Plantae.))) * (((= Animals =
Animals are a major group of mostly multicellular, eukaryotic organisms of the kingdom Animalia or Metazoa.
They are divided into:))) ** (((== Invertebrates ==
An invertebrate is an animal lacking a vertebral column.))) ** (((== Vertebrates ==
Vertebrates are members of the subphylum Vertebrata, chordates with backbones or spinal columns.))) ---------->8----------
I have to be able to insert new lines inside a list item using the Enter key but without creating a new list item. Let's consider the following state:
----------8<---------- * (((= Plants =))) ---------->8----------
We have a level 1 heading inside a list item. The caret is inside the heading, at the end. Pressing Enter can have the following three outcomes:
1. Continue editing in the heading, but on a new line:
----------8<---------- * (((= Title 1 x =))) ---------->8----------
2. Continue editing in the same list item but after the heading, in a paragraph:
----------8<---------- * (((= Title 1 =
x))) ---------->8----------
3. Create a new list item:
----------8<---------- * (((= Title 1 =))) * x ---------->8----------
For the first outcome I think we all agree that the user has to press Shift+Enter. For the second and third outcomes I see two options:
A) Enter for 2 and CTRL/META+Enter for 3 B) Enter for 3 and CTRL/META+Enter for 2 (if you see any other options please step up)
I'm +1 for A) for the following reason: if the user has inserted a heading in a list item then he will surely want to add more content after that heading, thus pressing just Enter is the natural way of doing this. From a technical POV the caret is first inside a heading and then inside a list item so the heading should have the priority of handling the Enter key.
NOTE: Choosing A) or B) doesn't affect the way simple lists are created, which is using just Enter.
Please cast your votes and sorry for the long mail, Marius
Normally we would choose the most obvious behavior, but here I'd say that we must choose the least confusing one. Having "embedded blocks" is something not so common, and users don't always do things with structure in mind. Most users won't put a title in the list because they want to make a structured/complex list item, but because they want a bigger font. So, they will press enter, and then they won't get a new list item, but a paragraph. So far they always pressed enter to get a new list item, and suddenly it doesn't work anymore. If they don't know about Ctrl+Enter, they'll keep adding content to the list item. The content will be indented, and they don't seem to be able to outdent it without removing the list item. Again, users don't think in structure, they think in appearance. Having a consistent key behavior is the best choice, and so far creating a new list item is the most consistent behavior. I vote B). And we need good documentation for this feature, as otherwise it will be hidden. Btw, AFAIR Ctrl+Enter is PageBreak in MSO. Since we don't have pagebreaks on web, it's OK to reassign this key. -- Sergiu Dumitriu http://purl.org/net/sergiu/
participants (4)
-
Guillaume Lerouge -
Marius Dumitru Florea -
Sergiu Dumitriu -
Vincent Massol