Pranav Kant e0da6fa8d1 Create a dummy memory session before signing in as user
Since this WOPI Put method is executed when loolwsd hits owncloud
server, it has no session or probably invalid session data. Even
though WOPI Put file operation initiated by loolwsd succeds, i.e
file is successfully put into owncloud storage and versioned, it
returns an HTTP 500 Internal server error as response to loolwsd
which causes problem on loolwsd side messing up its state.

Following trace can be observed in webserver's error logs after
HTTP 500 is returned:

PHP Fatal error:  Uncaught exception 'Exception' with message 'Session has been closed - no further changes to the session are allowed'
in /var/www/html/owncloud9/lib/private/session/internal.php:135
Stack trace:
 #0 /var/www/html/owncloud9/lib/private/session/internal.php(60): OC\\Session\\Internal->validateSession()
 #1 /var/www/html/owncloud9/lib/private/session/cryptosessiondata.php(150): OC\\Session\\Internal->set('encrypted_sessi...', 'e747091469b9905...')
 #2 /var/www/html/owncloud9/lib/private/session/cryptosessiondata.php(64): OC\\Session\\CryptoSessionData->close()
 #3 [internal function]: OC\\Session\\CryptoSessionData->__destruct()
 #4 {main}\n  thrown in /var/www/html/owncloud9/lib/private/session/internal.php on line 135

Creating a dummy memory session, setting it as current session,
and then setting the desired user session seems to address this
problem and does not emit HTTP 500 anymore.
2016-07-18 11:11:49 +05:30
2016-06-28 14:24:26 +05:30
2016-06-26 17:29:46 +02:00
2016-07-17 02:36:12 -04:00
2016-06-28 14:24:26 +05:30
2015-05-04 00:12:43 +02:00
2015-12-21 20:26:52 +03:00
2015-12-16 18:04:32 +03:00
2015-07-08 21:17:20 +02:00
2016-06-29 10:13:39 +02:00
2015-12-16 18:04:32 +03:00
2016-06-26 17:34:02 +02:00
2016-04-12 13:15:40 +02:00
2015-12-16 18:04:32 +03:00

richdocuments ownCloud application to integrate Collabora Online

Installation

make dist

Creates a tarball. The contents should go under owncloud/apps/richdocuments.

rpmbuild -ba -vv owncloud-collabora-online.spec

Creates an RPM package (tested only with openSUSE). The CODE VM uses it.

Memcache is a requirement (tested only with APCu). Install php-apcu, php5-apcu, or whatever this package is called on your Linux distro, and add the following line to owncloud/config/config.php:

'memcache.local' => '\OC\Memcache\APCu',

From command line you can use:

occ config:system:set --value='\OC\Memcache\APCu' memcache.local

You can enable richdocument application from the command line:

occ app:enable richdocuments

You need to configure the WOPI Client URL, which is where the LibreOffice Online WebSocket Daemon (loolwsd) is listening. It is in Admin - Collabora Online section in ownCloud, or you can set it from command line:

occ config:app:set --value='https://<hostname or IP address>:<port>' richdocuments wopi_url

Default port is 9980. If loolwsd was compiled without SSL (like in the CODE VM), you have to write http instead of https. If you use SSL, and you get the following error:

cURL error 60: SSL certificate problem: self signed certificate in certificate chain

You have to add the CA cert manually to ownCloud trusted cert storage:

cat ca-chain.cert.pem >> owncloud/resources/config/ca-bundle.crt
Description
Copy of Nextcloud richdocuments app, but with modifications so all traffic goes over clearnet/CJDNS/Tor/I2P/whatever instead of having a single default hostname.
Readme 20 MiB
Languages
JavaScript 71.5%
PHP 24.4%
CSS 3.7%
Makefile 0.4%