> 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.

> * 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