Hello all,
I am currently working on the design of a new CKEditor Image Dialog.
The main improvements of this rework of the CKEditor Image Dialog are:
- Allowing users to select an image style, allowing images to have uniform styles across the wiki
- Images selection:
- images gallery when searching for images to ease the selection by previewing the images
- images of the current document are presented at the top
- images indexed using solr to make it possible to index the caption, OCR, and filenames of the images
- Improved image upload: possibility to rename images on the fly
For me details please see the design page.
Architecture
The features of the Image Dialog depends on two new extensions:
- the “Image Style Administration Application” : this extension allows admin to configure the available style, to map styles to CSS and to configure the settings that are allowed to be modified when the style is selected
- the “Image Search Application”: provides the indexing and search endpoint for images
I propose to introduce two new modules inside XWiki Standard for them, respectively xwiki-platform-image-style
below xwiki-platform-image
and xwiki-platform-search-image
below xwiki-platform-search
.
Of course these two new modules will contains submodules for the ui, rest endpoints, etc.
Regarding the location of the new CKEditor plugin, I am less sure of the right location:
I see three options:
- inside
application-ckeditor-plugins
- as a new contrib extension
application-ckeditor-image-dialog
- as a new XWiki Standard extension
xwiki-platform-image-dialog
Transition strategy
I see two ways to transition to the new image dialog:
- by directly replacing the existing image dialog
- by offering a configuration option in the administration, allowing to choose between the “legacy” image dialog or the “new” one.
The second option add some complexity (for instance, maintaining an administration page that will disappear later) but could allow to propose the new image dialog before it covers at least the same features as the “legacy” one, allowing users to test it earlier.
WDYT?