Docs Zextras

Have a Question?

Zextras Docs is a fully customised LibreOffice online package that enables collaborative editing of documents, spreadsheets, and presentations directly from the Zimbra WebClient.

Zextras Docs Server Components

The service’s heart is the Zextras Docs server. Each document opened with a LibreOffice engine is hosted by the service, which answers to the client with an image for every keystroke and modification in the text.

Extension for Zextras Docs

The extension is the crucial component that connects everything together. Its primary responsibilities are as follows:

  • Choose the Docs server where the next document will be opened.
  • When the client has to open a document, redirect them.
  • On behalf of the Docs server, read and write documents to and from system storage.
  • Connect to each Docs server using an administrator websocket and monitor their availability and resource utilisation.
  • Concurrent user connections to the same page on the same server should be orchestrated. (sharing of documents)
The Zextras Docs Extension is part of the Zextras Suite’s Zextras Core component.
Docs Zimlet Zextras
The connectivity with Drive items and email attachments is handled via a Zextras Docs Zimlet. It is a thin web client that connects to a native server instance via websocket, renders a page, and only communicates updates to the client to maintain document quality on par with a desktop client while decreasing traffic to the absolute minimum.

Documents in preview and attachments are displayed in read-only mode with a streamlined interface, whilst edit mode displays the entire interface.

Its primary responsibilities are as follows:
  • In the ZWC, change the “create” button to the relevant Docs function.
  • Replace the preview feature with Docs.
  • Allow document previewing.
System Requirements Minimum
The minimal system requirements for installing Zextras Docs server are as follows:
  • Ubuntu 16.04, Centos 7, or Ubuntu 18.04
  • A minimum of two CPU cores
  • RAM must be at least 4 GB.
  • A minimum of 4 GB of free disc space
Compatibility with browsers
The browsers listed below are known to fully support all Zextras functionalities.
Items labelled “Limited” are only compatible with the browser’s two prior stable versions.
Flow of Document Management
When a user produces a new document, the following happens “behind the scenes”:
  1. The Zimlet instructs the Extension to generate a new blank document.
  2. The Extension generates the document and returns its ID to the client.
  3. The Zimlet launches a new Zimbra tab with an iframe pointing to ‘/service/extension/wopi-proxy’.
  4. The extension takes the client’s request, generates a new token for the required content, and responds with a new url.
  5. The new URL is /docs/[docs-node-id]/[token], which will be proxied to the specified Docs Server node by nginx.
  6. The Docs Server will respond with a Javascript web application.
  7. The web application establishes a websocket connection via nginx.
  8. Docs Server accepts the websocket connection and a token, and then sends a read wopi command to the mailbox url specified in the arguments (the url is validated against permitted nodes).
  9. The Extension checks the token and provides information and content in response.
  10. The document is parsed, rendered, and returned to the client by the Docs Server node.
  11. The document has been completely opened and edited.
Ports and networking
All mailbox servers must be able to interact directly with the Docs Server through port 8443 (HTTPS Backend), which must be open on both sides.

Because the Docs Server communicates with the Extension through port 9980, inbound traffic from all mailbox and proxy servers must be permitted. The Docs Server component must also be able to interface directly with the master LDAP server and all Proxy servers.
Configuration and Installation
Nodes for Docs
Download the zextras-docs.tgz standalone installer for your distribution (Centos 7 | Ubuntu 16 | Ubuntu 18), unzip it, and run the install.sh script as the root user.

Run the following command on any email server to acquire the information needed for the first Docs Server setup:
This will return the necessary information in the following format:

The script will install the Zextras Docs package and then prompt for the master ldap, url, username, and password, which will be used to add a new server in the LDAP with only the ‘docs’ service installed/enabled. Every node will be able to see the Docs Server, which will read the LDAP and publish the configuration to /opt/zimbra/conf/docs/loolwsd.xml.
No more setting is required after the setup is complete.
Download links for Docs Server
Custom Fonts for the Docs Server
To add Custom Fonts to your Docs Server, just put the.ttf font files to the /opt/zimbra/docs/core/share/fonts/truetype/ directory, establish a new font cache, then restart the docs server using zdocs restart as root.

Run the following command, depending on the operating system of the Docs Server, to produce the new font cache:
Nodes for Mailboxes
While the Zextras Docs extension is already included in Zextras Suite, the com_zextras_docs Zimlet must be installed on the server and activated for all users and COS who want Zextras Docs functionalities.

The com_zextras_docs Zimlet may be launched via the Zextras Administration Zimlet’s “Core” section.

After the Zimlet has been deployed and enabled, no setup on the mailboxd side is required.

Node Proxy
After adding one or more Zextras Docs Servers to the infrastructure, the proxy configuration must be regenerated: execute /opt/zimbra/libexec/zmproxyconfgen as the zimbra user, and then restart the proxy service with zmproxyctl restart as the same user.

The new documentation nodes will be read from ldap and will not require any manual setup.

Zextras Docs is included with every Zextras Suite Pro licence.

The standalone installation is distributed under the GNU General Public Licence version 2, however the extension and Zimlet are distributed under a private licence.
Removal
Before removing the programme, the node must be deleted from LDAP, either from the docs node with the command: or from any zimbra node using the zmprov command:

Zextras Docs Server CLI – zdocscommands
On the Docs server, the zdocs command (/usr/local/bin/zdocs as root) may produce the lool configuration (which is already on cron), add/remove the docs server from ldap, test settings, and administer the service.
”zdocs” is a command.
CLI Zextras Docs Extension – zxsuite docs
The zxsuite documentation command is accessible on a Mailbox server. This command allows you to verify and control the Docs service’s status, cause a configuration reload, and examine the status of the Docs Servers. Please see the Zextras Docs CLI section.
CLI Zextras Docs
This section offers an index of all the commands in the zxsuite manuals. Full documentation is available in the dedicated section ZxDocs CLI Commands.

This section offers an index of all zxsuite authorizations. This section offers an index to all of the zextras documentation commands. The whole reference is available in the designated section.

doReloadConfig doRestartService doStartService doDeployDocsZimlet  doStopService  get the status of Services