Uploaded image for project: 'Ibexa IBX'
  1. Ibexa IBX
  2. IBX-2961

Can't add an extra Plugin to CKEditor

    XMLWordPrintable

Details

    • [4.2] - Sprint 6
    • Ibexa Open Source

    Description

      Steps to reproduce

      1. Install Ibexa DXP v4
      2. Add a new plugin:
        1. Create a new file: src/Extension/CKEditor/Plugin/ckeditor.test_plugin.module.js with code
      import Plugin from '@ckeditor/ckeditor5-core/src/plugin';
      
      class TestPlugin extends Plugin  {
      
          init() {
             console.log('init');
          }
      }
      window.ibexa.addConfig('richText.CKEditor.extraPlugins', [TestPlugin], false) 

      2. Add created file to ibexa-admin-ui-edit-base-js in file ibexa.webpack.config.js

      ibexaConfigManager.add({
          ibexaConfig,
          entryName: 'ibexa-admin-ui-edit-base-js',
          newItems: [path.resolve(__dirname, './src/Extension/CKEditor/Plugin/ckeditor.test_plugin.module.js')],
      }); 
      1. Run yarn encore dev|prod
      2. Try to create an article

       

      Result

      CKEditor not working and in dev tools shows errors:

      ibexa-richtext-onlineeditor-js.js:113049 Uncaught CKEditorError: ckeditor-duplicated-modules
      Read more: https://ckeditor.com/docs/ckeditor5/latest/framework/guides/support/error-codes.html#error-ckeditor-duplicated-modules
          at ./public/bundles/ibexaadminuiassets/vendors/@ckeditor/ckeditor5-utils/src/version.js (ibexa-richtext-onlineeditor-js.js:113049:9)
          at __webpack_require__ (ibexa-richtext-onlineeditor-js.js:136893:41)
          at ./public/bundles/ibexaadminuiassets/vendors/@ckeditor/ckeditor5-utils/src/emittermixin.js (ibexa-richtext-onlineeditor-js.js:108749:66)
          at __webpack_require__ (ibexa-richtext-onlineeditor-js.js:136893:41)
          at ./public/bundles/ibexaadminuiassets/vendors/@ckeditor/ckeditor5-utils/src/observablemixin.js (ibexa-richtext-onlineeditor-js.js:111403:71)
          at __webpack_require__ (ibexa-richtext-onlineeditor-js.js:136893:41)
          at ./public/bundles/ibexaadminuiassets/vendors/@ckeditor/ckeditor5-core/src/plugin.js (ibexa-richtext-onlineeditor-js.js:9564:103)
          at __webpack_require__ (ibexa-richtext-onlineeditor-js.js:136893:41)
          at ./vendor/ibexa/fieldtype-richtext/src/bundle/Resources/public/js/CKEditor/plugins/character-counter.js (ibexa-richtext-onlineeditor-js.js:124628:93)
          at __webpack_require__ (ibexa-richtext-onlineeditor-js.js:136893:41)
      ./public/bundles/ibexaadminuiassets/vendors/@ckeditor/ckeditor5-utils/src/version.js @ ibexa-richtext-onlineeditor-js.js:113049
      __webpack_require__ @ ibexa-richtext-onlineeditor-js.js:136893
      ./public/bundles/ibexaadminuiassets/vendors/@ckeditor/ckeditor5-utils/src/emittermixin.js @ ibexa-richtext-onlineeditor-js.js:108749
      __webpack_require__ @ ibexa-richtext-onlineeditor-js.js:136893
      ./public/bundles/ibexaadminuiassets/vendors/@ckeditor/ckeditor5-utils/src/observablemixin.js @ ibexa-richtext-onlineeditor-js.js:111403
      __webpack_require__ @ ibexa-richtext-onlineeditor-js.js:136893
      ./public/bundles/ibexaadminuiassets/vendors/@ckeditor/ckeditor5-core/src/plugin.js @ ibexa-richtext-onlineeditor-js.js:9564
      __webpack_require__ @ ibexa-richtext-onlineeditor-js.js:136893
      ./vendor/ibexa/fieldtype-richtext/src/bundle/Resources/public/js/CKEditor/plugins/character-counter.js @ ibexa-richtext-onlineeditor-js.js:124628
      __webpack_require__ @ ibexa-richtext-onlineeditor-js.js:136893
      (anonymous) @ ibexa-richtext-onlineeditor-js.js:136963
      (anonymous) @ ibexa-richtext-onlineeditor-js.js:137252
      (anonymous) @ ibexa-richtext-onlineeditor-js.js:137254
      ibexa-admin-ui-content-edit-parts-js.js:9808 Uncaught TypeError: ibexa.BaseRichText is not a constructor
          at ibexa-admin-ui-content-edit-parts-js.js:9808:26
          at NodeList.forEach (<anonymous>)
          at ibexa-admin-ui-content-edit-parts-js.js:9807:79
          at ./vendor/ibexa/admin-ui/src/bundle/Resources/public/js/scripts/fieldType/ezrichtext.js (ibexa-admin-ui-content-edit-parts-js.js:9829:3)
          at __webpack_require__ (runtime.js:23:42)
          at __webpack_exec__ (ibexa-admin-ui-content-edit-parts-js.js:11968:48)
          at ibexa-admin-ui-content-edit-parts-js.js:11969:2343
          at webpackJsonpCallback (runtime.js:169:39)
          at ibexa-admin-ui-content-edit-parts-js.js:1:53 

       

      Expected result

      It should be possible to add a plug-in to CKEditor without any problems

       

      Designs

        Attachments

          Activity

            People

              Unassigned Unassigned
              mateusz.debinski@ibexa.co Mateusz Dębiński
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: