> On 06 Jun 2016, at 18:32, Marius Dumitru Florea 
> <[email protected]> wrote:
> 
> On Mon, Jun 6, 2016 at 6:37 PM, Vincent Massol <[email protected]> wrote:
> 
>> 
>>> On 06 Jun 2016, at 16:47, Marius Dumitru Florea <
>> [email protected]> wrote:
>>> 
>>> On Sat, Jun 4, 2016 at 1:05 AM, Vincent Massol <[email protected]>
>> wrote:
>>> 
>>>> Hi Marius,
>>>> 
>>>>> On 03 Jun 2016, at 20:29, Marius Dumitru Florea <
>>>> [email protected]> wrote:
>>>>> 
>>>>> Hi devs,
>>>>> 
>>>>> While working on adding extension points to support the replacement of
>>>> the
>>>>> current WYSIWYG editor I came to the conclusion that we need to make a
>>>>> clear distinction between Edit Modes and Editors.
>>>>> 
>>>>> An Edit Mode is basically an HTML *form* that allows you to edit some
>>>> data
>>>>> that is associated with an XWiki document. There can be for instance an
>>>>> edit mode to edit the document title and content, another edit mode to
>>>> edit
>>>>> the document objects, another one to edit the document access rights,
>> and
>>>>> so on. Ideally, XWiki extensions should be able to provide new edit
>>>> modes.
>>>>> The current place where we expose the Edit Modes is the Edit Menu.
>> Class,
>>>>> Objects, Access Rights, Inline Form are well defined edit modes. Before
>>>> we
>>>>> talk about the Wiki and WYSIWYG "edit modes" let's define what an
>> editor
>>>> is.
>>>>> 
>>>>> An Editor is basically a form *field*. Most of the time it is an
>> enhanced
>>>>> form field, a widget, that allows you to edit a single document field.
>>>> The
>>>>> editor obviously depends on the field type. There can be a date editor
>>>>> (known as date picker), a plain text editor, a rich text editor, and so
>>>> on.
>>>>> Ideally, XWiki extensions should be able to provide new editors for
>>>>> specific data types. For instance an extension could replace the date
>>>>> picker. Another one could replace the rich text editor.
>>>>> 
>>>>> The relation between Edit Modes and Editors is many to many. An Edit
>> Mode
>>>>> can use multiple editors and an Editor can be used by multiple Edit
>>>> Modes.
>>>>> For instance the rich text editor can be used in the "Content" edit
>> mode
>>>>> (for document content) but also in the Inline Form edit mode, for
>>>> TextArea
>>>>> object properties.
>>>>> 
>>>>> If we agree with this distinction then I think XWiki should have
>> separate
>>>>> extension points for Edit Modes vs. Editors.
>>>> 
>>>> So far so good, I completely agree :)
>>>> 
>>>>> What does this mean for the CKEditor integration? Well, CKEditor is an
>>>>> editor.. so it doesn't make sense to have a "CKEditor" edit mode.
>>>> CKEditor
>>>>> can be used to edit the document content as well as the TextArea object
>>>>> properties that contain wiki syntax. So there should be no "CKEditor"
>>>> entry
>>>>> in the Edit Menu. Otherwise we need to add "Inline Form - CKEditor"
>> also,
>>>>> and so on for each Edit Mode that can use the CKEditor.
>>>>> 
>>>>> So I think we should go in the following direction:
>>>>> 
>>>>> * Replace Wiki and WYSIWYG entries from the Edit menu with a single
>> Entry
>>>>> that will represent the Edit Mode for editing the document title,
>> content
>>>>> and syntax. I'm not yet sure what name should we use for this Edit
>> Mode.
>>>>> Let's call it "Content" for now.
>>>>> * The default edit action (for simple users) will
>>>>> ** open the Inline Form edit mode if the document has a sheet
>> associated
>>>>> ** open the "Content" edit mode otherwise
>>>>> * The "Content" edit mode will use the Editor configured in the User
>>>>> Profile, falling-back on the wiki preferences
>>>> 
>>>> And also falling back on the global preferences for the farm if not
>>>> defined at the wiki level.
>>>> 
>>>>> * The Inline Form edit mode will use for TextArea properties the Editor
>>>>> specified in the property meta data, falling-back on the User Profile
>>>>> setting, then on the wiki preferences
>>>>> * We should have an administration section to configure the default
>>>> Editor
>>>>> as wiki level (wiki preferences)
>>>>> 
>>>>> We don't have to implement all this right away. I'd like to start by
>>>> making
>>>>> the editor list from the TextArea meta data, User Profile and wiki
>>>>> preferences extensible, so that CKEditor can add its entry there.
>>>>> 
>>>>> WDYT?
>>>> 
>>>> So I agree with everything you said. However it could also be possible
>> to
>>>> also have edit mode with editors. For example consider the following
>> edit
>>>> menu:
>>>> 
>>>> Edit
>>>> |_ Content
>>>>   |_ … With Default Editor
>>>>   |_ … With GWT WYSIWYG
>>>>   |_ … With CKEditor
>>>>   |_ … With Wiki Editor
>>>> |_ Inline / Form
>>>> …
>>>> 
>>>> So the Edit > Content menu entry could have sub menu entries to choose
>>>> explicitly which editor to edit with for the fields which support a
>>>> "content editor”.
>>>> 
>>>> There could be other options but I would definitely not like a solution
>>>> where I have to go to my profile and change my preferences whenever I
>> need
>>>> to change the editor to edit a given page. There are several reasons for
>>>> this:
>>>> 
>>> 
>>> 
>>>> * Some pages are good to be edited in WYSIWYG (pure content pages),
>> while
>>>> others are better edited using the wiki editor (code pages)
>>>> 
>>> 
>>> We should be able to configure the preferred editors for a given wiki
>> page
>>> like we do for user, wiki and farm. And we can with nested pages, by
>> using
>>> the "space" preferences. The code "space" of an application could be
>>> configured to use the plain text editor for instance. The question is
>> what
>>> is the fall-back chain? Can the user overwrite the preferred editor as
>> page
>>> or wiki level?
>> 
>> That’s not what I meant. We’re not going to force users to have to set an
>> admin option per wiki page! :)
>> 
>> 
> 
>> When editing a page the user needs to be able to choose whether he wants
>> to edit with a visual editor or a syntax editor.
>> 
> 
> You are referring to plain wiki pages here, but users interact a lot with
> structured pages also where they cannot choose from the edit menu the
> visual editor or the syntax editor.

Indeed, and that’s a recurrent problem we have. We need to offer the user the 
option to switch to another editor too when editing xproperties.

Thanks
-Vincent

> * Right now we already have a similar issue with showing hidden pages. It
>>>> take a lot of time to switch back and forth and for devs it’s a pain.
>>>> 
>>> 
>>> 
>>>> So while I agree with everything you said, I’d like that we also find a
>>>> way to be able to very quickly select which editor to use without
>> having to
>>>> set it in your profile.
>>>> 
>>> 
>>> This translates into another configuration level: request. It means being
>>> able to overwrite the preferred editors for a specific request. But this
>> is
>>> generic and could be used for other configuration options, like the
>> hidden
>>> pages.
>> 
>> Yes per request. But that’s technical. We need to find how it translates
>> in the UI. One option I mentioned is shortcut keys but that may not be
>> enough. Another idea is also what I suggested with the Edit menu showing
>> various options.
>> 
>> Thanks
>> -Vincent
>> 
>>> I guess one solution could be to have shortcuts keys to force editing
>> with
>>>> a given editor. I don’t know if it would be good enough though.
>>>> 
>>>> WDYT?
>>>> 
>>>> Thanks
>>>> -Vincent
>>>> 
>>>>> Thanks,
>>>>> Marius
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to