Installing DrawEditor manually stops VisualEditor from working

Describe the issue / Steps to reproduce:
Add DrawEditor extension, load and configure backend, after this when we click on Edit the the content flashes, URL change but the editor won’t load.

We have an instance of Bluespice free 4.5 running with DrawEditor manually installed and configured, with not a single issue, but after we added all of our custom extensions worked only DrawEditor pointing to our DrawIO instance that causes issues.

Expected behavior:
VisualEditor to open and work

What was the error message/error log?
Only on browser console:
ve.init.mw.DesktopArticleTarget.init.js:339 VisualEditor failed to load: Error: Unknown module: ext.visualEditorPlus.tags.definition
eval @ ve.init.mw.DesktopArticleTarget.init.js:339
mightThrow @ jquery.js:3489
process @ jquery.js:3557
setTimeout
(anonymous) @ jquery.js:3602
fire @ jquery.js:3223
fireWith @ jquery.js:3353
fire @ jquery.js:3361
fire @ jquery.js:3223
fireWith @ jquery.js:3353
process @ jquery.js:3577
(anonymous) @ jquery.js:3587
mightThrow @ jquery.js:3489
process @ jquery.js:3557
setTimeout
(anonymous) @ jquery.js:3602
fire @ jquery.js:3223
fireWith @ jquery.js:3353
fire @ jquery.js:3361
fire @ jquery.js:3223
fireWith @ jquery.js:3353
process @ jquery.js:3577
setTimeout
(anonymous) @ jquery.js:3602
fire @ jquery.js:3223
add @ jquery.js:3282
(anonymous) @ jquery.js:3633
Deferred @ jquery.js:3713
then @ jquery.js:3607
loadModules @ ve.init.mw.ArticleTargetLoader.js:106
eval @ ve.init.mw.DesktopArticleTarget.init.js:308
mightThrow @ jquery.js:3489
process @ jquery.js:3557
setTimeout
(anonymous) @ jquery.js:3602
fire @ jquery.js:3223
add @ jquery.js:3282
(anonymous) @ jquery.js:3622
Deferred @ jquery.js:3713
then @ jquery.js:3607
getTarget @ ve.init.mw.DesktopArticleTarget.init.js:292
activateTarget @ ve.init.mw.DesktopArticleTarget.init.js:653
activatePageTarget @ ve.init.mw.DesktopArticleTarget.init.js:718
activateVe @ ve.init.mw.DesktopArticleTarget.init.js:1149
onEditTabClick @ ve.init.mw.DesktopArticleTarget.init.js:1117
dispatch @ jquery.js:5145
elemData.handle @ jquery.js:4949

Screenshots

System info:

  • OS: Ubuntu 22.04
  • Using Docker bluspice-deploy images
  • BlueSpice version: BlueSpice free 5.1.4
  • Browser version: Chrome 143.0.7499.40

We tested with jgraph/drawio default docker image and bluespice/diagram:5.1

Also tried our old way ://diagram.domain and the bluespice-deploy example with ://wiki.domain/_diagram

Only fix is to disable wfLoadExtension(‘DrawioEditor’); We are using the latest version for mediawiki 1.43

Hello semae,

Based on later-on information in you post, I assume that you are using BlueSpice 5.1.4.

For the DrawioEditor extension you added to your code base, which version number / branch name are you using for the DrawioEditor itself? For the latest BlueSpice 5.1.4, the DrawioEditor should be on released version 3.0.4 or development branch REL1_43-3.0.x.

I assume that you mapped the extension code into both wiki-web and wiki-task containers, where it is in directory /app/bluespice/w/extensions/DrawioEditor with the exact letter upper/lower case. To enable the extension in the docker compose setup, the recommended way is to add wfLoadExtension(‘DrawioEditor’); to your post-init-settings.php, as is mentioned in this paragraph. In the same config file you can inject different configs, for example $wgDrawioEditorImageType = 'svg';.

For the config regarding service url, if your wiki users are not isolated from the Internet, you can always use

$wgDrawioEditorBackendUrl="https://embed.diagrams.net";

which is the service hosted by the DrawIO service provider themselves. As far as we observed, their published jgraph/drawio is a truncated version comparing to their self-hosted version, which does not have functions like importing Visio diagrams and so on. bluespice/diagram:5.1 also relies on the opensource module, and has the same limitation.

If you would need an offline service for diagrams, please set:

$wgDrawioEditorBackendUrl="https://wiki.domain/_diagram/";

and make sure that your users can open this link from their browsers.

Hope these helps to configure your wiki. Wish you a pleasant holiday in advance!

Best regards,
Hua

We are using latest version 3.1.0-alpha:

image

I’ll try to downgrade to 3.0.x and report back, as for the rest we use a self-hosted version since not all of our users have access to the internet; also they use our DrawIO for other tasks besides the wiki so we can confirm everyone has access.

Thanks,

Best regards

@huaj1ng Using 3.0.4 worked, thank you!

1 Like