<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <title>Liferay 7.4.43 Frontend and backend editor BaseEditorConfigContributor</title>
  <link rel="self" href="https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=121630587" />
  <subtitle>Liferay 7.4.43 Frontend and backend editor BaseEditorConfigContributor</subtitle>
  <id>https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=121630587</id>
  <updated>2026-04-04T00:37:13Z</updated>
  <dc:date>2026-04-04T00:37:13Z</dc:date>
  <entry>
    <title>RE: Liferay 7.4.43 Frontend and backend editor BaseEditorConfigContributor</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=121631370" />
    <author>
      <name>Sebastian Wikholm</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=121631370</id>
    <updated>2023-01-20T07:39:29Z</updated>
    <published>2023-01-20T07:39:09Z</published>
    <summary type="html">&lt;p&gt;Couple of days put in to this, it doesnt seem to help. I can add json
  configs to the JsonObject in populateConfigJSONObject, but it doesnt
  seem to affect at all the editor on the page.&lt;/p&gt;
&lt;p&gt;I can only get data from the more advanced editor on the backend,
  like when editing web content and specifying which editor i want to get.&lt;br /&gt;
  &lt;br /&gt; To get the data from the editor on the frontpage, ie when
  editing a page where there is a paragraph fragment, i can only get any
  info from the JsonObject, when leaving EditorConfigContributor.class
  component description empty.&lt;br /&gt;
  &lt;br /&gt; No matter how i populate the JsonObject it does nothing. Found
  one example that seems more complete, but i guess this is too old to
  apply here: &lt;a
    href="https://github.com/NemethNorbert/CK-Alloy-Config-allow-HTML5"&gt;GitHub
    - NemethNorbert/CK-Alloy-Config-allow-HTML5: PoC
    EditorConfigContributors to allow HTML5 structure for CKEDITOR and
    Alloy editor&lt;/a&gt;&lt;br /&gt;
  &lt;br /&gt; They seem to do a bit more than in the learn liferay examples
  with dynamicincludes and  references. &lt;br /&gt;
  &lt;br /&gt; So still if anybody could point me in the right direction, if
  this is knowledge not wanted to be shared, shallow hints are also welcome.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;</summary>
    <dc:creator>Sebastian Wikholm</dc:creator>
    <dc:date>2023-01-20T07:39:09Z</dc:date>
  </entry>
  <entry>
    <title>Liferay 7.4.43 Frontend and backend editor BaseEditorConfigContributor</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=121630586" />
    <author>
      <name>Sebastian Wikholm</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=121630586</id>
    <updated>2023-09-12T12:13:23Z</updated>
    <published>2023-01-18T09:57:07Z</published>
    <summary type="html">&lt;p&gt;
  &lt;strong&gt;EDIT:  &lt;/strong&gt;8 months later, I´ve tried to find info all
  over on how to change the behaviour of the wysiwyg or rich text
  editors in liferay. The editor im mostly intrested to change is the
  editor that shows up when editing for example paragraphs. None of the
  official examples work with liferay 7.4.43, that has to do with adding
  buttons to the the different toolbars. The only way i can get anything
  out by extending BaseEditorConfigContributor is when i leave
  everything empty. The JSON object only has information about about
  file urls that liferay seems to provide. I try adding json object as
  they say one should, but nothing happens. I would really , really
  appreciate it if anyone has any luck with changing the rich text
  editors behaviour when editing pages on the frontend? &lt;/p&gt;
&lt;p&gt;
  &lt;strong&gt;EDIT2 8 months later: &lt;/strong&gt; the only thing that
  the populateConfigJSONObject method has in the jsonObject when
  extedning the BaseEditorConfigContributor and leaving the editorname
  blank, are the following lines:  &lt;/p&gt;
&lt;blockquote&gt;
  &lt;pre&gt;
&lt;code class="language-java"&gt;{
  &amp;quot;filebrowserBrowseUrl&amp;quot;: &amp;quot;https://devtest1.xxx.xx/group/guest/~/control_panel/manage/-/select/file%2Clayout/selectItem?_com_liferay_item_selector_web_portlet_ItemSelectorPortlet_0_json=%7B%22desiredItemSelectorReturnTypes%22%3A%22com.liferay.item.selector.criteria.URLItemSelectorReturnType%22%7D&amp;amp;_com_liferay_item_selector_web_portlet_ItemSelectorPortlet_1_json=%7B%22checkDisplayPage%22%3Afalse%2C%22desiredItemSelectorReturnTypes%22%3A%22com.liferay.item.selector.criteria.URLItemSelectorReturnType%22%2C%22enableCurrentPage%22%3Afalse%2C%22followURLOnTitleClick%22%3Afalse%2C%22multiSelection%22%3Afalse%2C%22showActionsMenu%22%3Afalse%2C%22showBreadcrumb%22%3Atrue%2C%22showDraftPages%22%3Afalse%2C%22showHiddenPages%22%3Atrue%2C%22showPrivatePages%22%3Atrue%2C%22showPublicPages%22%3Atrue%7D&amp;amp;p_p_auth=asdasd&amp;quot;,
  &amp;quot;filebrowserVideoBrowseLinkUrl&amp;quot;: &amp;quot;https://devtest1.xxx.xx/group/guest/~/control_panel/manage/-/select/video%2Curl/selectItem?_com_liferay_item_selector_web_portlet_ItemSelectorPortlet_0_json=%7B%22desiredItemSelectorReturnTypes%22%3A%22videoembeddablehtml%22%2C%22mimeTypeRestriction%22%3A%22video%22%7D&amp;amp;_com_liferay_item_selector_web_portlet_ItemSelectorPortlet_1_json=%7B%22desiredItemSelectorReturnTypes%22%3A%22videoembeddablehtml%22%7D&amp;amp;p_p_auth=asdasd&amp;quot;,
  &amp;quot;filebrowserImageBrowseUrl&amp;quot;: &amp;quot;https://devtest1.xxx.xx/group/guest/~/control_panel/manage/-/select/image%2Curl/selectItem?_com_liferay_item_selector_web_portlet_ItemSelectorPortlet_0_json=%7B%22desiredItemSelectorReturnTypes%22%3A%22com.liferay.item.selector.criteria.URLItemSelectorReturnType%22%2C%22mimeTypeRestriction%22%3A%22image%22%7D&amp;amp;_com_liferay_item_selector_web_portlet_ItemSelectorPortlet_1_json=%7B%22desiredItemSelectorReturnTypes%22%3A%22com.liferay.item.selector.criteria.URLItemSelectorReturnType%22%7D&amp;amp;p_p_auth=asdasd&amp;quot;,
  &amp;quot;filebrowserVideoBrowseUrl&amp;quot;: &amp;quot;https://devtest1.xxx.xx/group/guest/~/control_panel/manage/-/select/video%2Curl/selectItem?_com_liferay_item_selector_web_portlet_ItemSelectorPortlet_0_json=%7B%22desiredItemSelectorReturnTypes%22%3A%22videoembeddablehtml%22%2C%22mimeTypeRestriction%22%3A%22video%22%7D&amp;amp;_com_liferay_item_selector_web_portlet_ItemSelectorPortlet_1_json=%7B%22desiredItemSelectorReturnTypes%22%3A%22videoembeddablehtml%22%7D&amp;amp;p_p_auth=asdasd&amp;quot;,
  &amp;quot;filebrowserImageBrowseLinkUrl&amp;quot;: &amp;quot;https://devtest1.xxx.xx/group/guest/~/control_panel/manage/-/select/image%2Curl/selectItem?_com_liferay_item_selector_web_portlet_ItemSelectorPortlet_0_json=%7B%22desiredItemSelectorReturnTypes%22%3A%22com.liferay.item.selector.criteria.URLItemSelectorReturnType%22%2C%22mimeTypeRestriction%22%3A%22image%22%7D&amp;amp;_com_liferay_item_selector_web_portlet_ItemSelectorPortlet_1_json=%7B%22desiredItemSelectorReturnTypes%22%3A%22com.liferay.item.selector.criteria.URLItemSelectorReturnType%22%7D&amp;amp;p_p_auth=asdasd&amp;quot;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;p&gt; &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I can see that this question is asked by many, but no answers seem to
  be given. I´ve created a module project with a class that
  extends BaseEditorConfigContributor. The purpose is to add the
  &amp;quot;quote&amp;quot; and &amp;quot;addIndent&amp;quot; to editor, as the editor
  on this page seems to have.&lt;br&gt;
  &lt;br&gt; Now ive included both alloyeditor and cheditor in the
  component&lt;br&gt;  &lt;/p&gt;
&lt;pre&gt;
&lt;code class="language-java"&gt;@Component(immediate = true, 
         property = {
             
                &amp;quot;editor.name=alloyeditor&amp;quot;,
                &amp;quot;editor.name=ckeditor&amp;quot;,
                &amp;quot;service.ranking:Integer=1005&amp;quot;
        },

        service = EditorConfigContributor.class
    )&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;When I in the backend edit an article i do get &amp;quot;public void
  populateConfigJSONObject&amp;quot; method doing something, ie i can get
  the json but, adding &amp;quot;quote&amp;quot; to the different editor json
  arrays does nothing (like 'toolbar_liferayArticle'). But when editing
  on the frontend absolute nothing happens, ie when selecting a text in
  a paragraph fragment, the method mention aboved does not get called at all.&lt;/p&gt;
&lt;p&gt;Ive read a bunch of the articles
  regarding BaseEditorConfigContributor, but these do not help. A list
  of valid values for editor.name would be helpfull also as i cant  seem
  to get it to point to the right one.&lt;br&gt;
  &lt;br&gt;
  &lt;strong&gt;EDIT: &lt;/strong&gt;when i leave &amp;quot;editor.name=&amp;quot; empty i
  do get BaseEditorConfigContributor to populateConfigJSONObject to do
  something, but the json it provides in JSONObject is more or less
  empty. It only has urls for the buttons like
  &amp;quot;filebrowserImageBrowseUrl&amp;quot; etc. I tried to add to toolbars
  the camera as in the examples provided by liferay, this does nothing,
  logs show that the toolbars are added to the JSONObject..&lt;/p&gt;
&lt;p&gt;I do need to have those extra buttons in all editors, If anybody
  could please point me in the right direction, I would really
  appreciate it.&lt;/p&gt;</summary>
    <dc:creator>Sebastian Wikholm</dc:creator>
    <dc:date>2023-01-18T09:57:07Z</dc:date>
  </entry>
</feed>
