This plugin allow the integration of Collabora Online with WordPress.
What you need is:
- WordPress. (currently 6.6.x is tested)
- Collabora Online. The latter can be run on any server that is accessible and that can access the WordPress server.
Collabora Online is an online office suite based on LibreOffice. It is open source, and is meant to be hosted on premise. This WordPress plugin is designed to use WordPress as the store and collaboration point to use Collabora Online. It will use the user credential of your WordPress system to determine access to the documents for collaboration.
For more information see https://collaboraonline.com/
SECURITY NOTE: The plugin hasn't gone through a security review yet. The default mechanism to upload office files make them world readable like any WordPress media upload.
Once the plugin is installed you can set the configuration using the Wordpress administration pages.
- Collabora Online server URL: the URL of the collabora online server. Note that you have to take
into considerartion containers. If you run Wordpress in one container and Collabora Online in
another, you can not use
localhost
. - WOPI host base URL: how the Collabora Online server can reach the Wordpress server. Usually it is the public URL of this Wordpress server.
- JWT Private Key: the secret to create the JWT private key.
You can create a secret using the following shell command:
head -c 64 /dev/urandom | base64 -w 0
- Disable TLS certificate check for COOL: If you configure a development server you might have self-signed certificate. Checking this is INSECURE but allow the Wordpress server to contact the Collabora Online server if the certificate doesn't check.
- Access Token Expiration: In second the expiration of the token to access the document. Default to 86400 seconds (24 hours).
To increase the maximum upload size (it is indicated on that page), you need to increase the value in the PHP configuration.
Usually you can add a file max_file_size.ini
(the name isn't much important except its extension
should be .ini
) into /etc/php/conf.d/
(the path may be different) and put the following:
post_max_size = 30M
upload_max_filesize = 30M
These set the limits to a maximum of 30M. You can change as appropriate.
The plugin creates a new post type cool_revision
to store the revisions of files associated to the
attachment. Its parent is set to the attachment post. And there are two pieces of metadata
associated to it: _wp_attached_file
and cool_rev_timestamp
. The former allow the standard
get_attached_file()
call. The latter is the timestamp of the revision.
You need PHP composer
and npm
.
composer install
will install the project PHP dependencies.
composer build
is used to build the JavaScript need for the Gutenberg block.
This plugin is published under the MPL-2.0 license.
This plugin is maintained by Collabora Productivity.