AppSuite:OX Drive: Difference between revisions

From Open-Xchange
No edit summary
Line 1: Line 1:
= OX Drive =
= OX Drive =


In OX App Suite, Open-Xchange provides a cloud storage called OX Drive. It provides file- and folder synchronization across multiple devices in the most simplest way for the end user, fully optimized for each device type. This article explains how to set up the server-side components for OX Drive, as well as details about the client setup.
In OX App Suite, Open-Xchange provides a cloud storage called OX Drive. It provides file- and folder synchronization across multiple devices in the most simplest way for the end user, fully optimized for each device type. This article explains how to set up the server-side components for OX Drive, as well as details about the app setup.


== Key features ==
== Key features ==
Line 7: Line 7:
* Native Apps for Windows, Mac OS, iOS and Android
* Native Apps for Windows, Mac OS, iOS and Android
* Easy and attractive upsell properties (e.g. Upsell based on Quota limitations)
* Easy and attractive upsell properties (e.g. Upsell based on Quota limitations)
* Clients are specially designed for the devices they run on taking into account limitations such as battery life, screen limitations, bandwidth etc.
* Apps are specially designed for the devices they run on taking into account limitations such as battery life, screen limitations, bandwidth etc.
* Controlled synchronization of files across devices
* Controlled synchronization of files across devices
* Storage management (e.g. quota control, upload limits)
* Storage management (e.g. quota control, upload limits)
Line 16: Line 16:
OX Drive is a combination of two components:
OX Drive is a combination of two components:
* OX Drive in OX App Suite
* OX Drive in OX App Suite
* OX Drive Clients (optional native client components for synchronization)
* OX Drive Apps (optional native app components for synchronization)


OX Drive is available for the following native clients:
OX Drive is available for the following native apps:
* OX Drive for Windows
* OX Drive for Windows
* OX Drive for Mac OS
* OX Drive for Mac OS
Line 26: Line 26:
== Requirements ==
== Requirements ==


You will find the requirements under [[AppSuite:OX_System_Requirements#OX_Drive_for_Clients|OX Drive Client and Platform Requirements]]
You will find the requirements under [[AppSuite:OX_System_Requirements#OX_Drive_for_Clients|OX Drive App and Platform Requirements]]


= Server-side Installation and Configuration =
= Server-side Installation and Configuration =
Line 44: Line 44:


* ''open-xchange-drive'' - The main server components for OX Drive
* ''open-xchange-drive'' - The main server components for OX Drive
* ''open-xchange-drive-comet'' - Provides the Push interface via long-polling for the desktop clients
* ''open-xchange-drive-comet'' - Provides the Push interface via long-polling for the desktop apps
* ''open-xchange-drive-help-*'' - Online help in various languages for the OX Drive applications (these were called ''open-xchange-appsuite-help-drive-*'' in versions earlier than Open-Xchange Server v7.6.2)
* ''open-xchange-drive-help-*'' - Online help in various languages for the OX Drive applications (these were called ''open-xchange-appsuite-help-drive-*'' in versions earlier than Open-Xchange Server v7.6.2)
* ''open-xchange-drive-restricted'' - Restricted components, including prerequisites for cloud-based push notifications
* ''open-xchange-drive-restricted'' - Restricted components, including prerequisites for cloud-based push notifications
Line 60: Line 60:
==== 7.8.1 and later ====
==== 7.8.1 and later ====


With OX App Suite 7.8.1 and OX Drive for Windows 2.0.0, the client is able to update itself and can be downloaded from the Web UI directly via the [[AppSuite:Client_Onoarding|Client Onboarding Wizard]]. Therefore the wizard must be installed and configured for OX Drive users. Besides the client onboarding feature you need the following packages:
With OX App Suite 7.8.1 and OX Drive for Windows 2.0.0, the app is able to update itself and can be downloaded from the Web UI directly via the [[AppSuite:Client_Onoarding|App Onboarding Wizard]]. Therefore the wizard must be installed and configured for OX Drive users. Besides the client onboarding feature you need the following packages:


* ''open-xchange-drive-client-windows'' - The main server component to provide the client
* ''open-xchange-drive-client-windows'' - The main server component to provide the app
* ''open-xchange-drive-client-windows-generic'' - The package providing the final binary files to be installed on users machines.
* ''open-xchange-drive-client-windows-generic'' - The package providing the final binary files to be installed on users machines.


To make the client download available via the client onboarding wizard, you need to enable the according scenario. Edit ''/opt/open-xchange/etc/client-onboarding-scenarios.yml'' and get to the ''drivewindowsclientinstall'' section, where you have to set the ''enabled'' property to ''true''.
To make the app download available via the app onboarding wizard, you need to enable the according scenario. Edit ''/opt/open-xchange/etc/client-onboarding-scenarios.yml'' and get to the ''drivewindowsclientinstall'' section, where you have to set the ''enabled'' property to ''true''.




Please note that there still exists a compatibility layer between the old Updater-based approach and the new direct install and self-update one. If you start providing OX Drive for Windows with 7.8.1 or later you MAY decide to enable that compatibility by installing ''open-xchange-updater-drive'', however we advice not to do so. If you already provided OX Drive for Windows with 7.8.0 or earlier, you MUST install this package and further provide the Updater. Otherwise the clients out there will not be able to be updated to the 2.0.0 version, which is then self-update capable.
Please note that there still exists a compatibility layer between the old Updater-based approach and the new direct install and self-update one. If you start providing OX Drive for Windows with 7.8.1 or later you MAY decide to enable that compatibility by installing ''open-xchange-updater-drive'', however we advice not to do so. If you already provided OX Drive for Windows with 7.8.0 or earlier, you MUST install this package and further provide the Updater. Otherwise the apps out there will not be able to be updated to the 2.0.0 version, which is then self-update capable.


===== Custom branded clients =====
===== Custom branded apps =====


OX Drive for Windows can be purchased with a custom theming. In such cases, the according binary files need to be installed on the middleware servers. Instead of the ''open-xchange-drive-client-windows-generic'' package, a package containing the branded binaries will be provided as ''open-xchange-drive-client-windows-<brand-name>'' and needs to be installed. You MUST then set the property ''com.openexchange.drive.update.branding'' in ''/opt/open-xchange/etc/drive-client-windows.properties'' to ''<brand-name>'' accordingly.
OX Drive for Windows can be purchased with a custom theming. In such cases, the according binary files need to be installed on the middleware servers. Instead of the ''open-xchange-drive-client-windows-generic'' package, a package containing the branded binaries will be provided as ''open-xchange-drive-client-windows-<brand-name>'' and needs to be installed. You MUST then set the property ''com.openexchange.drive.update.branding'' in ''/opt/open-xchange/etc/drive-client-windows.properties'' to ''<brand-name>'' accordingly.


It is also possible to provide multiple brands of the client via the same OX App Suite deployment, multiple ''open-xchange-drive-client-windows-<brand-name>'' packages can be installed in parallel. Which brand is available for a certain user is determined by the ''com.openexchange.drive.update.branding'' property, which can be overwritten via [[ConfigCascade|Config Cascade]] therefore.
It is also possible to provide multiple brands of the app via the same OX App Suite deployment, multiple ''open-xchange-drive-client-windows-<brand-name>'' packages can be installed in parallel. Which brand is available for a certain user is determined by the ''com.openexchange.drive.update.branding'' property, which can be overwritten via [[ConfigCascade|Config Cascade]] therefore.


Client brands can be managed via command line tools. The tool ''/opt/open-xchange/sbin/listdriveclients'' lists all installed brands. After updating a certain brand by installing a newer package version or installing an additional one, no server restart is necessary. Instead ''/opt/open-xchange/sbin/reloaddriveclients'' can be executed to refresh the internal server state.
App brands can be managed via command line tools. The tool ''/opt/open-xchange/sbin/listdriveclients'' lists all installed brands. After updating a certain brand by installing a newer package version or installing an additional one, no server restart is necessary. Instead ''/opt/open-xchange/sbin/reloaddriveclients'' can be executed to refresh the internal server state.


=== Redhat Enterprise Linux 6 or CentOS 6 ===
=== Redhat Enterprise Linux 6 or CentOS 6 ===
Line 180: Line 180:
== Configuration ==
== Configuration ==


The following gives an overview about the most important settings to enable file synchronization via OX Drive, especially when it comes to real-time Push notifications for the client applications.
The following gives an overview about the most important settings to enable file synchronization via OX Drive, especially when it comes to real-time Push notifications for the apps.


All settings regarding the OX Drive backend component are located in the configuration file ''drive.properties''. The default configuration should be sufficient for a basic "up-and-running" setup (with the exception of defining the Push certificates and API keys for cloud-based client notifications, see next chapters). Please refer to the inline documentation of the configuration file for more advanced options.  
All settings regarding the OX Drive backend component are located in the configuration file ''drive.properties''. The default configuration should be sufficient for a basic "up-and-running" setup (with the exception of defining the Push certificates and API keys for cloud-based app notifications, see next chapters). Please refer to the inline documentation of the configuration file for more advanced options.  


=== Push via Google Cloud Messaging (GCM) ===
=== Push via Google Cloud Messaging (GCM) ===


The OX Drive application for Android devices is able to receive Push notifications from the Open-Xchange Server via [http://developer.android.com/google/gcm/index.html Google Cloud Messaging (GCM)]. To issue those Push messages, the backend needs to be provided with a suitable API key for the corresponding Android client application. The API key is included in the restricted components installation package ''open-xchange-drive-restricted'' for the "vanilla" Android client application. Alternatively, the key can be specified directly in the ''drive.properties'' configuration file:
The OX Drive application for Android devices is able to receive Push notifications from the Open-Xchange Server via [http://developer.android.com/google/gcm/index.html Google Cloud Messaging (GCM)]. To issue those Push messages, the backend needs to be provided with a suitable API key for the corresponding Android app application. The API key is included in the restricted components installation package ''open-xchange-drive-restricted'' for the "vanilla" Android app. Alternatively, the key can be specified directly in the ''drive.properties'' configuration file:


  # Specifies the API key of the server application. Required if  
  # Specifies the API key of the server application. Required if  
Line 195: Line 195:
Push via GCM can be enabled via:
Push via GCM can be enabled via:


  # Enables or disables push event notifications to clients using the Google
  # Enables or disables push event notifications to apps using the Google
  # Cloud Messaging (GCM) service. This requires a valid configuration for the  
  # Cloud Messaging (GCM) service. This requires a valid configuration for the  
  # GCM API key, see options below. Defaults to "false".  
  # GCM API key, see options below. Defaults to "false".  
Line 204: Line 204:
=== Push via Apple Push Notification service (APNs) ===
=== Push via Apple Push Notification service (APNs) ===


The OX Drive application for iOS and Mac OS devices is able to receive Push notifications from the Open-Xchange Server via [http://developer.apple.com/library/IOS/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html Apple Push Notification service (APNs)]. To issue those Push messages, the backend needs to be provided with a suitable keystore container file (PKCS #12) containing the APNs certificate and keys. Note that the Mac OS desktop client and the iOS mobile client are served separately with different certificates, so that both needs to be configured independantly. The required certificates are already included in the restricted components installation package ''open-xchange-drive-restricted'' for the "vanilla" iOS and Mac OS client applications. Therefore no additional configuration is needed. Alternatively, a external certificate can be specified directly in the ''drive.properties'' configuration file (the following only shows the setup for iOS). First, the path to the PKCS #12 container file needs to be specified at:
The OX Drive application for iOS and Mac OS devices is able to receive Push notifications from the Open-Xchange Server via [http://developer.apple.com/library/IOS/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html Apple Push Notification service (APNs)]. To issue those Push messages, the backend needs to be provided with a suitable keystore container file (PKCS #12) containing the APNs certificate and keys. Note that the Mac OS desktop app and the iOS mobile app are served separately with different certificates, so that both needs to be configured independantly. The required certificates are already included in the restricted components installation package ''open-xchange-drive-restricted'' for the "vanilla" iOS and Mac OS app applications. Therefore no additional configuration is needed. Alternatively, a external certificate can be specified directly in the ''drive.properties'' configuration file (the following only shows the setup for iOS). First, the path to the PKCS #12 container file needs to be specified at:


  # Specifies the path to the local keystore file (PKCS #12) containing the APNS  
  # Specifies the path to the local keystore file (PKCS #12) containing the APNS  
Line 229: Line 229:
  com.openexchange.drive.events.apn.ios.production=true
  com.openexchange.drive.events.apn.ios.production=true


The OX backend contacts the APNs servers from time to time to get informed about clients no longer reachable clients where the applications was uninstalled. The interval can be defined with the following setting:  
The OX backend contacts the APNs servers from time to time to get informed about apps no longer reachable apps where the applications was uninstalled. The interval can be defined with the following setting:  


  # Configures the interval between queries to the APN feedback service for the
  # Configures the interval between queries to the APN feedback service for the
Line 241: Line 241:
Please note that if you have multiple backend nodes in the cluster, it's recommended that only one node is configured to contact the feedback query service. Finally, Push notifications via APN for iOS can be enabled via:
Please note that if you have multiple backend nodes in the cluster, it's recommended that only one node is configured to contact the feedback query service. Finally, Push notifications via APN for iOS can be enabled via:


  # Enables or disables push event notifications to clients using the Apple Push
  # Enables or disables push event notifications to apps using the Apple Push
  # Notification service (APNS) for Mac OS devices. This requires a valid  
  # Notification service (APNS) for Mac OS devices. This requires a valid  
  # configuration for the APNS certificate and keys, see either options below,  
  # configuration for the APNS certificate and keys, see either options below,  
Line 252: Line 252:
=== Further Configuration ===
=== Further Configuration ===


* The backend component of OX Drive supplies the clients with various hyperlinks, e.g. deep-links to files and folders in the groupware webinterface or an URL to the online help. In order to point to the suitable web interface, please ensure that the correct UI web path is configured via ''com.openexchange.UIWebPath'' located in ''server.properties''.
* The backend component of OX Drive supplies the apps with various hyperlinks, e.g. deep-links to files and folders in the groupware webinterface or an URL to the online help. In order to point to the suitable web interface, please ensure that the correct UI web path is configured via ''com.openexchange.UIWebPath'' located in ''server.properties''.
* As already mentioned above, the backend relies on the [https://grizzly.java.net/comet.html Comet] component of the Grizzly http connector for sending push notifications to the desktop clients. Therefore, ''com.openexchange.http.grizzly.hasCometEnabled'' needs to be set to ''true'' in ''grizzly.properties''.
* As already mentioned above, the backend relies on the [https://grizzly.java.net/comet.html Comet] component of the Grizzly http connector for sending push notifications to the desktop apps. Therefore, ''com.openexchange.http.grizzly.hasCometEnabled'' needs to be set to ''true'' in ''grizzly.properties''.


= Enabling OX Drive for Users =
= Enabling OX Drive for Users =
Line 267: Line 267:
More details about capabilities can be found at [[AppSuite:Capabilities]]. Furthermore, this capability can be defined in a more granular way using the Config Cascade as described at [[ConfigCascade]].
More details about capabilities can be found at [[AppSuite:Capabilities]]. Furthermore, this capability can be defined in a more granular way using the Config Cascade as described at [[ConfigCascade]].


= Enabling the Finder Extension on Mac OS X =
= Installation of the Apps =
 
== Installation of Mac OS X Desktop App ==
 
The OX Drive for Mac OS X will be provided via the Apple App Store:
 
* https://itunes.apple.com/app/ox-drive/id818195014?mt=12
 
=== Enabling the Finder Extension on Mac OS X ===


In order to be able to use the Finder to open documents or share objects on a Mac OS X workstation, you need to enable the Drive Finder Extension.
In order to be able to use the Finder to open documents or share objects on a Mac OS X workstation, you need to enable the Drive Finder Extension.
Line 275: Line 283:
# In the Extensions window, select Finder. Enable Drive Finder Extension.
# In the Extensions window, select Finder. Enable Drive Finder Extension.


= Installation of the Clients =
== Installation of Windows Desktop App ==
 
== Installation of Mac OS X Desktop Client ==
 
The OX Drive for Mac OS X will be provided via the Apple App Store:
 
* https://itunes.apple.com/app/ox-drive/id818195014?mt=12
 
== Installation of Windows Desktop Client ==


See [[AppSuite:OX_Drive#OX_Drive_for_Windows|OX Drive for Windows]].
See [[AppSuite:OX_Drive#OX_Drive_for_Windows|OX Drive for Windows]].


== Installation on Mobile Clients ==
== Installation on Mobile Apps ==


The OX Drive App is available via the different App Stores:
The OX Drive App is available via the different App Stores:
Line 296: Line 296:




== Client Configuration and Deployment ==
== App Configuration and Deployment ==


The user needs to enter the server URL and provide his username and password. Afterwards, client-specific settings may be configured. This includes the synchronization mode (All files / Favorites only) and Photostream settings on mobile devices, or the local root synchronization folder for the desktop applications. More information is available in the online documentation.  
The user needs to enter the server URL and provide his username and password. Afterwards, app-specific settings may be configured. This includes the synchronization mode (All files / Favorites only) and Photostream settings on mobile devices, or the local root synchronization folder for the desktop applications. More information is available in the online documentation.  


After the initial synchronization is completed, all further changes are synchronized instantly across all devices.
After the initial synchronization is completed, all further changes are synchronized instantly across all devices.
Line 305: Line 305:
= FAQ =
= FAQ =


'''How to limit the maximum file size, a configured ''MAX_UPLOAD_SIZE'' seems to have no effect for uploads from OX Drive clients?'''
'''How to limit the maximum file size, a configured ''MAX_UPLOAD_SIZE'' seems to have no effect for uploads from OX Drive apps?'''


This setting has no effect for files uploaded from OX Drive clients, since big uploads may also be processed via multiple requests in smaller chunks. We plan to offer a separate configuration option in a future release.
This setting has no effect for files uploaded from OX Drive apps, since big uploads may also be processed via multiple requests in smaller chunks. We plan to offer a separate configuration option in a future release.


'''There are strange files and folders on the backend, where do they come from, is it safe to delete them?'''
'''There are strange files and folders on the backend, where do they come from, is it safe to delete them?'''
Line 319: Line 319:
'''How do I synchronize a shared or public folder?'''
'''How do I synchronize a shared or public folder?'''


Currently, only the synchronization of a single root folder (and all of it's subfolders) is possible. For the mobile client applications, this is always the default personal drive folder of the user, while the desktop clients allow to choose which folder to synchronize. The synchronization of multiple root folders is scheduled for a future release.
Currently, only the synchronization of a single root folder (and all of it's subfolders) is possible. For the mobile apps, this is always the default personal drive folder of the user, while the desktop apps allow to choose which folder to synchronize. The synchronization of multiple root folders is scheduled for a future release.

Revision as of 11:55, 4 April 2016

OX Drive

In OX App Suite, Open-Xchange provides a cloud storage called OX Drive. It provides file- and folder synchronization across multiple devices in the most simplest way for the end user, fully optimized for each device type. This article explains how to set up the server-side components for OX Drive, as well as details about the app setup.

Key features

  • Native Apps for Windows, Mac OS, iOS and Android
  • Easy and attractive upsell properties (e.g. Upsell based on Quota limitations)
  • Apps are specially designed for the devices they run on taking into account limitations such as battery life, screen limitations, bandwidth etc.
  • Controlled synchronization of files across devices
  • Storage management (e.g. quota control, upload limits)
  • Connection type recognition and adaptation (e.g. Wi-Fi, cell network)

Availability

OX Drive is a combination of two components:

  • OX Drive in OX App Suite
  • OX Drive Apps (optional native app components for synchronization)

OX Drive is available for the following native apps:

  • OX Drive for Windows
  • OX Drive for Mac OS
  • OX Drive for iOS
  • OX Drive for Android

Requirements

You will find the requirements under OX Drive App and Platform Requirements

Server-side Installation and Configuration

This chapter describes how the backend components of OX Drive are installed and configured on the server.

Prerequisites

  • Open-Xchange Server v7.4.2 and above (open-xchange-core)
  • Grizzly HTTP connector (open-xchange-grizzly), see AppSuite:Grizzly for details, with Comet support enabled in grizzly.properties
  • Valid Push-Certificates / API keys for cloud-based notifications, see configuration below
  • Enabled Hazelcast for inter-OX-communication, see AppSuite:Running_a_cluster for details

Available packages

Open-Xchange Drive is available with the following backend packages:

  • open-xchange-drive - The main server components for OX Drive
  • open-xchange-drive-comet - Provides the Push interface via long-polling for the desktop apps
  • open-xchange-drive-help-* - Online help in various languages for the OX Drive applications (these were called open-xchange-appsuite-help-drive-* in versions earlier than Open-Xchange Server v7.6.2)
  • open-xchange-drive-restricted - Restricted components, including prerequisites for cloud-based push notifications

Installation on the server varies depending on the underlying distribution, details are available in the following chapters.

OX Drive for Windows

Additionally OX Drive for Windows can be provided to users by installing additional packages. However there are significant differences between 7.8.0 and earlier releases and 7.8.1 and later ones:

7.8.0 and earlier

OX Drive for Windows can be provided via the Open-Xchange Updater by installing the package open-xchange-updater-drive. Initial installation and updates are performed by the Updater then.

7.8.1 and later

With OX App Suite 7.8.1 and OX Drive for Windows 2.0.0, the app is able to update itself and can be downloaded from the Web UI directly via the App Onboarding Wizard. Therefore the wizard must be installed and configured for OX Drive users. Besides the client onboarding feature you need the following packages:

  • open-xchange-drive-client-windows - The main server component to provide the app
  • open-xchange-drive-client-windows-generic - The package providing the final binary files to be installed on users machines.

To make the app download available via the app onboarding wizard, you need to enable the according scenario. Edit /opt/open-xchange/etc/client-onboarding-scenarios.yml and get to the drivewindowsclientinstall section, where you have to set the enabled property to true.


Please note that there still exists a compatibility layer between the old Updater-based approach and the new direct install and self-update one. If you start providing OX Drive for Windows with 7.8.1 or later you MAY decide to enable that compatibility by installing open-xchange-updater-drive, however we advice not to do so. If you already provided OX Drive for Windows with 7.8.0 or earlier, you MUST install this package and further provide the Updater. Otherwise the apps out there will not be able to be updated to the 2.0.0 version, which is then self-update capable.

Custom branded apps

OX Drive for Windows can be purchased with a custom theming. In such cases, the according binary files need to be installed on the middleware servers. Instead of the open-xchange-drive-client-windows-generic package, a package containing the branded binaries will be provided as open-xchange-drive-client-windows-<brand-name> and needs to be installed. You MUST then set the property com.openexchange.drive.update.branding in /opt/open-xchange/etc/drive-client-windows.properties to <brand-name> accordingly.

It is also possible to provide multiple brands of the app via the same OX App Suite deployment, multiple open-xchange-drive-client-windows-<brand-name> packages can be installed in parallel. Which brand is available for a certain user is determined by the com.openexchange.drive.update.branding property, which can be overwritten via Config Cascade therefore.

App brands can be managed via command line tools. The tool /opt/open-xchange/sbin/listdriveclients lists all installed brands. After updating a certain brand by installing a newer package version or installing an additional one, no server restart is necessary. Instead /opt/open-xchange/sbin/reloaddriveclients can be executed to refresh the internal server state.

Redhat Enterprise Linux 6 or CentOS 6

If not already done, add the following repositories to your Open-Xchange yum configuration:

 [open-xchange-backend]
name=Open-Xchange-backend
baseurl=https://software.open-xchange.com/products/appsuite/stable/backend/RHEL6/
gpgkey=https://software.open-xchange.com/oxbuildkey.pub
enabled=1
gpgcheck=1
metadata_expire=0m

[open-xchange-drive-help] name=Open-Xchange-drive-help baseurl=https://software.open-xchange.com/products/drive/stable/drive-help/RHEL6/ gpgkey=https://software.open-xchange.com/oxbuildkey.pub enabled=1 gpgcheck=1 metadata_expire=0m
[open-xchange-backend-updates] name=Open-Xchange-backend-updates baseurl=https://LDBUSER:LDBPASSWORD@software.open-xchange.com/products/appsuite/stable/backend/updates/RHEL6/ gpgkey=https://software.open-xchange.com/oxbuildkey.pub enabled=1 gpgcheck=1 metadata_expire=0m
[open-xchange-drive] name=Open-Xchange-drive baseurl=https://LDBUSER:LDBPASSWORD@software.open-xchange.com/products/appsuite/stable/drive/RHEL6/ gpgkey=https://software.open-xchange.com/oxbuildkey.pub enabled=1 gpgcheck=1 metadata_expire=0m
[open-xchange-updater] name=Open-Xchange-updater baseurl=https://LDBUSER:LDBPASSWORD@software.open-xchange.com/products/appsuite/stable/updater/RHEL6/ gpgkey=https://software.open-xchange.com/oxbuildkey.pub enabled=1 gpgcheck=1 metadata_expire=0m
[open-xchange-drive-help-updates] name=Open-Xchange-drive-help-updates baseurl=https://LDBUSER:LDBPASSWORD@software.open-xchange.com/products/drive/stable/drive-help/updates/RHEL6/ gpgkey=https://software.open-xchange.com/oxbuildkey.pub enabled=1 gpgcheck=1 metadata_expire=0m
[open-xchange-drive-client-windows] name=Open-Xchange-drive-client-windows baseurl=https://LDBUSER:LDBPASSWORD@software.open-xchange.com/products/drive/stable/drive-client-windows/RHEL6/ gpgkey=https://software.open-xchange.com/oxbuildkey.pub enabled=1 gpgcheck=1 metadata_expire=0m

and run

$ yum update
$ yum install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows

Redhat Enterprise Linux 7 or CentOS 7

If not already done, add the following repositories to your Open-Xchange yum configuration:

 [open-xchange-backend]
name=Open-Xchange-backend
baseurl=https://software.open-xchange.com/products/appsuite/stable/backend/RHEL7/
gpgkey=https://software.open-xchange.com/oxbuildkey.pub
enabled=1
gpgcheck=1
metadata_expire=0m

[open-xchange-drive-help] name=Open-Xchange-drive-help baseurl=https://software.open-xchange.com/products/drive/stable/drive-help/RHEL7/ gpgkey=https://software.open-xchange.com/oxbuildkey.pub enabled=1 gpgcheck=1 metadata_expire=0m
[open-xchange-backend-updates] name=Open-Xchange-backend-updates baseurl=https://LDBUSER:LDBPASSWORD@software.open-xchange.com/products/appsuite/stable/backend/updates/RHEL7/ gpgkey=https://software.open-xchange.com/oxbuildkey.pub enabled=1 gpgcheck=1 metadata_expire=0m
[open-xchange-drive] name=Open-Xchange-drive baseurl=https://LDBUSER:LDBPASSWORD@software.open-xchange.com/products/appsuite/stable/drive/RHEL7/ gpgkey=https://software.open-xchange.com/oxbuildkey.pub enabled=1 gpgcheck=1 metadata_expire=0m
[open-xchange-updater] name=Open-Xchange-updater baseurl=https://LDBUSER:LDBPASSWORD@software.open-xchange.com/products/appsuite/stable/updater/RHEL7/ gpgkey=https://software.open-xchange.com/oxbuildkey.pub enabled=1 gpgcheck=1 metadata_expire=0m
[open-xchange-drive-help-updates] name=Open-Xchange-drive-help-updates baseurl=https://LDBUSER:LDBPASSWORD@software.open-xchange.com/products/drive/stable/drive-help/updates/RHEL7/ gpgkey=https://software.open-xchange.com/oxbuildkey.pub enabled=1 gpgcheck=1 metadata_expire=0m
[open-xchange-drive-client-windows] name=Open-Xchange-drive-client-windows baseurl=https://LDBUSER:LDBPASSWORD@software.open-xchange.com/products/drive/stable/drive-client-windows/RHEL7/ gpgkey=https://software.open-xchange.com/oxbuildkey.pub enabled=1 gpgcheck=1 metadata_expire=0m

and run

$ yum update
$ yum install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows

Debian GNU/Linux 7.0

If not already done, add the following repositories to your Open-Xchange apt configuration:

deb https://software.open-xchange.com/products/appsuite/stable/backend/DebianWheezy /
deb https://software.open-xchange.com/products/drive/stable/drive-help/DebianWheezy /
deb https://LDBUSER:LDBPASSWORD@software.open-xchange.com/products/appsuite/stable/backend/updates/DebianWheezy /
deb https://LDBUSER:LDBPASSWORD@software.open-xchange.com/products/appsuite/stable/drive/DebianWheezy /
deb https://LDBUSER:LDBPASSWORD@software.open-xchange.com/products/appsuite/stable/updater/DebianWheezy /
deb https://LDBUSER:LDBPASSWORD@software.open-xchange.com/products/drive/stable/drive-help/updates/DebianWheezy /
deb https://LDBUSER:LDBPASSWORD@software.open-xchange.com/products/drive/stable/drive-client-windows/DebianWheezy /

and run

$ apt-get update
$ apt-get install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows

Debian GNU/Linux 8.0

If not already done, add the following repositories to your Open-Xchange apt configuration:

deb https://software.open-xchange.com/products/appsuite/stable/backend/DebianJessie /
deb https://software.open-xchange.com/products/drive/stable/drive-help/DebianJessie /
deb https://LDBUSER:LDBPASSWORD@software.open-xchange.com/products/appsuite/stable/backend/updates/DebianJessie /
deb https://LDBUSER:LDBPASSWORD@software.open-xchange.com/products/appsuite/stable/drive/DebianJessie /
deb https://LDBUSER:LDBPASSWORD@software.open-xchange.com/products/appsuite/stable/updater/DebianJessie /
deb https://LDBUSER:LDBPASSWORD@software.open-xchange.com/products/drive/stable/drive-help/updates/DebianJessie /
deb https://LDBUSER:LDBPASSWORD@software.open-xchange.com/products/drive/stable/drive-client-windows/DebianJessie /

and run

$ apt-get update
$ apt-get install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows

SUSE Linux Enterprise Server 11

Add the package repository using zypper if not already present:

$ zypper ar https://software.open-xchange.com/products/appsuite/stable/backend/SLES11 backend
$ zypper ar https://software.open-xchange.com/products/drive/stable/drive-help/SLES11 drive-help
$ zypper ar https://LDBUSER:LDBPASSWORD@software.open-xchange.com/products/appsuite/stable/backend/updates/SLES11 backend-updates
$ zypper ar https://LDBUSER:LDBPASSWORD@software.open-xchange.com/products/appsuite/stable/drive/SLES11 drive
$ zypper ar https://LDBUSER:LDBPASSWORD@software.open-xchange.com/products/appsuite/stable/updater/SLES11 updater
$ zypper ar https://LDBUSER:LDBPASSWORD@software.open-xchange.com/products/drive/stable/drive-help/updates/SLES11 drive-help-updates
$ zypper ar https://LDBUSER:LDBPASSWORD@software.open-xchange.com/products/drive/stable/drive-client-windows/SLES11 drive-client-windows


and run

$ zypper ref
$ zypper in open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows

SUSE Linux Enterprise Server 12

Add the package repository using zypper if not already present:

$ zypper ar https://software.open-xchange.com/products/appsuite/stable/backend/SLE_12 backend
$ zypper ar https://software.open-xchange.com/products/drive/stable/drive-help/SLE_12 drive-help
$ zypper ar https://LDBUSER:LDBPASSWORD@software.open-xchange.com/products/appsuite/stable/backend/updates/SLE_12 backend-updates
$ zypper ar https://LDBUSER:LDBPASSWORD@software.open-xchange.com/products/appsuite/stable/drive/SLE_12 drive
$ zypper ar https://LDBUSER:LDBPASSWORD@software.open-xchange.com/products/appsuite/stable/updater/SLE_12 updater
$ zypper ar https://LDBUSER:LDBPASSWORD@software.open-xchange.com/products/drive/stable/drive-help/updates/SLE_12 drive-help-updates
$ zypper ar https://LDBUSER:LDBPASSWORD@software.open-xchange.com/products/drive/stable/drive-client-windows/SLE_12 drive-client-windows

and run

$ zypper ref
$ zypper in open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows

OX Server Edition / App Suite for UCS

If you have purchased the OX Server Edition / App Suite for UCS, the OX Drive is part of the offering and after the installation/update available. The necessary package for push, is available with a valid license and can be installed via the Univention App Center.

  • The new license is already registered at the LDB after purchase.
  • Log on at the Univention Management Console (UMC)
  • Make sure, that the correct LDB account has been selected in the UMC module "OX License Management"
  • Click on "App Center" at the UMC und switch to the tab "Repository Settings"
  • Within the component list, select "Open-Xchange Drive" and press the "Install" button

Configuration

The following gives an overview about the most important settings to enable file synchronization via OX Drive, especially when it comes to real-time Push notifications for the apps.

All settings regarding the OX Drive backend component are located in the configuration file drive.properties. The default configuration should be sufficient for a basic "up-and-running" setup (with the exception of defining the Push certificates and API keys for cloud-based app notifications, see next chapters). Please refer to the inline documentation of the configuration file for more advanced options.

Push via Google Cloud Messaging (GCM)

The OX Drive application for Android devices is able to receive Push notifications from the Open-Xchange Server via Google Cloud Messaging (GCM). To issue those Push messages, the backend needs to be provided with a suitable API key for the corresponding Android app application. The API key is included in the restricted components installation package open-xchange-drive-restricted for the "vanilla" Android app. Alternatively, the key can be specified directly in the drive.properties configuration file:

# Specifies the API key of the server application. Required if 
# "com.openexchange.drive.events.gcm.enabled" is "true" and the package 
# containing the restricted drive components is not installed.
com.openexchange.drive.events.gcm.key=

Push via GCM can be enabled via:

# Enables or disables push event notifications to apps using the Google
# Cloud Messaging (GCM) service. This requires a valid configuration for the 
# GCM API key, see options below. Defaults to "false". 
com.openexchange.drive.events.gcm.enabled=true

Please note that push via GCM needs to be enabled explicitly - also if open-xchange-drive-restricted is installed.

Push via Apple Push Notification service (APNs)

The OX Drive application for iOS and Mac OS devices is able to receive Push notifications from the Open-Xchange Server via Apple Push Notification service (APNs). To issue those Push messages, the backend needs to be provided with a suitable keystore container file (PKCS #12) containing the APNs certificate and keys. Note that the Mac OS desktop app and the iOS mobile app are served separately with different certificates, so that both needs to be configured independantly. The required certificates are already included in the restricted components installation package open-xchange-drive-restricted for the "vanilla" iOS and Mac OS app applications. Therefore no additional configuration is needed. Alternatively, a external certificate can be specified directly in the drive.properties configuration file (the following only shows the setup for iOS). First, the path to the PKCS #12 container file needs to be specified at:

# Specifies the path to the local keystore file (PKCS #12) containing the APNS 
# certificate and keys for the iOS application, e.g. 
# "/opt/open-xchange/etc/drive-apns.p12". Required if 
# "com.openexchange.drive.events.apn.enabled" is "true" and the package 
# containing the restricted drive components is not installed.
com.openexchange.drive.events.apn.ios.keystore=

This file is opened by the backend using the password as supplied via:

# Specifies the password used when creating the referenced keystore containing
# the certificate of the iOS application. Note that blank or null passwords 
# are in violation of the PKCS #12 specifications. Required if 
# "com.openexchange.drive.events.apn.enabled" is "true" and the package 
# containing the restricted drive components is not installed.
com.openexchange.drive.events.apn.ios.password=

Configuration also allows to switch between development and production environments, however, this setting should be true normally:

# Indicates which APNS service is used when sending push notifications to iOS
# devices. A value of "true" will use the production service, a value of 
# "false" the sandbox service. Defaults to "true".
com.openexchange.drive.events.apn.ios.production=true

The OX backend contacts the APNs servers from time to time to get informed about apps no longer reachable apps where the applications was uninstalled. The interval can be defined with the following setting:

# Configures the interval between queries to the APN feedback service for the
# subscribed iOS devices. The value can be defined using units of measurement: 
# "D" (=days), "W" (=weeks) and "H" (=hours). Defaults to "1D" (one day). 
# Leaving this parameter empty disables the feedback queries on this node. 
# Since each received feedback is processed cluster-wide, only one node in the 
# cluster should be enabled here. 
com.openexchange.drive.events.apn.ios.feedbackQueryInterval=1D

Please note that if you have multiple backend nodes in the cluster, it's recommended that only one node is configured to contact the feedback query service. Finally, Push notifications via APN for iOS can be enabled via:

# Enables or disables push event notifications to apps using the Apple Push
# Notification service (APNS) for Mac OS devices. This requires a valid 
# configuration for the APNS certificate and keys, see either options below, 
# or install the restricted components packages for drive. Defaults to 
# "false". 
com.openexchange.drive.events.apn.ios.enabled=false

As stated above, configuration for Push notifications via APN for the Mac OS desktop application is configured similarly, the relevant options are prefixed with com.openexchange.drive.events.apn.macos. Please also note that push via APNS needs to be enabled explicitly - also if open-xchange-drive-restricted is installed.

Further Configuration

  • The backend component of OX Drive supplies the apps with various hyperlinks, e.g. deep-links to files and folders in the groupware webinterface or an URL to the online help. In order to point to the suitable web interface, please ensure that the correct UI web path is configured via com.openexchange.UIWebPath located in server.properties.
  • As already mentioned above, the backend relies on the Comet component of the Grizzly http connector for sending push notifications to the desktop apps. Therefore, com.openexchange.http.grizzly.hasCometEnabled needs to be set to true in grizzly.properties.

Enabling OX Drive for Users

OX Drive is enabled for all users that have the capability com.openexchange.capability.drive. Please note that users need to have the infostore permission set to use drive. So the users that have drive enabled must be a subset of those users with infostore permission. Since 7.6.0 we enforce this via the default configuration. You can also enable this cabaility globally with the following setting in the drive.properties configuration file:

# Enables or disables the "drive" module capability globally. The capability
# can also be set more fine-grained via config cascade. Per default it is only
# enabled for users that have the "infostore" permission set. This is configured
# in /opt/open-xchange/etc/contextSets/drive.yml.
com.openexchange.capability.drive=false

More details about capabilities can be found at AppSuite:Capabilities. Furthermore, this capability can be defined in a more granular way using the Config Cascade as described at ConfigCascade.

Installation of the Apps

Installation of Mac OS X Desktop App

The OX Drive for Mac OS X will be provided via the Apple App Store:

Enabling the Finder Extension on Mac OS X

In order to be able to use the Finder to open documents or share objects on a Mac OS X workstation, you need to enable the Drive Finder Extension.

How to enable the Drive Finder Extension on a Mac OS X workstation:

  1. Open the System Preferences. In the System Preferences window, select Extensions.
  2. In the Extensions window, select Finder. Enable Drive Finder Extension.

Installation of Windows Desktop App

See OX Drive for Windows.

Installation on Mobile Apps

The OX Drive App is available via the different App Stores:


App Configuration and Deployment

The user needs to enter the server URL and provide his username and password. Afterwards, app-specific settings may be configured. This includes the synchronization mode (All files / Favorites only) and Photostream settings on mobile devices, or the local root synchronization folder for the desktop applications. More information is available in the online documentation.

After the initial synchronization is completed, all further changes are synchronized instantly across all devices.


FAQ

How to limit the maximum file size, a configured MAX_UPLOAD_SIZE seems to have no effect for uploads from OX Drive apps?

This setting has no effect for files uploaded from OX Drive apps, since big uploads may also be processed via multiple requests in smaller chunks. We plan to offer a separate configuration option in a future release.

There are strange files and folders on the backend, where do they come from, is it safe to delete them?

To support chunked uploads, and to optimize the synchronization process, the synchronization logic may create various temporary files (.drive directory and contained files). They only appear in the web interface if the setting Show hidden files and folders is enabled, and are removed automatically if not accessed for a specific period (default: 1 day).

Not all files and folders get synchronized. Are there any restrictions?

Yes, please consult the online help for a detailed list of excluded files and folders.

How do I synchronize a shared or public folder?

Currently, only the synchronization of a single root folder (and all of it's subfolders) is possible. For the mobile apps, this is always the default personal drive folder of the user, while the desktop apps allow to choose which folder to synchronize. The synchronization of multiple root folders is scheduled for a future release.