Release Notes / Version 11.2307
Table Of ContentsThe CKEditor 5 Plugins provided by CoreMedia have been updated to 14.1.1.
This release addresses an issue that may occur while editing links within CKEditor 5: Having a link like:
<a xlink:href="https://e.org/" xlink:show="new">Link</a>
you may end up with mouse interaction or cursor movement, having a trailing (or leading) corrupted link like:
<a xlink:href="https://e.org/" xlink:show="new">Link</a><a xlink:href="" xlink:show="new"></a>
An update is recommended, as well as updating
ckeditorDefault.ts
to incorporate the required configuration (details below).
Details
The new release ships with a new plugin
LinkAttributes
, that allows to register attributes as "belonging to a link". Having this, such attributes share the same behavior as the "href" attribute, for example, like: Removed when "unlink" is invoked, share so-called two-step-caret-movement at the beginning and end of a link (decides, if newly typed text still belongs to the link or shall not be part of the link) and aligned focus management on mouse-click at end or beginning of link, which assumes to be "outside" of the link.
As part of this update, attributes that previously may have caused "links without or empty href" by the actions described above have been registered to be valid only in context of links. This applies to:
xlink:type
: a fixed attribute, registered by the Rich Text Plugin.xlink:actuate
: represented asdata-xlink-actuate
in data view and editing view. Configured inckeditorDefault.ts
(see Upgrade Information below)xlink:title
represented astitle
in data view and editing view. Configured inckeditorDefault.ts
(see Upgrade Information below)
Upgrade Information
In
@coremedia-blueprint/studio-client.ckeditor5
ckeditorDefault.ts
has been adapted, so that
xlink:title
and
xlink:actuate
and its view representations
title
and
data-xlink-actuate
are considered valid only in context of links.
A constant
linkAttributesConfig.ts
defined in an extra file is included and the CKEditor 5 instance adapted in that way, that it uses
LinkAttributes
plugin and the provided configuration as part of the
link
feature configuration:
link: { defaultProtocol: 'https://', ...linkAttributesConfig, },
If you provide editing support for
xlink:title
(view:
title
) and/or
xlink:actuate
(view:
data-xlink-actuate
) it is recommended to adapt
linkAttributesConfig.ts
by removing the corresponding attribute and integrate the configuration of
LinkAttributes
for this attribute to your plugin initialization.
Find more details in a new section in Studio Developer Manual CKEditor 5 Customization /Link Editing.
(CMS-22761)