Pydio Cells 3.03 and Collabora Online 21.06 Integration

This weekend I installed Pydio Cells Home 3.0.3 on my Debian 10 machine.
My first experience is pretty good so I found it worth to enable the Collabora Online plugin.
On the same Debian machine I installed the Collabora Online CORE deb package (v21.06.11)
Both Pydio and Collabora are configured with SSL.

When I have an Office .docx or .xlsx document and chose to open it with “Libre Office” I get a white screen.
After some research I found that Pydio seems to point to …/loleaflet/dist/loleaflet.html?host=wss:…
However when I look into the /etc/coolwsd/coolwsd.xml configuration file I see that Collabora is expecting a file server directory pointing to browser/…/

Anyone recently experienced the same? How can I diagnose this further and setup the right configuration?

Thanks a lot in advance

In the mean time I did try out some other things to get clarity.
So I did setup the Collabora Docker image as well. The results however are exactly the same. Opening a document with Libre Office gives me a complete white page.

So apparently Pydio needs to be updated to be pointing to the new directory structure of the Collabora Online setup.

Anyone who has an intermediate solution or update let me know.

Hello @Mausman,

Could you share the command that you are using to run collabora and also the plugin settings ?

Hi Zayn,
Thanks for the response.
I run docker with the following command:

docker run -t -d -p 127.0.0.1:9980:9980 -e “extra_params=-o:tls.enable=false” -e “domain=my.domain.nl” collabora/code

The plugin settings in this case are:

  • Libre Office SSL: Disabled/Unchecked
  • Libre Office Host: localhost
  • Libre Office Host Port: 9980

Enabling SSL by the way on both, running the docker command and plugin gives the same result. When I enable SSL only on one of both I get the expected “502 bad gateway”. So the fact that I get only a white screen gives me the idea that the Collabora docker container responds.

Hello @Mausman,

I believe that might be because your domain is not dot escaped,
you have to escape the dots like this my\.domain\.nl

Could you try to re-run your docker with the escaped name and tell me if it fixes the issue ?

Hello Zayn,

Sorry for the late reply but I was quite occupied. I did try to run it as suggested indeed:

docker run -t -d -p 127.0.0.1:9980:9980 -e “domain=my\.domain\.nl” -e “username=admin” -e “password=S3cRet” --restart always collabora/code

Unfortunately that still gives me a white screen in Pydio. When I look into the logs of the docker image I find the following error when trying to access a document in Pydio:

wsd-00001-00040 2022-01-02 13:01:08.199267 +0000 [ websrv_poll ] ERR Unknown resource: /loleaflet/dist/loleaflet.html?host=wss://my.domain.nl:8081&WOPISrc=https%3A%2F%2Fmy.domain.nl%3A8081%2Fwopi%2Ffiles%2Fbfa0708c-abdb-4515-b280-bb9af4c9982f&access_token=q2ZeT1q3TMI1Hhm0Jm0Hy2bTpJ6wDvWmE0Un0kpoSII.A3s2Dtahjxb4KpBaROX-QnQDkS0GG5PNxzImsSH0XRY&permission=edit G, host: my.domain.nl:8081, path: 5
[0] ‘loleaflet’
[1] ‘dist’
[2] ‘loleaflet.html’
[3] ‘host=wss:’
[4] ‘my.domain.nl:8081&WOPISrc=https%3A%2F%2Fmy.domain.nl%3A8081%2Fwopi%2Ffiles%2Fbfa0708c-abdb-4515-b280-bb9af4c9982f&access_token=q2ZeT1q3TMI1Hhm0Jm0Hy2bTpJ6wDvWmE0Un0kpoSII.A3s2Dtahjxb4KpBaROX-QnQDkS0GG5PNxzImsSH0XRY&permission=edit’
full URI: /loleaflet/dist/loleaflet.html?host=wss://my.domain.nl:8081&WOPISrc=https%3A%2F%2Fmy.domain.nl%3A8081%2Fwopi%2Ffiles%2Fbfa0708c-abdb-4515-b280-bb9af4c9982f&access_token=q2ZeT1q3TMI1Hhm0Jm0Hy2bTpJ6wDvWmE0Un0kpoSII.A3s2Dtahjxb4KpBaROX-QnQDkS0GG5PNxzImsSH0XRY&permission=edit| wsd/COOLWSD.cpp:2818

So like I mentioned before it seems Pydio and Collabora use a different URL scheme.

Hello,

I’m having the same problem after updating cells and Collabora. It seems @Mausman is right and that the URL scheme has changed from the loolwsd to coolwsd.
A lot of files have been renamed in the last Collabora update and so have the URLs pointing to them. If you navigate to <my_domain>/hosting/discovery you see the URLs for all the editors. For me they all start with:
https://<my_domain>/browser/1e92cc5/cool.html? . I’m not sure what the 1e92cc5 is, I hope that it doesn’t change with version or from server to server.
When I open a Collabora file with the current version of Cells the request is: <my_domain>/loleaflet/dist/loleaflet.html?host=wss://<my_domain>&WOPISrc=<my_domain>&access_token=<token>&permission=edit
This does not work.
If I take the URL that Cells is producing and (manually) replace the /dist/loleaflet.html portion with /browser/1e92cc5/cool.html the document opens as expected.
As a side note, if you’re running Collabora behind a reverse proxy make sure that you replace all the loleaflet with browser and lool with cool
How can we take this further?

1 Like

I have a temporary solution, I added a rewrite to the reverse proxy. It works and from basic tests I can’t see any side effects

    location ^~ /loleaflet/dist/loleaflet.html {
        rewrite /loleaflet/dist/loleaflet.html /browser/1e92cc5/cool.html;
    }
1 Like

At least it confirms my conclusion. Thanks for doing some research as well @benw
I am not running a reverse proxy as both instances Cells and Collabora run on the same server. So I wait for a more structural solution from @zayn and the Pydio team.

I pushed a fix to the master, with a new parameter in the editor.libreoffice plugin config (to switch between v6 and v21+). Would be interested to have feedback ! I’ve left the “v6” by default.
Can you test the last build on Index of /pub/cells/dev

1 Like

Thanks a lot @charles. I will try the new build later this week so will get you feedback this weekend most likely. So far it sounds very promising.

@charles I can confirm that the version 3.0.4-dev.202201261106 you published is working.
Great work also that the plugin can be switched from the old to the new Collabora versions.

Thanks a lot for the effort so far and looking forward to the production build

Thank you for this fix, which worked for me.
My installation - Cells 3.0.3, Collabora 21.06 (rpm, no docker).
Apache reverse proxy.

Will someone please verify:
when I create a text document and try to insert an image (e. g. bmp, png, jpeg), this fails and I receive this error message:
“Uploading file to server failed with status: 0”

Otherwise functionality (file up- and downloading) goes without any compromises.

If you can verify this I for sure can give you some more information (logging files).

Thanks in advance.

Hi @MSK, I just tried and can confirm this. :“Uploading to the server failed with status: 0”
The other thing that happens is that the toolbars disappear and you can only close the document and reopen it again to continue editing.

Hi,

thank you for your support.
This seems to be a configuration issue:

My browser console shows:
bundle.js:1 Refused to connect to … because it violates the following Content Security Policy directive: "connect-src ‘self’ wss://…

I had to add two entries to my apache configuration files:
Header set Content-Security-Policy
Header set Access-Control-Allow-Origin

This is my cells.conf
cells.conf

This is my collabora.conf
collabora.conf

I tried to use the “frame_ancestors” entry in the coolwsd.xml, defining both collabora.xy-space and cells.xy-space here, but this did not work in my case. Maybe this IS a bug!?

I am not an apache expert. I made it work THIS way, not necessarily the BEST way!? Hints welcome.

Martin.

Hi, just in case you’ve missed it, in Pydio version 3.0.4 you can pick your Collabora version in the plugin settings.

Thanks devs!

2 Likes

I have installed the new version of Pydio 3.04 and Collabora now on the same server and I can confirm that it works beautifully.
One small remark, I saw a few minor issues when running self signed certificates for SSL encryption but when using public certificates it runs perfectly

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.