Page 1 of 1

Porting to XStreamOS / llumos

PostPosted: Mon Apr 30, 2018 4:42 pm
by gbulfon
Hello,

we're working on integrating OnlyOffice to our WebTop 5 collaboration platform.
Most of our cloud and customers on premis systems are based on our own XStreamOS distribution, based on illumos, OpenSolaris.
So, we're also porting OnlyOffice DocumentServer to our OS.

We already have packages and installed all the requirements (RabbitMQ, Redis, Postgres).

With some work, we managed to build DocumentServer against v8 taken from our nodejs package.
We obviously had to make some patches to support SunOS and Solaris here and there on your code base.
Luckily enough, we already had a phantomjs binary needed during the install phase.

So, we have now an installed OnlyOffice DocumentServer with illumos binaries, customized for our needs inside an onlyoffice folder, containing everything from "etc" to "var" and so on.
We also had to create a production-xstreamos.json copying it from production-linux.json, and customized it to point to the customized folders.
Finally, because we don't run nginx yet, we configured our standard apache installation to proxypass what was needed, including the webscockets.

It almost works, I could point to the apis javascript file and retrieve them via http, then I wrote a simple html file locally with your instruction to open a file.
So I uploaded a docx to a known reachable http location here, and modified the javascript code in the html file to point to that document.

I managed to have all the interface start, websocket works and sends instructions, document server and file converter are contacted and I get websocket responses.
Then I receive an error on the browser, with the last websocket message being:

"{"type":"documentOpen","data":{"type":"open","status":"err","data":-80}}"

I cannot see other errors out of the 3 onlyoffice daemons outputs.

Any idea how can I dig into this?

Thanks!
Gabriele

Re: Porting to XStreamOS / llumos

PostPosted: Fri May 11, 2018 2:35 pm
by Maxim
Hello gbulfon!
-80 error is a conversion error. You should dig into x2t. Take a look into converter's logs maybe it will help you. Maybe there is a lack of library.
Onlyoffice Document Server doesn't support this OS and maybe it will lead to this.

Re: Porting to XStreamOS / llumos

PostPosted: Fri Aug 10, 2018 2:29 pm
by gbulfon
Hi,

after some time I could put my head on this again, and I found the reason.
It works great on XStreamOS/illumos, but I had to cleanup the task_result table that was holding an old error of my test url file.
truncating the table, it works fine!

But....fonts :)

Looks like the AllFontsGen tool is not working, just creating few bytes AllFonts.js and font_selection.bin.
Looked at the code and tried adding some "if defined(__sun) .." in fontengine/ApplicationFonts.cpp to allow for some system folders to be read: no way.
The code just ends without finding any fonts.
This is what runs at the end of install:

Code: Select all
LD_LIBRARY_PATH=/sonicle/onlyoffice/lib:  "/sonicle/onlyoffice/var/www/onlyoffice/documentserver/server/tools/AllFontsGen/AllFontsGen" \
        "--input=../core-fonts" \
        "--allfonts=/sonicle/onlyoffice/var/www/onlyoffice/documentserver/sdkjs/common/AllFonts.js" \
        "--images=/sonicle/onlyoffice/var/www/onlyoffice/documentserver/sdkjs/common/Images" \
        "--selection=/sonicle/onlyoffice/var/www/onlyoffice/documentserver/server/FileConverter/bin/font_selection.bin"


Any idea?

Gabriele

Re: Porting to XStreamOS / llumos

PostPosted: Mon Aug 13, 2018 8:28 am
by Maxim
Hello gbulfon!
AllFontsGen tool is supposed to link fonts from the system fonts folder to the document editor.