Can't open docs from Alfresco Share 23.4.1 using alfresco-collabora-online

Hi Collaborators,

I’m new to Collabora and setup a new CODE server (24.04.12.4) using deb packages on a vanilla Ububuntu 24.04.
While integration works with nextcloud, I have issues doing the same with Alfresco integration. I compiled current master from alfresco-collabora-online and installed the jars on Alfresco 23.4.1 (repo and share). The CODE server is public available having trusted ssl-config and the Alfresco server is in the internal network having ssl certs from my own CA. To avoid ssl issus on calling back from the Collabora server I set ssl_verification to false.

When I try to open a docx in Alfresco-Share using the “Edit in Collabora Online” action I see

Content-Security-Policy: The page settings have blocked the execution of an inline script (script-src-elem) because it violates the following directive: "script-src 'self' 'unsafe-eval'"

(translated from german) in browsers javascript console.

In cool coolwsd’s log I see some warnings and tons of “No tag to convert” errors:

wsd-00802-00815 2025-03-02 01:08:03.332051 +0000 [ websrv_poll ] WRN  WOPISrc validation error: unencoded WOPISrc [https://alf-test-234.myorgtest.lan/alfresco/service/wopi/files/acaa96e8-7b2f-48f6-aa96-e87b2f38f6b4] in URL: /browser/c177c64c3d/cool.html?WOPISrc=https://alf-test-234.myorgtest.lan/alfresco/service/wopi/files/acaa96e8-7b2f-48f6-aa96-e87b2f38f6b4&lang=de_DE&closebutton=1| wsd/RequestDetails.cpp:37
wsd-00802-00815 2025-03-02 01:08:03.332123 +0000 [ websrv_poll ] WRN  WOPISrc validation error: unencoded WOPISrc [https://alf-test-234.myorgtest.lan/alfresco/service/wopi/files/acaa96e8-7b2f-48f6-aa96-e87b2f38f6b4] in URL: /browser/c177c64c3d/cool.html?WOPISrc=https://alf-test-234.myorgtest.lan/alfresco/service/wopi/files/acaa96e8-7b2f-48f6-aa96-e87b2f38f6b4&lang=de_DE&closebutton=1| wsd/RequestDetails.cpp:37
wsd-00802-00815 2025-03-02 01:08:03.335450 +0000 [ websrv_poll ] WRN  WOPISrc validation error: unencoded WOPISrc [https://alf-test-234.myorgtest.lan/alfresco/service/wopi/files/acaa96e8-7b2f-48f6-aa96-e87b2f38f6b4] in URL [/browser/c177c64c3d/cool.html?WOPISrc=https://alf-test-234.myorgtest.lan/alfresco/service/wopi/files/acaa96e8-7b2f-48f6-aa96-e87b2f38f6b4&lang=de_DE&closebutton=1]. WOPISrc must be URI-encoded. This is highly problematic with proxies, load balancers, and when tunneling. Will not warn again| net/HttpHelper.hpp:76
wsd-00802-00815 2025-03-02 01:08:03.709950 +0000 [ websrv_poll ] WRN  SSL verification warning: 'self-signed certificate' seen on CheckFileInfo for [https%3A%2F%2Falf-test-234.myorgtest.lan%3A443%2Falfresco%2Fservice%2Fwopi%2Ffiles%2Facaa96e8-7b2f-48f6-aa96-e87b2f38f6b4]| wsd/RequestVettingStation.cpp:334
W: Error raised:
W:   No tag to convert.
W:   Backtraces:
W:     0. /opt/collaboraoffice/program/liblangtag-lo.so.1(+0x153ee) [0x7fbc29bc33ee]
W:     1. /opt/collaboraoffice/program/liblangtag-lo.so.1(lt_tag_convert_to_locale+0x30) [0x7fbc29bc5470]
W:     2. /opt/collaboraoffice/program/libi18nlangtag.so(_ZNK11LanguageTag20getGlibcLocaleStringESt17basic_string_viewIDsSt11char_traitsIDsEE+0xdd) [0x7fbc2c4bf98d]
W:     3. /opt/collaboraoffice/program/libmergedlo.so(_ZN9Translate6CreateESt17basic_string_viewIcSt11char_traitsIcEERK11LanguageTag+0x78) [0x7fbc30f5b508]
W:     4. /opt/collaboraoffice/program/libmergedlo.so(_Z12SvxResLocalev+0x47) [0x7fbc305f8757]
W:     5. /opt/collaboraoffice/program/libmergedlo.so(_Z8SvxResId11TranslateId+0x32) [0x7fbc305f87c2]
W:     6. /opt/collaboraoffice/program/libmergedlo.so(_ZN3svx24ThemeColorPaletteManager8generateEv+0xc0) [0x7fbc3098f1d0]
W:     7. /opt/collaboraoffice/program/libmergedlo.so(_ZN3svx24ThemeColorPaletteManager12generateJSONERN5tools10JsonWriterE+0x43) [0x7fbc3098f863]
W:     8. /opt/collaboraoffice/program/libmergedlo.so(_ZN3svx5theme9notifyLOKERKSt10shared_ptrIN5model8ColorSetEERKSt3setI5ColorSt4lessIS8_ESaIS8_EE+0x7f) [0x7fbc3098e84f]
W:     9. /opt/collaboraoffice/program/../program/libswlo.so(_ZN6SwView23afterCallbackRegisteredEv+0x93) [0x7fbc23cd5193]
W:     10. /opt/collaboraoffice/program/libmergedlo.so(_ZN12SfxViewShell29setLibreOfficeKitViewCallbackEP23SfxLokCallbackInterface+0x3a) [0x7fbc300b733a]
W:     11. /opt/collaboraoffice/program/libmergedlo.so(+0x28a33c2) [0x7fbc3013f3c2]
W:     12. /usr/bin/coolforkit-ns(_ZN8Document4loadERKSt10shared_ptrI12ChildSessionERKSs+0xd08) [0x5edca8]
W:     13. /usr/bin/coolforkit-ns(_ZN8Document6onLoadERKSsS1_S1_+0xc2) [0x5f0572]
W:     14. /usr/bin/coolforkit-ns(_ZN12ChildSession12loadDocumentERK12StringVector+0x1e2) [0x5883b2]
W:     15. /usr/bin/coolforkit-ns(_ZN12ChildSession12_handleInputEPKci+0x198e) [0x58ff3e]
W:     16. /usr/bin/coolforkit-ns(_ZN7Session13handleMessageERKSt6vectorIcSaIcEE+0x66) [0x626406]
W:     17. /usr/bin/coolforkit-ns(_ZN8Document14forwardToChildERKSsRKSt6vectorIcSaIcEE+0x36d) [0x5d8d8d]
W:     18. /usr/bin/coolforkit-ns(_ZN8Document10drainQueueEv+0xc06) [0x5da3c6]
W:     19. /usr/bin/coolforkit-ns(_ZN13KitSocketPoll7kitPollEi+0x188) [0x5daa38]
W:     20. /opt/collaboraoffice/program/libmergedlo.so(_ZN14SvpSalInstance9ImplYieldEbb+0x2bc) [0x7fbc3164208c]
W:     21. /opt/collaboraoffice/program/libmergedlo.so(_ZN14SvpSalInstance7DoYieldEbb+0x15d) [0x7fbc316422ad]
W:     22. /opt/collaboraoffice/program/libmergedlo.so(+0x3bf6741) [0x7fbc31492741]
W:     23. /opt/collaboraoffice/program/libmergedlo.so(_ZN11Application7ExecuteEv+0xa5) [0x7fbc31492ef5]
W:     24. /opt/collaboraoffice/program/libmergedlo.so(+0x284923a) [0x7fbc300e523a]
W:     25. /opt/collaboraoffice/program/libmergedlo.so(_Z10ImplSVMainv+0x61) [0x7fbc3149bd41]
W:     26. /opt/collaboraoffice/program/libmergedlo.so(soffice_main+0x9c) [0x7fbc30108c3c]
W:     27. /opt/collaboraoffice/program/libmergedlo.so(+0x2882e9a) [0x7fbc3011ee9a]

Same time on the Alfresco Repository I see in the debug log:

Mar 02 01:08:02 alf-test-234 alfresco[42143]: 2025-03-02T01:08:02,824 [] DEBUG [repo.jscript.ScriptLogger] [http-nio-127.0.0.1-8081-exec-10] --- Found Nav menu ---
Mar 02 01:08:02 alf-test-234 alfresco[42143]: 2025-03-02T01:08:02,894 [] DEBUG [repo.jscript.ScriptLogger] [http-nio-127.0.0.1-8081-exec-10]                  wopi host url resolved: https://alf-test-234.myorgtest.lan/alfresco/service
Mar 02 01:08:02 alf-test-234 alfresco[42143]: 2025-03-02T01:08:02,901 [] DEBUG [repo.jscript.ScriptLogger] [http-nio-127.0.0.1-8081-exec-10] ---- Ending the show ----
Mar 02 01:08:02 alf-test-234 alfresco[42143]: 2025-03-02T01:08:02,901 [] DEBUG [repo.jscript.ScriptLogger] [http-nio-127.0.0.1-8081-exec-10]                  WOPI File url : https://alf-test-234.myorgtest.lan/alfresco/service/wopi/files/acaa96e8-7b2f-48f6-aa96-e87b2f38f6b4
Mar 02 01:08:02 alf-test-234 alfresco[42143]: 2025-03-02T01:08:02,901 [] DEBUG [repo.jscript.ScriptLogger] [http-nio-127.0.0.1-8081-exec-10]                  iFrame url : https://collabora.myorg.de/browser/c177c64c3d/cool.html?WOPISrc=https://alf-test-234.myorgtest.lan/alfresco/service/wopi/files/acaa96e8-7b2f-48f6-aa96-e87b2f38f6b4&lang=de_DE&closebutton=1
Mar 02 01:08:02 alf-test-234 alfresco[42143]: 2025-03-02T01:08:02,902 [] DEBUG [repo.jscript.ScriptLogger] [http-nio-127.0.0.1-8081-exec-10]                  Access token : mta46h1ns7q74c7bktinip5kjt
Mar 02 01:08:02 alf-test-234 alfresco[42143]: 2025-03-02T01:08:02,902 [] DEBUG [repo.jscript.ScriptLogger] [http-nio-127.0.0.1-8081-exec-10]                  Access token TTL : 1740964082898

The Collabora Online server are quite cryptic. Has anybody an idea how to solve this issue?

  • is the current Alfresco modules intended to work with Alfresco 23 and Collabora Online 24.04.12.4?
  • do I have to import the private CA into Collabora’s trust store?

nobody has an idea? Any hint / feedback is welcome.

As the console message suggests, you should add a content policy declaration to your alfresco settings to allow Collabora to run within alfresco.
You will need the directive script-src for the domain where collabora online is hosted.

I don’t know how to set this up in alfresco though. There might be a setting somewhere.

1 Like

Thanks @meven, yes Content-Security-Policy is the issue, which is not configured in Alfresco Share UI by default. I’ll try my best and report back.
I thought some has already a solution for this but in the github project for the Alfersco integration I didn’t find any hint.

I am be mistaken, the setting might be needed on the collabora side which has a setting for this in coolwsd.xml.

I now set a CSP in coolwsd.xml

<content_security_policy>script-src 'self' 'unsafe-eval' 'unsafe-inline' https://myserver.mycompany.lan;</content_security_policy>

but now get in Firefox:

Uncaught RangeError: invalid language tag: "de_DE"

although allowed_languages includes de_DE

In Chrome I get:

Blocked autofocusing on a <div> element in a cross-origin subframe.

so I doubt this will ever work not running in the same domain and will try again making collabora available behind internal and external domain.