Edit online

Concurrent Editing

Oxygen XML Web Author offers a feature that provides the ability for authoring teams to edit and review content concurrently. You can share your editing session and then send a link to other collaborators and then you and your colleagues can edit and review the same document simultaneously.

To initiate a shared editing session, use the Share Session toolbar button. This opens the first window of the Share Editing Session dialog box. It provides some information, and after clicking Share, the second window of the dialog box is displayed.

Figure 1. Share Editing Session Dialog Box (Second Window)

This is where you can retrieve a link that you can send to other collaborators. While the session is shared, other users can join and each user can see the changes made by others, as well as their own modifications, in real time.

The person who originally shared the session is the only one who can save the document and the concurrent editing session continues as long as that person keeps the document open.
Note: The Share Session action is only present for some of the built-in connectors (Git and WebDAV).

Important Notes About Concurrent Editing for Users

  • When using the Edit as XML action (to switch to the text-based editing mode) during an active concurrent editing session, the document is set as read-only to prevent overriding changes made by others.
  • The Mark as Done and Reply actions for tracked changes are removed during concurrent editing sessions.
  • Once a concurrent editing session starts, the Edit Topic Content option that is usually available from the DITA Map Display Mode drop-down menu becomes unavailable. To use the feature, you have to enable the Edit Topic Content option before starting the concurrent editing session.
  • Changes made prior to the session being shared cannot be undone.
  • If the shared document contains content references (i.e. xi:include or DITA conref) from other files, only the user that inserted them must have permission to open them from the file server. All other users that are part of the shared session are able to see them.

Important Notes About Concurrent Editing for System Administrators

  • Concurrent editing does not work if Oxygen XML Web Author is deployed on multiple servers behind a load balancer.
  • Oxygen XML Web Author uses Web Sockets to propagate changes in real time between collaborators. If you are using a reverse proxy, some additional configuration may be required to enable Web Socket connections to the ./ws endpoint of the application.

    For example, NGINX requires the following configuration for the /oxygen-xml-web-author/ws path:
    location /oxygen-xml-web-author/ws {
      proxy_http_version 1.1;
          
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection "upgrade";
      proxy_set_header Host $host;
          
      proxy_pass "http://web-author:8080/oxygen-xml-web-author/ws";
    }

    As another example, when using Apache HTTP server as a reverse proxy, a system administrator must enable the following modules:

    • rewrite
    • proxy_http
    • proxy_wstunnel
    Also, a configuration similar to the one below should be added:
    ProxyPass /oxygen-xml-web-author http://<internal-host>:8080/oxygen-xml-web-author
    ProxyPassReverse /oxygen-xml-web-author http://<internal-host>:8080/oxygen-xml-web-author
    
    RewriteEngine on
    RewriteCond %{​HTTP:Upgrade}​ websocket [NC]
    RewriteCond %{​HTTP:Connection}​ upgrade [NC]
    RewriteRule ^/oxygen-xml-web-author/?(.*) 
     "ws://<internal-host>:8080/oxygen-xml-web-author/$1" [P,L]
  • Concurrent editing does not work if an existing plugin registered an ro.sync.ecss.extensions.api.AuthorDocumentFilter implementation.
  • Some customizations can cause problems if used in situations with high activity or a large number of users simultaneously. These possible limitations include:
    • The onChange property for the combo box form control is not supported in concurrent editing sessions.
    • Inline CSS actions (for example, when used in an oxy_button form control).
    • Editable combo boxes on the floating toolbar.
    • Quick fixes that come from XML Schema or DTD.