The Nuxeo Office Online Integration addon adds the ability to view/edit Microsoft Office documents through Office Online.
The Office Online integration is done thanks to the Web Application Open Platform Interface (WOPI) protocol provided by Microsoft. The WOPI protocol enables Office Online to access and change files that are stored in a Nuxeo server.
You can find more information on the WOPI protocol for the Office Online integration here.
Functional Overview
Office Online Check-In
When an office document (Excel, Word or PowerPoint files) is stored in Nuxeo Platform, whether it’s an attachment or the main file, this addon displays a new action slot enabling a check-in into the Office Online web interface to preview and edit the document:
Office Online Authentication
When a user is authenticated to Nuxeo, checking in a new office document for the first time will trigger an authentication attempt to Office Online services in a new window. A work or school account is required:
Once authenticated, the user can choose to keep authenticated to his Microsoft account for future usage.
Office Online Documents Preview
The preview is available for user who only has read access, or only requires to preview the document, with the Office online web user interface.
Office Online Documents Edition
Once in edition mode, every modification done on the Office document will be saved to Nuxeo Platform:
- Initial State:
Edition (Office 365 Application Check-in):
The mention “Saved to Nuxeo” is automatic (auto-saving feature of Office Online), however modifications are propagated in the server with a delay, see the “Office online limitations” section.The document is updated on Nuxeo Platform side for all users, as well as its preview:
Requirements
WOPI Domain Allow List
Office Online only makes requests to trusted partner domains, so the domain of your Nuxeo server needs to be added to the WOPI domain allow list.
Nuxeo has currently registered *.nuxeocloud.com
as an allowed domain.
HTTPS
As stated here, the WOPI host, here the Nuxeo server, must use HTTPS.
Configuration
JWT Authentication
The Office Online integration relies on the JWT authentication. You need to enable it by setting the nuxeo.jwt.secret
parameter in your nuxeo.conf
. See Configuration Parameters Index (nuxeo.conf) for more information.
Office Online Discovery
To allow the integration between Nuxeo and Office Online, Nuxeo needs to discover the Office Online client. To do that, you need to set the nuxeo.wopi.discoveryURL
parameter in your nuxeo.conf
to the Office Online Production discovery URL https://onenote.officeapps.live.com/hosting/discovery
. See WOPI discovery URLs for more information.
If you target a WOPI client other than Office Online, just set its discovery URL instead of the Office Online one.
Base URL for Office Online Calls
By default, Office Online will call your Nuxeo server based on the default base URL of your Nuxeo server. You can change it by setting the nuxeo.wopi.baseURL
parameter in your nuxeo.conf
.
For instance, if your Nuxeo server public domain is bar.com
which is not in the WOPI domain allow list, but you also have another technical domain pointing to your Nuxeo server tech.com
which is in the WOPI domain allow list, you can tell Office Online to use that one for its calls by setting the nuxeo.wopi.baseURL
parameter to the allowed domain:
nuxeo.wopi.baseURL=https://tech.com/nuxeo
Office Online Related Limitations
Editions and co-authoring have inherent auto-save frequencies and priorities. The rules are detailed between Word, Excel and PowerPoint:
| Application | Auto-save frequency | PutFile access token |
Application | Auto-save frequency | PutFile access token used | Permissions check frequency |
---|---|---|---|
Word | Every 30 seconds if the document is updated. | The access token of the user who made the most recent change to the document. | At least every 5 minutes. |
Excel | Every 2 minutes. | The access token of the user who joined the editing session most recently. | At least every 15 minutes. |
PowerPoint | Every 60 seconds if the document is updated. | The access token of the user who made the most recent change to the document. | At least every 5 minutes. |
Please refer to the WOPI documentation for more information.