Based on a substantially modified version of LibreOffice, Zextras Docs enables group editing of documents, spreadsheets, and presentations directly from the Zimbra WebClient.
the Zextras Docs Server component
The service’s brain is the Zextras Docs server. Every time a document is opened using the LibreOffice engine, the service hosts it and sends an image back to the client with the response.
Extension for Zextras Docs
The extension is the essential element that ties everything together. Its primary duties are:
- Decide which Docs server will be used to open the following document.
- When a customer requests to open a document, send them elsewhere.
- On behalf of the Docs server, read and write documents to and from system storage.
- Utilise an administrator websocket to connect to each Docs server and monitor each one’s availability and resource use.
- Coordinate many user connections to the same server’s page. (Share Documents)
- The Zextras Suite’s Zextras Core component houses the Zextras Docs Extension.
Zimlet Docs Zextras
Drive objects and email attachments are integrated via a Zextras Docs Zimlet. It is a thin web client that uses a websocket to connect to a native server instance, renders a page, and then only delivers updates to the client in order to maintain the same level of document fidelity as a desktop client while using the least amount of bandwidth possible.
While edit mode includes a complete interface, documents in preview and attachments are shown in read-only mode with a streamlined UI.
Its primary duties are:
- The linked Docs feature should be the “create” button in the ZWC.
- Use Docs instead of the preview feature.
- Accept document previews.
System Minimum Requirements
The following specifications must be met before installing Zextras Docs server:
- Ubuntu 16.04, 18.04, or CentOS 7
- 2 or more CPU cores
- RAM of at least 4 GB.
- 4 GB or more of spare disc space
compatibility with browsers
Which browsers are known to fully support all Zextras features is shown in the list below.
Only the two prior stable editions of the browser are supported for items marked as ” Limited”.
Flow for Document Management
- When a user produces a new document, the following takes place “behind the scenes”:
- The Extension is prompted by the Zimlet to start a new, blank document.
- The client receives the document’s ID once the Extension generates it.
- A new Zimbra tab is opened by the zimlet, and it has an iframe referring to “/service/extension/wopi-proxy.”
- Following receipt of the client’s request, the extension generates a new token for the required document and answers with a new url
- The new url links to the individual Docs Server node at /docs/[docs-node-id]/[token], which will be proxied by nginx.
- The web application initiates a websocket connection via nginx.
- The mailbox url specified in the arguments is sent a read wopi command by Docs Server after receiving the websocket connection and token (the url is checked against permitted nodes).
- The Extension checks the token’s validity and responds with details and content.
- The Docs Server node renders, parses, and transmits the document back to the client.
- The file has been completely opened and is editable.
ports and networks
Direct communication with the Docs Server on port 8443 (HTTPS Backend), which has to be open on both sides, is required from all mailbox servers.
All inbound traffic from mailbox and proxy servers to port 9980, which is used by the Docs Server to connect to the Extension, must be permitted. The master LDAP server and any Proxy servers must both be able to directly interact with the Docs Server component.
Configuration and installation
Download the standalone zextras-docs.tgz installer for your distribution (CentOS 7 | Ubuntu 16 | Ubuntu 18), unpack it, and run the install.sh script as the root user.
Run the following command on any email server to get the data needed for the first Docs Server setup:
The information you require will be returned in the following format:
The script will install the Zextras Docs package before requesting the master LDAP, url, username, and password information. This information will be used to add a new server to the LDAP with only the ‘docs’ service installed/enabled. Each Docs Server will be accessible from every node and will use LDAP to read the configuration information from the file /opt/zimbra/conf/docs/loolwsd.xml.
No more setting is required when the setup is finished.
Download links for Docs Server Including Custom Fonts in Docs Server
Copy the.ttf font files into the /opt/zimbra/docs/core/share/fonts/truetype/ directory to add custom fonts to your docs server. Next, create a new font cache and restart the docs server by executing zdocs restart as root.
Run the following command based on the Docs Server’s operating system to create the new font cache:
Zextras Suite already includes the Zextras Docs extension, but in order for users and COS to have access to the Zextras Docs capabilities, the com_zextras_docs Zimlet must be installed on the server and activated on each one of them.
The “Core” part of the Zextras Administration Zimlet allows you to deploy the com_zextras_docs Zimlet.
Once the Zimlet has been deployed and activated, no more configuration on the mailboxd side is required.
After adding one or more Zextras Docs Servers to the infrastructure, the proxy configuration has to be updated. To accomplish this, execute /opt/zimbra/libexec/zmproxyconfgen as the zimbra user and then restart the proxy service using zmproxyctl restart with the same user.
No manual configuration will be required because the new documentation nodes will read from ldap.
Zextras Docs is a component of each Zextras Suite Pro licence.
While the extension and Zimlet are distributed under a proprietary licence, the standalone installation is made available under the MPLv2 licence.
The node must be deleted from LDAP either from the documents node using the following command:
Alternatively using any Zimbra node to issue the zmprov command:
Zextras Docs Server CLI – zdocs commands
On the docs server, the zdocs (/usr/local/bin/zdocs as root) command may administer the service, add/remove the docs server from ldap, test configuration, and build the configuration for lool (which is already on cron).
use the ‘zdocs’ command.
Zxsuite Docs – Zextras Docs Extension CLI
The zxsuite documentation command is accessible on a Mailbox server. This command enables you to view the status of the Docs Servers, cause a configuration reload, and verify the status of the Docs service. Please see the Zextras Docs CLI section.
CLI for Zextras Docs
The index of all zxsuite documentation commands is included in this section. Comprehensive information is available in the section on ZxDocs CLI Commands.
This section includes a list of all zxsuite authentications. The index of all the zextras documentation commands is located in this section. The devoted section has a complete reference.
deployDocsZimlet, reload configuration, start service, and deploy documents doStopService get Services status