AppSuite:OX Drive: Difference between revisions

From Open-Xchange
 
(123 intermediate revisions by 16 users not shown)
Line 1: Line 1:
Source of http://oxpedia.org/wiki/index.php?title=AppSuite:OX_Drive
= OX Drive =
= OX Drive =


== Description ==
In OX App Suite, Open-Xchange provides a cloud storage called OX Drive. It provides file- and folder synchronization across multiple devices in the 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.


OX Drive provides file and folder synchronization across devices. It does this in the simple way
== Key features ==
possible for the end user and is fully optimized for each device type.


Open-Xchange wants to enable end customers to synchronize data. In OX App Suite, Open-Xchange provides a cloud storage called OX Drive. End customers should be able to synchronize Windows, Mac OS, Android, and iOS devices.
* Native Apps for Windows, macOS, 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)


This article explains how to set up the server-side components for OX Drive, as well as details about the client setup.
== Availability ==


== Availability ==
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 apps for synchronization)


OX Drive is available for the following native clients:
OX Drive is available as native app for the following operating systems:
* OX Drive for Windows
* OX Drive for Windows (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)
* OX Drive for Mac OS
* OX Drive for macOS (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)
* OX Drive for iOS
* OX Drive for iOS (supported with OX App Suite v7.10.6)
* OX Drive for Android
* OX Drive for Android (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)


== Requirements ==
== Requirements ==


{|border="2" rules="all" align="left">
You will find the requirements under [[AppSuite:OX_System_Requirements#OX_Drive_for_Clients|OX Drive App and Platform Requirements]]
  |'''Requirement'''
  |'''System / Platform'''
  |'''Tested Devices'''
|-
  | 
  | 
  | 
|-
  |OX App Suite
  |OX App Suite v7.4.2
  | 
|-
  |OX Drive for Windows
  |Latest Versions of Windows 7, Windows 8 (no support of Mac OS X clients with emulators and Windows RT)
  | 
|-
  |OX Drive for Mac OS
  |Mac OS X 10.8 (Mountain Lion), Mac OS X 10.9 (Mavericks)
  | 
|-
  |OX Drive for iOS
  |Apple iOS 6, Apple iOS 7
  |Apple iPhone 5, Apple iPhone 5s
|-
  |OX Drive for Android
  |Smartphone on Android Jelly Bean (4.1 - 4.2), Tablets on Android Jelly Bean (4.1 - 4.2)
  |Samsung Galaxy S3 mini, Samsung Galaxy S4, Nexus 4
|-
|}
 
== The key features of OX Drive ==
* Native Apps for Windows, Mac OS, iOS and Android
* 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.
* 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)


= Server-side Installation and Configuration =
= Server-side Installation and Configuration =
Line 68: Line 38:
== Prerequisites ==
== Prerequisites ==


* Open-Xchange Server v7.4.2 and above (''open-xchange-core'')
* Open-Xchange Server v7.10.5 and above (''open-xchange-core'')
* Grizzly HTTP connector (''open-xchange-grizzly''), see [[AppSuite:Grizzly]] for details, with ''Comet'' support enabled in ''grizzly.properties''
* 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
* Valid Push-Certificates / API keys for cloud-based notifications, see configuration below
Line 78: Line 48:


* ''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-updater-drive'' - Adds the OX Drive application to the Windows desktop auto-updater
* ''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-appsuite-help-drive-*'' - Online help in various languages for the OX Drive applications
* ''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.
 
OX Drive for Windows is able to update itself and can be downloaded from the Web UI directly via the [[AppSuite:Client_Onboarding|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''.
 
[[File:OX_Drive_Windows_About_Screen.png|500px|thumb|left|Drive Update Info]]
 
===== 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 [[ConfigCascade|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.


Install the above packages as usual.


{{InstallPlugin|pluginname=open-xchange-drive open-xchange-drive-comet|toplevel=products|sopath=appsuite/stable/backend|version=App Suite}}
=== Redhat Enterprise Linux 7 or CentOS 7 ===
 
If not already done, add the following repositories to your Open-Xchange yum configuration:
 
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=rhelname|pc2v=RHEL7|backend}}
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=rhelname|pc2v=RHEL7|drive-help}}
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=rhelname|pc2v=RHEL7|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=rhelname|pc2v=RHEL7|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=rhelname|pc2v=RHEL7|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}
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 8 ===
 
If not already done, add the following repositories to your Open-Xchange dnf configuration:
 
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=rhelname|pc2v=RHEL8|backend}}
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=rhelname|pc2v=RHEL8|drive-help}}
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=rhelname|pc2v=RHEL8|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=rhelname|pc2v=RHEL8|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=rhelname|pc2v=RHEL8|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}
and run
 
$ dnf update
$ dnf install open-xchange-drive open-xchange-drive-comet open-xchange-drive-restricted open-xchange-drive-client-windows
 
<!-- === Debian GNU/Linux 9.0 ===
 
If not already done, add the following repositories to your Open-Xchange apt configuration:
 
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianStretch|backend}}
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianStretch|drive-help}}
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|backend/updates|drive|updater}}
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianStretch|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}
 
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 10.0 ===
 
If not already done, add the following repositories to your Open-Xchange apt configuration:
 
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBuster|backend}}
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBuster|drive-help}}
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|backend/updates|drive|updater}}
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBuster|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}
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 11.0 ===
 
If not already done, add the following repositories to your Open-Xchange apt configuration:
 
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBullseye|backend}}
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBullseye|drive-help}}
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBullseye|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBullseye|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBullseye|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}
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 12.0 ===
 
If not already done, add the following repositories to your Open-Xchange apt configuration:
 
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBookworm|backend}}
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBookworm|drive-help}}
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBookworm|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-help/updates}}
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/drive/stable|pc2n=debianname|pc2v=DebianBookworm|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive-client-windows}}
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianBookworm|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|drive}}
and run
 
$ apt-get update
$ apt-get install 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 ==
== 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 app notifications, see next chapters). Please refer to the inline documentation of the configuration file for more advanced options.


=== General ===
Most properties located in configuration file ''drive.properties'' are now config-cascade aware. Therefore all settings can be set per user, per contextSet or per context. If there is no configuration per user, per contextSet or per context, the configuration in ''drive.properties'' will still be used as server-wide fallback.


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.  
When installing from scratch, the configuration file ''drive.properties'' is no longer shipped, as the default values are used. For more details, find an overview of configurable settings [https://documentation.open-xchange.com/7.10.5/middleware/administration.html here].


=== Push via Google Cloud Messaging (GCM) ===
If no Push certificates and API keys are defined but cloud-based app notifications are enabled, the Push certificates and API keys from package ''open-xchange-drive-restricted'' are used as fallback, if this package is installed.


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. This API key (a String) is specified in the ''drive.properties'' file:
=== Push via Firebase Cloud Messaging (FCM) ===


# Specifies the API key of the server application. Required.
The OX Drive application for Android devices is able to receive Push notifications from the Open-Xchange Server via [https://firebase.google.com/docs/cloud-messaging/ Firebase Cloud Messaging (FCM)]. To issue those Push messages, the backend needs to be provided with a suitable API key file for the corresponding Android app application. The API key file 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:
com.openexchange.drive.events.gcm.key=


Doing so, Push via GCM can be enabled via:
# Specifies the API key file of the server application. Required if
# "com.openexchange.drive.events.fcm.enabled" is "true" and the package
# containing the restricted drive components is not installed.
com.openexchange.drive.events.fcm.keyPath=/absolute/path/json/file.json


# Enables or disables push event notifications to clients using the Google
Push via FCM can be enabled via:
# 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


Depending on the used Android client application ("vanilla" or customized versions), different API keys are needed. Please refer to your Open-Xchange contact for details.
# Enables or disables push event notifications to apps using the Google
# Firebase Cloud Messaging (FCM) service. This requires a valid configuration for the
# FCM API key file, see above. Defaults to "false".  
com.openexchange.drive.events.fcm.enabled=true
 
Please note that push via FCM needs to be enabled explicitly - also if ''open-xchange-drive-restricted'' is installed.


=== 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 Push 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 client and the iOS mobile client are served with separately with different certificates, so that both needs to be configured independantly in the 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 macOS 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 macOS desktop app and the iOS mobile app are served separately with different certificates, so that both needs to be configured independently. The required certificates are already included in the restricted components installation package ''open-xchange-drive-restricted'' for the "vanilla" iOS and macOS applications. Therefore no additional configuration is needed. Alternatively, an 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  
  # certificate and keys for the iOS application, e.g.  
  # certificate and keys for the iOS application, e.g.  
  # "/opt/open-xchange/etc/drive-apns.p12". Required if  
  # "/opt/open-xchange/etc/drive-apns.p12". Required if  
  # "com.openexchange.drive.events.apn.enabled" is "true".
  # "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=
  com.openexchange.drive.events.apn.ios.keystore=


Line 126: Line 220:
  # the certificate of the iOS application. Note that blank or null passwords  
  # the certificate of the iOS application. Note that blank or null passwords  
  # are in violation of the PKCS #12 specifications. Required if  
  # are in violation of the PKCS #12 specifications. Required if  
  # "com.openexchange.drive.events.apn.enabled" is "true".
  # "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=
  com.openexchange.drive.events.apn.ios.password=


Configuration also allows to swith between development and production environments, however, this setting should be ''true'' normally:
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
  # Indicates which APNS service is used when sending push notifications to iOS
Line 136: Line 231:
  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 148: Line 243:
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 iOS devices. This requires a valid  
  # Notification service (APNS) for macOS devices. This requires a valid  
  # configuration for the APNS certificate and keys, see options below.
  # configuration for the APNS certificate and keys, see either options below,
  # Defaults to "false".  
  # or install the restricted components packages for drive. Defaults to  
# "false".  
  com.openexchange.drive.events.apn.ios.enabled=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''. Depending on the used iOS and Mac OS client applications for your Server ("vanilla" or customized versions), different PKCS #12 container files and passwords are needed. Please refer to your Open-Xchange contact for details.
As stated above, configuration for Push notifications via APN for the macOS 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 ===
=== 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''.
 
=== Obtaining Push keys ===
 
If you do have a valid contract for using OX Drive and are going to use the OX labeled clients you can retrieve a GCM and APN push key from OX.
 
OX will need the following informations to create a GCM push key and a APN push certificate:
 
==== GCM (Android) ====
* The IP(s) or subnet of the server(s) which will send push notifications to the GCM server
 
==== APN (iOS and Mac) ====
* One valid certificate signing request (CSR) for each client, iOS and Mac OS. A single CSR can not be used for both.
 
====Generating a CSR for APN====
 
To manually generate a Certificate, you need a Certificate Signing Request (CSR) file from your Mac.
To create a CSR file, follow the instructions below to create one using Keychain Access.
 
Create a CSR file.
# In the Applications folder on your Mac, open the Utilities folder and launch Keychain Access.
# Within the Keychain Access drop down menu, select Keychain Access > Certificate Assistant > Request a Certificate from a Certificate Authority.
# In the Certificate Information window, enter the following information:
##In the User Email Address field, enter your email address.
##In the Common Name field, create a name for your private key (e.g., Company Foo Key).
##The CA Email Address field should be left empty.
##In the "Request is" group, select the "Saved to disk" option.
#Click Continue within Keychain Access to complete the CSR generating process.


== Enabling OX Drive for Users ==
= Enabling OX Drive for Users =


OX Drive is enabled for all users that have the capability ''com.openexchange.capability.drive''. You can enable or disable this cabaility globally with the following setting in the ''drive.properties'' configuration file:
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.
  # Enables or disables the "drive" module capability globally. The capability
  com.openexchange.capability.drive=true
# 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]].
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 Clients =
= Installation of the Apps =
 
== Installation of Mac OS X Desktop Client ==


The OX Drive for Mac OS X will be provided via the Apple App Store.
== Installation of macOS Desktop App ==


== Installation of Windows Desktop Client ==
The OX Drive for macOS is provided via the Mac App Store:


The OX Drive for Windows will be provided direct at the OX App Suite via the OX Updater.
* https://itunes.apple.com/app/ox-drive/id818195014?mt=12


=== Redhat Enterprise Linux 6 or CentOS 6 ===
=== Enabling the Finder Extension on macOS ===


Add the following repositories to your Open-Xchange yum configuration:
In order to be able to open or share documents in the App Suite from Finder you need to enable the Drive Finder Extension.


{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=rhelname|pc2v=RHEL6|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|updater|usm/updates}}
How to enable the Drive Finder Extension on macOS:
{{for loop||call=YUMRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=rhelname|pc2v=RHEL6|usm}}
# Open the System Preferences.
# In the System Preferences window select Extensions.
# In the Extensions window select Finder.
# Enable Drive Finder Extension.


== Installation of Windows Desktop App ==


$ yum install open-xchange-updater-drive open-xchange-drive open-xchange-drive-comet
If the necessary packages are installed (See [[AppSuite:OX_Drive#OX_Drive_for_Windows|OX Drive for Windows]]), users can download the app from within the App Suite via "Settings > Connect my Device".


=== Debian GNU/Linux 6.0 ===
== Installation of Android and iOS Apps ==


Add the following repositories to your Open-Xchange apt configuration:
The OX Drive app is available via the different App Stores:
 
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianSqueeze|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|updater|usm/updates}}
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianSqueeze|usm}}
 
$ apt-get update
$ apt-get install open-xchange-updater-drive open-xchange-drive open-xchange-drive-comet
 
=== Debian GNU/Linux 7.0 ===
 
Add the following repositories to your Open-Xchange apt configuration:
 
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianWheezy|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|updater|usm/updates}}
{{for loop||call=APTRepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=debianname|pc2v=DebianWheezy|usm}}
 
$ apt-get update
$ apt-get install open-xchange-updater-drive open-xchange-drive open-xchange-drive-comet


=== SUSE Linux Enterprise Server 11 ===
* iOS: https://apps.apple.com/de/app/ox-drive-by-open-xchange/id1585939206
* Android: https://play.google.com/store/apps/details?id=com.openexchange.drive.vanilla


{{for loop||call=SUSERepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=susename|pc2v=SLES11|pc3n=ldbaccount|pc3v=LDBUSER:LDBPASSWORD|updater|usm/updates}}
== App Configuration and Deployment ==
{{for loop||call=SUSERepo|pv=reponame|pc1n=path|pc1v=products/appsuite/stable|pc2n=susename|pc2v=SLES11|usm}}


$ zypper ref
The user needs to enter the App Suite server URL and provide his username and password to log in. More help is available in the online documentation which is accessible from within the apps.
$ zypper install open-xchange-updater-drive open-xchange-drive open-xchange-drive-comet


== Installation on Mobile Clients ==
After the initial synchronization is completed, all subsequent changes are synchronized instantly across all devices.


The OX Drive App is available via the different App Stores.
'''Note:''' Version v7.10.3 of the OX App Suite introduced optional multifactor authentication, see  https://documentation.open-xchange.com/7.10.3/middleware/security_and_encryption/multifactor_authentication.html.  


== Client Configuration and Deployment ==
Not all OX Drive apps support this yet.


The user defines a folder on the client that should be used for the future synchronization. Within this folder, the application creates a subfolder (e.g. per device) to prevent a heavy amount of data being transferred during
To connect to a server that has multi-factor authentication (MFA) activated with an app that does not support MFA, you can switch on app-specific passwords, see https://documentation.open-xchange.com/7.10.5/middleware/login_and_sessions/application_passwords.html. Users then need to define this password in App Suite under "Settings > Security > Application Passwords" and use it when signing in.
the initial synchronization if e.g., a “wrong” directory (like C:\) has been selected. This folder is called Client Sync Folder. We might consider to relax this rule for the power user and allow to manually select
the Client Sync Folder.


Optionally, the user can select a private (user must be Admin of the folder) Server Sync Folder as source/target folder. If there is no folder selected a client specific folder can automatically be created and configured. If the Server Sync Folder is not selected, a device specific subfolder is created and configured as Server Sync Folder which of course is also created if not already existing.


Assumption: The Client Sync Folder as well as the Server Sync Folder can not be changed after the configuration.
* If the Client Sync Folder is not available, the synchronization will not be started.
* If the Server Sync Folder is not available, the sync process will be aborted.


As a default procedure, new sync folders should be created on the server as well as on the client. This ensures that objects are only synchronized as soon as this is done and the user has full control.


== Sync Procedure ==
<!-- = FAQ =


* The client creates a list of the Client Sync Folder and - together with extended attributes (e.g. md5sums, file name, and path) - sends it to the server. Also, the  last sync state (if existing) is sent to the server.
You will find it under [https://oxpedia.org/wiki/index.php?title=Product_FAQ]. -->
* The server creates a list of the Server Sync Folder together with the extended attributes, compares them and creates an action list
* The client saves the last sync state (either calculated by the server or created by the client)

Latest revision as of 12:43, 12 September 2024

Source of http://oxpedia.org/wiki/index.php?title=AppSuite: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 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, macOS, 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 apps for synchronization)

OX Drive is available as native app for the following operating systems:

  • OX Drive for Windows (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)
  • OX Drive for macOS (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)
  • OX Drive for iOS (supported with OX App Suite v7.10.6)
  • OX Drive for Android (supported with OX App Suite v7.10.5, OX App Suite v7.10.6)

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.10.5 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.

OX Drive for Windows 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.

Drive Update Info
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 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-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
[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

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 8

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

 [open-xchange-backend]
name=Open-Xchange-backend
baseurl=https://software.open-xchange.com/products/appsuite/stable/backend/RHEL8/
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/RHEL8/ 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/RHEL8/ 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/RHEL8/ 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/RHEL8/ gpgkey=https://software.open-xchange.com/oxbuildkey.pub enabled=1 gpgcheck=1 metadata_expire=0m

and run

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


Debian GNU/Linux 11.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/DebianBullseye /
deb https://software.open-xchange.com/products/drive/stable/drive-help/DebianBullseye /
deb https://LDBUSER:LDBPASSWORD@software.open-xchange.com/products/drive/stable/drive-help/updates/DebianBullseye /
deb https://LDBUSER:LDBPASSWORD@software.open-xchange.com/products/drive/stable/drive-client-windows/DebianBullseye /
deb https://LDBUSER:LDBPASSWORD@software.open-xchange.com/products/appsuite/stable/drive/DebianBullseye /

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 12.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/DebianBookworm /
deb https://software.open-xchange.com/products/drive/stable/drive-help/DebianBookworm /
deb https://LDBUSER:LDBPASSWORD@software.open-xchange.com/products/drive/stable/drive-help/updates/DebianBookworm /
deb https://LDBUSER:LDBPASSWORD@software.open-xchange.com/products/drive/stable/drive-client-windows/DebianBookworm /
deb https://LDBUSER:LDBPASSWORD@software.open-xchange.com/products/appsuite/stable/drive/DebianBookworm /

and run

$ apt-get update
$ apt-get install 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.

Most properties located in configuration file drive.properties are now config-cascade aware. Therefore all settings can be set per user, per contextSet or per context. If there is no configuration per user, per contextSet or per context, the configuration in drive.properties will still be used as server-wide fallback.

When installing from scratch, the configuration file drive.properties is no longer shipped, as the default values are used. For more details, find an overview of configurable settings here.

If no Push certificates and API keys are defined but cloud-based app notifications are enabled, the Push certificates and API keys from package open-xchange-drive-restricted are used as fallback, if this package is installed.

Push via Firebase Cloud Messaging (FCM)

The OX Drive application for Android devices is able to receive Push notifications from the Open-Xchange Server via Firebase Cloud Messaging (FCM). To issue those Push messages, the backend needs to be provided with a suitable API key file for the corresponding Android app application. The API key file 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 file of the server application. Required if 
# "com.openexchange.drive.events.fcm.enabled" is "true" and the package 
# containing the restricted drive components is not installed.
com.openexchange.drive.events.fcm.keyPath=/absolute/path/json/file.json

Push via FCM can be enabled via:

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

Please note that push via FCM 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 macOS 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 macOS desktop app and the iOS mobile app are served separately with different certificates, so that both needs to be configured independently. The required certificates are already included in the restricted components installation package open-xchange-drive-restricted for the "vanilla" iOS and macOS applications. Therefore no additional configuration is needed. Alternatively, an 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 macOS 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 macOS 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 macOS Desktop App

The OX Drive for macOS is provided via the Mac App Store:

Enabling the Finder Extension on macOS

In order to be able to open or share documents in the App Suite from Finder you need to enable the Drive Finder Extension.

How to enable the Drive Finder Extension on macOS:

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

Installation of Windows Desktop App

If the necessary packages are installed (See OX Drive for Windows), users can download the app from within the App Suite via "Settings > Connect my Device".

Installation of Android and iOS Apps

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

App Configuration and Deployment

The user needs to enter the App Suite server URL and provide his username and password to log in. More help is available in the online documentation which is accessible from within the apps.

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

Note: Version v7.10.3 of the OX App Suite introduced optional multifactor authentication, see https://documentation.open-xchange.com/7.10.3/middleware/security_and_encryption/multifactor_authentication.html.

Not all OX Drive apps support this yet.

To connect to a server that has multi-factor authentication (MFA) activated with an app that does not support MFA, you can switch on app-specific passwords, see https://documentation.open-xchange.com/7.10.5/middleware/login_and_sessions/application_passwords.html. Users then need to define this password in App Suite under "Settings > Security > Application Passwords" and use it when signing in.