After an upgrade from 4.7.28 to 5.3.1:

  1. Text areas (e.g. editing an event description) have a blank part of the screen in place of the normal editing box.
  2. The configure page of the ckeditor is also broken.
  3. Both of those pages show a console error: Uncaught TypeError: Cannot read property '17' of undefined at Object.keystrokeToArray (ckeditor.js:36) at Object.keystrokeToString (ckeditor.js:35) at CKEDITOR.ui.button.render (ckeditor.js:636) at G (ckeditor.js:647) at a. (ckeditor.js:649) at a.h (ckeditor.js:10) at a. (ckeditor.js:11) at a.window.CKEDITOR.window.CKEDITOR.dom.CKEDITOR.editor.CKEDITOR.editor.fire (ckeditor.js:13) at b (ckeditor.js:326) at a. (ckeditor.js:325)
  4. They also show console errors of missing css files, which appear to be missing from the monoo-lisa skin directory of the ckeditor directory of my drupal libraries, i.e. not the one civicrm has bundled or should use. I presume this is just a side effect of the above error.

I have a very similar site that went through the same upgrade that does not have this issue (and both sites use Drupal's ckeditor via the wysiwyg module). This site notably has a very large CRM variable defined in javascript, but it doesn't show any other errors.

  • Is this a multi-lingual site? Commented Jul 31, 2018 at 20:19
  • Seamus suggests "i would be trying to bust every possible cache possible" Commented Jul 31, 2018 at 21:16
  • including any varnish caches
    – user4278
    Commented Jul 31, 2018 at 21:26
  • Yes, caches cleared ad nauseum. Varnish not a bad guess since it might be doing some more aggressive caching for some js, but nope. Debugging in that ckeditor script to figure out which js config variable is getting set properly is probably the key, but I was hoping someone would recognize that stack trace ...
    – Alan Dixon
    Commented Aug 1, 2018 at 16:50

2 Answers 2


Do you have the Boxes contrib module enabled on your Drupal site? If so, your problem may be this:

Issue #2175471: Incompatible with CiviCRM - CKEditor WYSIWYG does not load

There is a patch available from the above link that resolves the issue.

  • Awesome, that was it! Totally not what I was looking for or expecting in a solution. Thank you.
    – Alan Dixon
    Commented Aug 6, 2018 at 19:07

As Pradeep is intimating, a lot of folks have seen this because of a multilingual schema needing rebuilding. drush cvapi system.rebuildmultilingualschema could fix that. Otherwise you end up with "undefined" as the base URL of your Resource URL, similar to this.

  • Nope, not multi-lingual. That problem shows up all over the place!
    – Alan Dixon
    Commented Aug 1, 2018 at 16:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.