<!-- 
RSS generated by JIRA (9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b) at Mon Feb 12 09:56:31 CET 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>Magnolia - Issue tracker</title>
    <link>https://jira.magnolia-cms.com</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-uk</language>    <build-info>
        <version>9.4.2</version>
        <build-number>940002</build-number>
        <build-date>19-01-2023</build-date>
    </build-info>


<item>
            <title>[MGNLUI-8587] [DOC] Create simple process for the installation of CKE5 together with the rich text editor </title>
                <link>https://jira.magnolia-cms.com/browse/MGNLUI-8587</link>
                <project id="10625" key="MGNLUI">Magnolia UI</project>
                    <description>&lt;p&gt;USer Story: As developer I would like to have easy way to introduce plugin to the rich text editor powered by CKE5 so that I don&apos;t have to put too much effort into installing pluggins&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;One of the challanges are that CKE5 introduced new way of customizing the editor. We need to introduce new process of customization so it will be adapted to new technology - until we will not deprecate CK4&lt;/p&gt;
&lt;h2&gt;&lt;a name=&quot;DifferentiateinconfigurationbetweenCKEditor4andCKEditor5&quot;&gt;&lt;/a&gt;Differentiate in configuration between CKEditor4 and CKEditor5&lt;/h2&gt;
&lt;div class=&apos;table-wrap&apos;&gt;
&lt;table class=&apos;confluenceTable&apos;&gt;&lt;tbody&gt;
&lt;tr&gt;
&lt;th class=&apos;confluenceTh&apos;&gt;&#160;&lt;/th&gt;
&lt;th class=&apos;confluenceTh&apos;&gt;CKEditor 4&lt;/th&gt;
&lt;th class=&apos;confluenceTh&apos;&gt;CKEditor 5&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;Toolbar configuration&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;Configure the toolbar by providing an array of toolbar item name or using a custom toolbar configuration objectExample:
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
CKEDITOR.replace(&lt;span class=&quot;code-quote&quot;&gt;&apos;editor&apos;&lt;/span&gt;, {
&#160; &#160; toolbar: [
&#160; &#160; &#160; &#160; { name: &lt;span class=&quot;code-quote&quot;&gt;&apos;clipboard&apos;&lt;/span&gt;, items: [&lt;span class=&quot;code-quote&quot;&gt;&apos;Cut&apos;&lt;/span&gt;, &lt;span class=&quot;code-quote&quot;&gt;&apos;Copy&apos;&lt;/span&gt;, &lt;span class=&quot;code-quote&quot;&gt;&apos;Paste&apos;&lt;/span&gt;] },
&#160; &#160; &#160; &#160; { name: &lt;span class=&quot;code-quote&quot;&gt;&apos;editing&apos;&lt;/span&gt;, items: [&lt;span class=&quot;code-quote&quot;&gt;&apos;Undo&apos;&lt;/span&gt;, &lt;span class=&quot;code-quote&quot;&gt;&apos;Redo&apos;&lt;/span&gt;] },
&#160; &#160; &#160; &#160; { name: &lt;span class=&quot;code-quote&quot;&gt;&apos;basicstyles&apos;&lt;/span&gt;, items: [&lt;span class=&quot;code-quote&quot;&gt;&apos;Bold&apos;&lt;/span&gt;, &lt;span class=&quot;code-quote&quot;&gt;&apos;Italic&apos;&lt;/span&gt;, &lt;span class=&quot;code-quote&quot;&gt;&apos;Underline&apos;&lt;/span&gt;] },
&#160; &#160; &#160; &#160; &lt;span class=&quot;code-comment&quot;&gt;// ...
&lt;/span&gt;&#160; &#160; ]
});
 &lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;CKEditor 5 uses a different syntax for toolbar configuration. You can define toolbar item as an array of strings. Example:
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
ClassicEditor
    .create(document.querySelector(&lt;span class=&quot;code-quote&quot;&gt;&apos;#editor&apos;&lt;/span&gt;), {
        toolbar: [ &lt;span class=&quot;code-quote&quot;&gt;&apos;bold&apos;&lt;/span&gt;, &lt;span class=&quot;code-quote&quot;&gt;&apos;italic&apos;&lt;/span&gt;, &lt;span class=&quot;code-quote&quot;&gt;&apos;underline&apos;&lt;/span&gt;, &lt;span class=&quot;code-quote&quot;&gt;&apos;|&apos;&lt;/span&gt;, &lt;span class=&quot;code-quote&quot;&gt;&apos;undo&apos;&lt;/span&gt;, &lt;span class=&quot;code-quote&quot;&gt;&apos;redo&apos;&lt;/span&gt; ]
    })
    .&lt;span class=&quot;code-keyword&quot;&gt;catch&lt;/span&gt;(error =&amp;gt; {
        console.error(error);
    }); &lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;Plugins&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;CKEditor 4 uses an explicit&#160;plugin system, and you need to include and configure plugins in your configuration. Example:
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
CKEDITOR.replace(&lt;span class=&quot;code-quote&quot;&gt;&apos;editor&apos;&lt;/span&gt;, {
&#160; &#160; extraPlugins: &lt;span class=&quot;code-quote&quot;&gt;&apos;codesnippet&apos;&lt;/span&gt;,
&#160; &#160; codeSnippet_theme: &lt;span class=&quot;code-quote&quot;&gt;&apos;monokai_sublime&apos;&lt;/span&gt;
});
 &lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;CKEditor 5 has a more modular architecture, and you need to import and include plugins as part of the editor build. Example:
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
&lt;span class=&quot;code-keyword&quot;&gt;import&lt;/span&gt; ClassicEditor from &lt;span class=&quot;code-quote&quot;&gt;&apos;@ckeditor/ckeditor5-editor-classic/src/classiceditor&apos;&lt;/span&gt;;
&lt;span class=&quot;code-keyword&quot;&gt;import&lt;/span&gt; EssentialsPlugin from &lt;span class=&quot;code-quote&quot;&gt;&apos;@ckeditor/ckeditor5-essentials/src/essentials&apos;&lt;/span&gt;;
&lt;span class=&quot;code-keyword&quot;&gt;import&lt;/span&gt; BoldPlugin from &lt;span class=&quot;code-quote&quot;&gt;&apos;@ckeditor/ckeditor5-basic-styles/src/bold&apos;&lt;/span&gt;;
&lt;span class=&quot;code-keyword&quot;&gt;import&lt;/span&gt; ItalicPlugin from &lt;span class=&quot;code-quote&quot;&gt;&apos;@ckeditor/ckeditor5-basic-styles/src/italic&apos;&lt;/span&gt;;
&lt;span class=&quot;code-comment&quot;&gt;//...
&lt;/span&gt;
ClassicEditor.create(document.querySelector(&lt;span class=&quot;code-quote&quot;&gt;&apos;#editor&apos;&lt;/span&gt;), {
&#160; &#160; &#160; &#160; plugins: [ EssentialsPlugin, BoldPlugin, ItalicPlugin ],
&#160; &#160; &#160; &#160; toolbar: [ &lt;span class=&quot;code-quote&quot;&gt;&apos;bold&apos;&lt;/span&gt;, &lt;span class=&quot;code-quote&quot;&gt;&apos;italic&apos;&lt;/span&gt; ]
&#160; &#160; })
&#160; &#160; .&lt;span class=&quot;code-keyword&quot;&gt;catch&lt;/span&gt;(error =&amp;gt; {
&#160; &#160; &#160; &#160; console.error(error);
&#160; &#160; });
 &lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;Custom configuration&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;By default, CKEditor 4 loads its settings from the&#160;config.js&#160;file, but you can specify a&#160;custom configuration file. Example:
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
CKEDITOR.replace(&lt;span class=&quot;code-quote&quot;&gt;&apos;editor&apos;&lt;/span&gt;, {
    customConfig: &lt;span class=&quot;code-quote&quot;&gt;&apos;/myconfig.js&apos;&lt;/span&gt;
}); &lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;
&lt;td class=&apos;confluenceTd&apos;&gt;CKEditor 5 does not have a separate configuration file like CKEditor 4. Instead, you pass the&#160;configuration object&#160;directly when creating the editor instance.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;

&lt;h2&gt;&lt;a name=&quot;CKEditor4configurationoptionscompatibility&quot;&gt;&lt;/a&gt;CKEditor 4 configuration options compatibility&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://ckeditor.com/docs/ckeditor5/latest/updating/ckeditor4/ckeditor4-configuration-compatibility.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://ckeditor.com/docs/ckeditor5/latest/updating/ckeditor4/ckeditor4-configuration-compatibility.html&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;&lt;a name=&quot;CKEditor4pluginequivalents&quot;&gt;&lt;/a&gt;CKEditor 4 plugin equivalents&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://ckeditor.com/docs/ckeditor5/latest/updating/ckeditor4/ckeditor4-plugin-compatibility.html&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://ckeditor.com/docs/ckeditor5/latest/updating/ckeditor4/ckeditor4-plugin-compatibility.html&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
        <key id="143102">MGNLUI-8587</key>
            <summary>[DOC] Create simple process for the installation of CKE5 together with the rich text editor </summary>
                <type id="3" iconUrl="https://jira.magnolia-cms.com/secure/viewavatar?size=xsmall&amp;avatarId=10898&amp;avatarType=issuetype">Task</type>
                                            <priority id="6" iconUrl="https://jira.magnolia-cms.com/images/icons/priorities/neutral.gif">Neutral</priority>
                        <status id="3" iconUrl="https://jira.magnolia-cms.com/images/icons/statuses/inprogress.png" description="This issue is being actively worked on at the moment by the assignee.">In Progress</status>
                    <statusCategory id="4" key="indeterminate" colorName="inprogress"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="abrooks">Adrian Brooks</assignee>
                                    <reporter username="dmaslanka">Dominik Maslanka</reporter>
                        <labels>
                            <label>dx-core-6.3</label>
                    </labels>
                <created>Wed, 13 Dec 2023 09:35:17 +0100</created>
                <updated>Thu, 1 Feb 2024 08:39:15 +0100</updated>
                                                                                <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                                                                <issuelinks>
                            <issuelinktype id="10160">
                    <name>Relates</name>
                                                                <inwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="143108">MGNLUI-8592</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10050">
                    <name>documentation</name>
                                            <outwardlinks description="documents">
                                        <issuelink>
            <issuekey id="143522">MGNLUI-8621</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                            <subtask id="143103">MGNLUI-8588</subtask>
                            <subtask id="143104">MGNLUI-8589</subtask>
                            <subtask id="143105">MGNLUI-8590</subtask>
                            <subtask id="143106">MGNLUI-8591</subtask>
                    </subtasks>
                <customfields>
                                                                            <customfield id="customfield_14166" key="com.okapya.jira.checklist:checklist">
                        <customfieldname>Acceptance criteria</customfieldname>
                        <customfieldvalues>
                            
        <checklist>
        <![CDATA[
                            




                
                                    <div class="o-completion" style="display: flex; flex-shrink: 0;"><span  class="aui-lozenge aui-lozenge-complete" style="font-size: 12px; font-weight: normal; display: flex; flex-direction: row; align-items: center;" ><span style="padding-right: 4px; vertical-align: middle;"><svg width="15" height="15" viewBox="0 0 15 15" xmlns="http://www.w3.org/2000/svg" fill="white"><path clip-rule="evenodd" d="m10.41037,3.42544l-7.86501,0c-0.72395,0 -1.31084,0.58688 -1.31084,1.31084l0,7.86508c0,0.7239 0.58689,1.3108 1.31084,1.3108l7.86501,0c0.724,0 1.3109,-0.5869 1.3109,-1.3108l0,-7.86508c0,-0.72396 -0.5869,-1.31084 -1.3109,-1.31084zm-7.86501,-0.65542c-1.08593,0 -1.96626,0.88032 -1.96626,1.96626l0,7.86508c0,1.0859 0.88033,1.9662 1.96626,1.9662l7.86501,0c1.086,0 1.9663,-0.8803 1.9663,-1.9662l0,-7.86508c0,-1.08594 -0.8803,-1.96626 -1.9663,-1.96626l-7.86501,0z" fill-rule="evenodd"/><path d="m5.09049,10.18526l-1.82767,-1.82766l-0.78479,0.78479l2.61246,2.61246l5.38758,-5.38754l-0.78483,-0.78479l-4.60275,4.60274z"/></svg></span><span>Empty</span></span></div>
                        ]]>
    </checklist>


                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10111" key="com.atlassian.jira.toolkit:reporterdomain">
                        <customfieldname>Company</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>magnolia-cms.com</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_12730" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_14151" key="com.atlassian.jira.toolkit:message">
                        <customfieldname>Docu info</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10246" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>MGNLUI-8013</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10061" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comm is not jira-dev</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>true</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10071" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last participant</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>abrooks</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_13136" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            8 weeks, 5 days ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10020" key="com.atlassian.jira.toolkit:attachments">
                        <customfieldname>Number of attachments</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10150" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname>Number of comments</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>abrooks</customfieldvalue>
            <customfieldvalue>dmaslanka</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_10833" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|y0bkql:i</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10244" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_14433" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>T-Shirt Size</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="16404"><![CDATA[Medium]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_14167" key="com.okapya.jira.checklist:checklist">
                        <customfieldname>Task DoR</customfieldname>
                        <customfieldvalues>
                            
        <checklist>
        <![CDATA[
                            




                
                                    <div class="o-completion" style="display: flex; flex-shrink: 0;"><span  class="aui-lozenge aui-lozenge-complete" style="font-size: 12px; font-weight: normal; display: flex; flex-direction: row; align-items: center;" ><span style="padding-right: 4px; vertical-align: middle;"><svg width="15" height="15" viewBox="0 0 15 15" xmlns="http://www.w3.org/2000/svg" fill="white"><path clip-rule="evenodd" d="m10.41037,3.42544l-7.86501,0c-0.72395,0 -1.31084,0.58688 -1.31084,1.31084l0,7.86508c0,0.7239 0.58689,1.3108 1.31084,1.3108l7.86501,0c0.724,0 1.3109,-0.5869 1.3109,-1.3108l0,-7.86508c0,-0.72396 -0.5869,-1.31084 -1.3109,-1.31084zm-7.86501,-0.65542c-1.08593,0 -1.96626,0.88032 -1.96626,1.96626l0,7.86508c0,1.0859 0.88033,1.9662 1.96626,1.9662l7.86501,0c1.086,0 1.9663,-0.8803 1.9663,-1.9662l0,-7.86508c0,-1.08594 -0.8803,-1.96626 -1.9663,-1.96626l-7.86501,0z" fill-rule="evenodd"/><path d="m5.09049,10.18526l-1.82767,-1.82766l-0.78479,0.78479l2.61246,2.61246l5.38758,-5.38754l-0.78483,-0.78479l-4.60275,4.60274z"/></svg></span><span>Empty</span></span></div>
                        ]]>
    </checklist>


                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_12430" key="com.atlassian.teams:rm-teams-custom-field-team">
                        <customfieldname>Team</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[27]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_14145" key="com.intenso.jira.issue-templates:issue-templates-customfield">
                        <customfieldname>Template</customfieldname>
                        <customfieldvalues>
                            

    <customfieldvalue>PD Sub-Task Automation</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_15131" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Time in Discovery</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_13933" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Urgency (resolution)</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="15724"><![CDATA[Normal]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_14630" key="com.atlassian.jira.plugin.system.customfieldtypes:datetime">
                        <customfieldname>Work Started</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Wed, 31 Jan 2024 16:43:01 +0100</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    </customfields>
    </item>
</channel>
</rss>