<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.open-xchange.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Daniel.dickhaus</id>
	<title>Open-Xchange - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.open-xchange.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Daniel.dickhaus"/>
	<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=Special:Contributions/Daniel.dickhaus"/>
	<updated>2026-10-03T04:03:55Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:Client_Onboarding&amp;diff=25924</id>
		<title>AppSuite:Client Onboarding</title>
		<link rel="alternate" type="text/html" href="https://wiki.open-xchange.com/wiki/index.php?title=AppSuite:Client_Onboarding&amp;diff=25924"/>
		<updated>2021-05-05T10:54:21Z</updated>

		<summary type="html">&lt;p&gt;Daniel.dickhaus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;title&amp;quot;&amp;gt;Client Onboarding&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{VersionFrom|7.8.1}}&lt;br /&gt;
&lt;br /&gt;
With version 7.10.5 we introduced a new wizard.&lt;br /&gt;
This config is still valid since the old wizard can still be enabled via setting.&lt;br /&gt;
See https://documentation.open-xchange.com/7.10.5/ui/configuration/settings-list-of.html#onboarding for details on the new wizard. &lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= Configuration guide for Open-Xchange Client Onboarding =&lt;br /&gt;
&lt;br /&gt;
With Open-Xchange Server v7.8.1 a new module is added allowing users to integrate several different clients and devices with Open-Xchange; such as providing a link to a commercial App Store to install certain apps on mobile devices.&lt;br /&gt;
&lt;br /&gt;
By default, Open-Xchange ships with several built-in providers; thereof&lt;br /&gt;
&lt;br /&gt;
* CalDAV&lt;br /&gt;
* CardDAV&lt;br /&gt;
* OX Mail App&lt;br /&gt;
* OX Drive App&lt;br /&gt;
* Connector for Microsoft Outlook®&lt;br /&gt;
* Sync App for Android&lt;br /&gt;
* Microsoft ActiveSync&lt;br /&gt;
* Mail (IMAP/SMTP)&lt;br /&gt;
* Generic Mobile App provider&lt;br /&gt;
&lt;br /&gt;
Those providers allow accessing and/or synchronizing with certain data held by Open-Xchange on a supported device.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
To install the Client Onboarding module, the package open-xchange-client-onboarding needs to be installed.&lt;br /&gt;
&lt;br /&gt;
Moreover the property &amp;lt;code&amp;gt;&amp;quot;com.openexchange.client.onboarding.enabled&amp;quot;&amp;lt;/code&amp;gt;; in installed file &amp;lt;code&amp;gt;/opt/open-xchange/etc/client-onboarding.properties&amp;lt;/code&amp;gt; needs to be set to &amp;lt;code&amp;gt;&amp;quot;true&amp;quot;&amp;lt;/code&amp;gt; (default). So getting rid off the entire client on-boarding module simply requires setting the mentioned property to &amp;lt;code&amp;gt;&amp;quot;false&amp;quot;&amp;lt;/code&amp;gt; (and executing &amp;lt;code&amp;gt;/opt/open-xchange/sbin/reloadconfiguration&amp;lt;/code&amp;gt; command-line tool).&lt;br /&gt;
&lt;br /&gt;
== Onboarding scenarios ==&lt;br /&gt;
&lt;br /&gt;
The way to specify what and how a certain device is able to get “on-boarded” is mainly determined by so called scenarios. A scenario describes what gets deployed using which providers that contribute their onboarding possibilities and how it is made accessible to the client’s device.&lt;br /&gt;
&lt;br /&gt;
A scenario consists of the following configuration attributes/options&lt;br /&gt;
&lt;br /&gt;
* A unique scenario identifier&lt;br /&gt;
* A flag determining if scenario is enabled or not. If set to &#039;false&#039; the scenario will not be available, useful for testing/enabling the scenario later on&lt;br /&gt;
* A scenario type, which is one of &amp;amp;quot;plist&amp;amp;quot;, &amp;amp;quot;manual&amp;amp;quot;, or &amp;amp;quot;link&amp;amp;quot;&lt;br /&gt;
** &amp;amp;quot;plist&amp;amp;quot; for generating a PLIST configuration file for iOS and OSX devices,&lt;br /&gt;
** &amp;amp;quot;manual&amp;amp;quot; for a description for the user for a manual set-up/configuration&lt;br /&gt;
** &amp;amp;quot;link&amp;amp;quot; for a link/URL to either Apple App Store / Google Play Store or to downloadable executable&lt;br /&gt;
* The &amp;amp;quot;link&amp;amp;quot; attribute, which is only considered it type is set to &amp;amp;quot;link&amp;amp;quot;. That attribute consists of the sub-attributes &amp;amp;quot;url&amp;amp;quot; and &amp;amp;quot;type&amp;amp;quot;.&lt;br /&gt;
** &amp;amp;quot;url&amp;amp;quot; provides the actual link/URL to Apple App Store, Apple Mac Store Google Play Store or to downloadable executable. For specifying a property that provides the actual link, please use special &amp;amp;quot;property&amp;amp;quot; scheme; e.g. &amp;amp;quot;property://com.openexchange.client.onboarding.app.mylink&amp;amp;quot;&lt;br /&gt;
** &amp;amp;quot;type&amp;amp;quot; indicates if &amp;amp;quot;url&amp;amp;quot; holds a link for either Apple App Store, Apple Mac Store or Google Play Store. Must only be specified in case &amp;amp;quot;url&amp;amp;quot; points either of those commercial stores. Supported values are &amp;amp;quot;appstore&amp;amp;quot;, &amp;amp;quot;macstore&amp;amp;quot; and &amp;amp;quot;playstore&amp;amp;quot;&lt;br /&gt;
* The identifiers for the providers, which contribute to the scenario;&amp;lt;br /&amp;gt;&lt;br /&gt;
please check command-line tool &amp;lt;code&amp;gt;/opt/open-xchange/sbin/listonboardingproviders&amp;lt;/code&amp;gt; to check, which ones are available&lt;br /&gt;
* The identifiers for alternative scenarios. This is typically used to provide alternative manual setup possibility.&lt;br /&gt;
* The comma-separated names of Font Awesome icons that are supposed to be displayed for the scenario&amp;lt;br /&amp;gt;&lt;br /&gt;
(only the ones from v4.4.0 are currently supported)&lt;br /&gt;
* The translatable display name; check &amp;lt;code&amp;gt;/opt/open-xchange/sbin/parsei18nyaml&amp;lt;/code&amp;gt; command-line tool to generate a .pot file from translatable texts&lt;br /&gt;
* The translatable description; check &amp;lt;code&amp;gt;/opt/open-xchange/sbin/parsei18nyaml&amp;lt;/code&amp;gt; command-line tool to generate a .pot file from translatable texts&lt;br /&gt;
&lt;br /&gt;
== Onboarding providers ==&lt;br /&gt;
&lt;br /&gt;
As described in the previous section, a scenario specifies what providers contribute to it. A provider represents a certain App or (synchronization) protocol that a device can install, download and/or communicate with.&lt;br /&gt;
&lt;br /&gt;
Moreover a provider specifies what Onboarding types are supported (&amp;amp;quot;plist&amp;amp;quot;, &amp;amp;quot;manual&amp;amp;quot;, and/or &amp;amp;quot;link&amp;amp;quot;). Hence, once a provider is chosen to contribute to a certain scenario, the supported on-boarding type needs to match the one of the scenario itself. E.g. a scenario, which indicates to be of type &amp;amp;quot;link&amp;amp;quot;, will always fail if the associated provider signals to support types &amp;amp;quot;plist&amp;amp;quot; and &amp;amp;quot;manual&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
To check what providers are available on your system, please execute the &amp;lt;code&amp;gt;/opt/open-xchange/sbin/listonboardingproviders&amp;lt;/code&amp;gt; command-line tool, which outputs something like:&lt;br /&gt;
&lt;br /&gt;
[[File:onboarding_1.png]]&lt;br /&gt;
&lt;br /&gt;
Each provider might require one or more capabilities/permissions to be available for the requesting user. If capabilities/permissions are not satisfied, the associated scenario cannot be applied, but will be displayed to the user for upsell opportunities.&lt;br /&gt;
&lt;br /&gt;
=== Generic Onboarding provider for Apps ===&lt;br /&gt;
&lt;br /&gt;
Identifier: &amp;lt;code&amp;gt;app&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The generic onboarding provider for apps allows specifying custom scenarios of type &amp;amp;quot;link&amp;amp;quot; for arbitrary links/URLs pointing to Apple App Store, Apple Mac Store Google Play Store or to downloadable executable. The link can be set directly or via a property.&lt;br /&gt;
&lt;br /&gt;
This provider requires no capability/permission.&lt;br /&gt;
&lt;br /&gt;
An exemplary section in the &amp;lt;code&amp;gt;/opt/open-xchange/etc/client-onboarding-scenarios.yml&amp;lt;/code&amp;gt; YAML file might look like (check &amp;amp;quot;Configuring Onboarding scenarios&amp;amp;quot; chapter for more details):&lt;br /&gt;
&lt;br /&gt;
[[File:onboarding_2.png]]&lt;br /&gt;
&lt;br /&gt;
=== CalDAV/CardDAV ===&lt;br /&gt;
&lt;br /&gt;
Identifiers: &amp;lt;code&amp;gt;caldav&amp;lt;/code&amp;gt; &amp;amp;amp; &amp;lt;code&amp;gt;carddav&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In order for a scenario (having CalDAV/CardDAV in its provider listing) to be executable by a user, the &amp;amp;quot;caldav&amp;amp;quot; capability and &amp;amp;quot;carddav&amp;amp;quot; capability respectively are required.&lt;br /&gt;
&lt;br /&gt;
Moreover, the appropriate *DAV end-points are supposed to be configured through property &amp;lt;code&amp;gt;com.openexchange.client.onboarding.caldav.url&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;client-onboarding-caldav.properties&amp;lt;/code&amp;gt; file and property &amp;lt;code&amp;gt;com.openexchange.client.onboarding.carddav.url&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;client-onboarding-carddav.properties&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
=== Drive/Mail Apps ===&lt;br /&gt;
&lt;br /&gt;
Identifiers: &amp;lt;code&amp;gt;driveapp&amp;lt;/code&amp;gt; &amp;amp;amp; &amp;lt;code&amp;gt;mailapp&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Open-Xchange ships with built-in providers for Drive App and Mail App. The Drive-associated providers do require the &amp;amp;quot;drive&amp;amp;quot; capability and the Mail App requires the &amp;amp;quot;mobile_mail_app&amp;amp;quot; one.&lt;br /&gt;
&lt;br /&gt;
The appropriate links to the apps in the corresponding stores are configured in associated .properties files:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;client-onboarding-driveapp.properties&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;client-onboarding-mailapp.properties&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
By default the links to the official apps are set, but may be changed to ones for branded versions.&lt;br /&gt;
&lt;br /&gt;
=== Drive Windows Client ===&lt;br /&gt;
&lt;br /&gt;
Identifier: &amp;lt;code&amp;gt;drivewindowsclient&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The provider for the windows Drive Client. Requires the &amp;amp;quot;drive&amp;amp;quot; capability, but has no configuration options. However, this provider requires the &amp;amp;quot;open-xchange-drive-client-windows&amp;amp;quot; and the orderly configured binaries (e.g. through installing appropriate package according to the brand).&lt;br /&gt;
&lt;br /&gt;
Please check [https://oxpedia.org/wiki/index.php?title=AppSuite:OX_Drive#OX_Drive_for_Windows &#039;&#039;this&#039;&#039;] documentation for more details.&lt;br /&gt;
&lt;br /&gt;
=== Sync App ===&lt;br /&gt;
&lt;br /&gt;
Identifier: &amp;lt;code&amp;gt;syncapp&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The provider for the Sync App for Android. Requires &amp;amp;quot;caldav&amp;amp;quot; and &amp;amp;quot;carddav&amp;amp;quot; capabilities.&lt;br /&gt;
&lt;br /&gt;
The link to Google Play Store is specified via property &amp;lt;code&amp;gt;com.openexchange.client.onboarding.syncapp.store.google.playstore&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;client-onboarding-syncapp.properties&amp;lt;/code&amp;gt; file. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mail (IMAP/SMTP) ===&lt;br /&gt;
&lt;br /&gt;
Identifier: &amp;lt;code&amp;gt;mail&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The provider for deploying the IMAP/STMP account on target device using native/stock mail app. All IMAP/SMTP related settings are settable in file &#039;client-onboarding-mail.properties&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Microsoft ActiveSync (EAS) ===&lt;br /&gt;
&lt;br /&gt;
Identifier: &amp;lt;code&amp;gt;eas&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configures the ActiveSync account on target device. Allows specifying the EAS end-point through &amp;lt;code&amp;gt;com.openexchange.client.onboarding.eas.url&amp;lt;/code&amp;gt; property in &#039;client-onboarding-eas.properties&#039;.&lt;br /&gt;
&lt;br /&gt;
== Configuring Onboarding scenarios ==&lt;br /&gt;
&lt;br /&gt;
Onboarding scenarios are configured through the &amp;lt;code&amp;gt;/opt/open-xchange/etc/client-onboarding-scenarios.yml&amp;lt;/code&amp;gt; YAML file. Each scenario starts with its own &amp;amp;quot;section&amp;amp;quot; in that YAML file by typing its unique identifier. All further attributes as outlined in chapter &amp;amp;quot;Onboarding scenarios&amp;amp;quot; are nested below that identifier.&lt;br /&gt;
&lt;br /&gt;
=== Easily enabling/disabling scenarios ===&lt;br /&gt;
&lt;br /&gt;
By default, Open-Xchange ships with a set of pre-defined scenarios that might apply to the most common installations. Each scenario can easily be enabled/disabled through its &amp;amp;quot;enabled&amp;amp;quot; Boolean attribute in the &amp;lt;code&amp;gt;/opt/open-xchange/etc/client-onboarding-scenarios.yml&amp;lt;/code&amp;gt; YAML file. Executing &amp;lt;code&amp;gt;/opt/open-xchange/sbin/reloadconfiguration&amp;lt;/code&amp;gt; command-line tool applies the changes without the need for restart.&lt;br /&gt;
&lt;br /&gt;
=== Translatable strings ===&lt;br /&gt;
&lt;br /&gt;
Those attributes ending with &amp;amp;quot;_t10e&amp;amp;quot; refer to localizable strings and are placed into &amp;amp;quot;client-onboarding-scenarios.pot&amp;amp;quot; file. Once such attributes ending with &amp;amp;quot;_t10e&amp;amp;quot; are changed/customized and/or added, the appropriate &amp;amp;quot;client-onboarding-scenarios.pot&amp;amp;quot; file needs to be re-created in order to get translated. For generating that &amp;amp;quot;client-onboarding-scenarios.pot&amp;amp;quot; file, please execute the /opt/open-xchange/sbin/parsei18nyaml command-line tool. That .pot file needs then be turned to the .po files for the individual languages.&lt;br /&gt;
&lt;br /&gt;
Thus changing any of the attributes ending with &amp;amp;quot;_t10e&amp;amp;quot; requires (provided that appropriate .po files are available in &amp;lt;code&amp;gt;/opt/open-xchange/i18n&amp;lt;/code&amp;gt; directory) either a restart or executing &amp;lt;code&amp;gt;/opt/open-xchange/sbin/reloadconfiguration&amp;lt;/code&amp;gt; command-line tool together with stop/start of the &amp;amp;quot;com.openexchange.i18n&amp;amp;quot; bundle.&lt;br /&gt;
&lt;br /&gt;
=== Scenarios&#039; scope and order ===&lt;br /&gt;
&lt;br /&gt;
While the previously mentioned &amp;amp;quot;enabled&amp;amp;quot; attribute offers some kind of generic on/off switch, the properties outlined in this section allow defining the device-scope for a scenario and in which order/precedence they are offered to the client. Scope in terms of&lt;br /&gt;
&lt;br /&gt;
* For what devices (from the set of those specified by providers) are what scenarios in which order available and&lt;br /&gt;
* For which users they are available&lt;br /&gt;
&lt;br /&gt;
As explained above, each scenario specifies one or more type-compatible providers associated with it. In turn, each provider determines to which devices the scenario applies. In order to further control, which device and which users are allowed to access a certain scenario, there are appropriate options available in file &amp;lt;code&amp;gt;/opt/open-xchange/etc/client-onboarding.properties&amp;lt;/code&amp;gt;. Every option is fully [http://oxpedia.org/wiki/index.php?title=ConfigCascade &#039;&#039;config-cascade&#039;&#039;] aware and therefore can be controlled on a global, per context set, per context and per user basis.&lt;br /&gt;
&lt;br /&gt;
Thus, to make a scenario available for certain devices (as dictated by scenario’s providers) and for users as well, the scenario identifier needs to be added to the appropriate properties ending with &amp;amp;quot;.scenarios&amp;amp;quot; (for devices) and added to the &amp;amp;quot;com.openexchange.client.onboarding.enabledScenarios&amp;amp;quot; property (for user) as well.&lt;br /&gt;
&lt;br /&gt;
The following properties accept a comma-separated list of scenario identifiers. The order of listed scenarios reflects the order in which they are offered to the client&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
com.openexchange.client.onboarding.apple.mac.scenarios&amp;lt;br /&amp;gt;&lt;br /&gt;
com.openexchange.client.onboarding.apple.ipad.scenarios&amp;lt;br /&amp;gt;&lt;br /&gt;
com.openexchange.client.onboarding.apple.iphone.scenarios&amp;lt;br /&amp;gt;&lt;br /&gt;
com.openexchange.client.onboarding.android.tablet.scenarios&amp;lt;br /&amp;gt;&lt;br /&gt;
com.openexchange.client.onboarding.android.phone.scenarios&amp;lt;br /&amp;gt;&lt;br /&gt;
com.openexchange.client.onboarding.windows.desktop.scenarios&lt;br /&gt;
&lt;br /&gt;
com.openexchange.client.onboarding.enabledScenarios&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
com.openexchange.client.onboarding.apple.iphone.scenarios=mailappinstall, driveappinstall, eassync, mailsync, davsync&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This exemplary setting specifies that Mail App, Drive App, EAS, Native Mail (IMAP/SMTP) and CalDAV/CardDAV are available in given order for iPhone devices.&lt;br /&gt;
&lt;br /&gt;
Once a scenario is made accessible through configuration it is visible to users trying to perform a client onboarding using one of associated devices. However, whether a user is effectively allowed to execute that scenario is determined by the required capabilities of the denoted providers; if not allowed it gets displayed as an upsell opportunity.&lt;br /&gt;
&lt;br /&gt;
=== Configuring actions ===&lt;br /&gt;
&lt;br /&gt;
The type for a scenario determines what actions are associated with it to &amp;amp;quot;&#039;&#039;transport&#039;&#039;&amp;amp;quot; the onboarding information to the client. The types &amp;amp;quot;manual&amp;amp;quot; and &amp;amp;quot;link&amp;amp;quot; only show static information like displaying a link. In contrast the type &amp;amp;quot;plist&amp;amp;quot; allows several actions to transport the configuration profile onto the client. Thereof&lt;br /&gt;
&lt;br /&gt;
* E-Mail&lt;br /&gt;
* SMS&lt;br /&gt;
&lt;br /&gt;
In order to utilize the &amp;amp;quot;E-Mail&amp;amp;quot; action, a special transport must be configured for system-composed E-Mails [http://oxpedia.org/wiki/index.php?title=AppSuite:Sharing_and_Guest_Mode#Share_Notifications &#039;&#039;as it is for using the sharing functionality&#039;&#039;]. This transport is configured in noreply.properties. All properties therein are config-cascade capable, so their values can be sensitive to the current user or context.&lt;br /&gt;
&lt;br /&gt;
Using the SMS action requires an according implementation being available. OX App Suite comes with an optional sipgate implementation. Please check [http://oxpedia.org/wiki/index.php?title=AppSuite:SMS_Sipgate &#039;&#039;this documentation&#039;&#039;] how to setup App Suite accordingly.&lt;br /&gt;
&lt;br /&gt;
==== Implementing your own SMS gateway ====&lt;br /&gt;
&lt;br /&gt;
To use an SMS gateway other than sipgate, you can provide your own implementation. Therefore the Java interface &amp;lt;code&amp;gt;com.openexchange.sms.SMSServiceSPI&amp;lt;/code&amp;gt; needs to be implemented and published as an OSGi service. For parsing phone numbers provided by users &amp;lt;code&amp;gt;com.openexchange.sms.PhoneNumberParserService&amp;lt;/code&amp;gt; can be used. That one is also available as an OSGi service and can be tracked accordingly. You can have a look at bundle &amp;lt;code&amp;gt;com.openexchange.sms.sipgate&amp;lt;/code&amp;gt; as implementation reference.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important:&#039;&#039;&#039; You must not install the &amp;lt;code&amp;gt;open-xchange-sms-sipgate&amp;lt;/code&amp;gt; package if you provide your own implementation.&lt;br /&gt;
&lt;br /&gt;
==== PLIST-signing ====&lt;br /&gt;
Scenarios of type &amp;amp;quot;plist&amp;amp;quot; require having PLIST-signing enabled. Otherwise the device will show a warning when importing a received PLIST configuration profile. Please follow the instructions as outlined in [http://oxpedia.org/wiki/index.php?title=AppSuite:PList_signing &#039;&#039;this article&#039;&#039;] how to enable and configure signing for PLIST files.&lt;br /&gt;
&lt;br /&gt;
== Adding custom scenarios ==&lt;br /&gt;
&lt;br /&gt;
The first thing to do, is to add an appropriate scenario configuration to the &#039;client-onboarding-scenarios.yml&#039; file; e.g.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
mygoogleapp:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;enabled: true&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;type: link&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;link:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;url: http://play.google.com/store/apps?id=mygoogleapp.invalid&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;type: playstore&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;image: http://my.fine.host/image001.png&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;providers: [app]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;alternatives: []&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;icon: fa-cloud&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;displayName_t10e: &amp;amp;quot;My App for synchronizing files&amp;amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;description_t10e: &amp;amp;quot;Synchronize your files with our Drive application.&amp;amp;quot;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The next step is to make that scenario accessible through adapting &#039;client-onboarding.properties&#039; file. Hence, the scenario identifier needs to be added to the devices, to which it applies (Android devices in this case):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
com.openexchange.client.onboarding.android.tablet.scenarios=..., mygoogleapp&amp;lt;br /&amp;gt;&lt;br /&gt;
com.openexchange.client.onboarding.android.phone.scenarios=..., mygoogleapp&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Furthermore, that scenario needs to be made accessible to users as well:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
com.openexchange.client.onboarding.enabledScenarios=..., mygoogleapp&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
At last, a .pot file is supposed to be generated from the translatable strings using /opt/open-xchange/sbin/parsei18nyaml command-line tool to yield the .po files for the individual languages.&lt;br /&gt;
&lt;br /&gt;
Provided that target users do hold appropriate capabilities, they are allowed to execute that scenario. In the example above the &amp;amp;quot;app&amp;amp;quot; provider is specified, which does no require any capabilities. Hence, that scenario is available.&lt;br /&gt;
&lt;br /&gt;
== HowTos ==&lt;br /&gt;
&lt;br /&gt;
=== How can I quickly setup a default/test configuration ? ===&lt;br /&gt;
&lt;br /&gt;
# Install open-xchange-client-onboarding package&lt;br /&gt;
# Edit &amp;lt;code&amp;gt;/opt/open-xchange/etc/client-onboarding.properties&amp;lt;/code&amp;gt; and set &amp;lt;code&amp;gt;com.openexchange.client.onboarding.enabled&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; &lt;br /&gt;
# Edit &amp;lt;code&amp;gt;noreply.properties&amp;lt;/code&amp;gt; to enable autoconfig sending via email. PS: Have a fully working smtp login available like “noreply@yourdomain.tld”&lt;br /&gt;
# Edit client-onboarding-scenarios.yml and set “enable” for : “driveappinstall” , “davsync” “davmanual” “mailsync” “mailmanual” to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; &lt;br /&gt;
# Now set the correct caldav/carddav server FQDNs in the corresponding files for your setup&lt;br /&gt;
#*&amp;lt;code&amp;gt;client-onboarding-caldav.properties&amp;lt;/code&amp;gt; &lt;br /&gt;
#*&amp;lt;code&amp;gt;client-onboarding-carddav.properties&amp;lt;/code&amp;gt;&lt;br /&gt;
# Restart OX process&lt;br /&gt;
# Login to AppSuite. Click on Settings - Connect your device&lt;br /&gt;
# Verify that you have following onboarding options available: &lt;br /&gt;
#* windows -&amp;gt; imap/smtp details&lt;br /&gt;
#* android/fon+tablet -&amp;gt; imap/smtp details&lt;br /&gt;
#* android/fon+tablet -&amp;gt; drive app &lt;br /&gt;
#* apple -&amp;gt; iphone -&amp;gt; imap/smtp config button&lt;br /&gt;
#* apple -&amp;gt; iphone -&amp;gt; imap/smtp details for experts&lt;br /&gt;
#* apple -&amp;gt; iphone -&amp;gt; calendar/addressbok -&amp;gt; config button&lt;br /&gt;
#* apple -&amp;gt; iphone -&amp;gt; calendar/addressbok -&amp;gt; details for dav setup&lt;br /&gt;
#* apple -&amp;gt; iphone -&amp;gt; drive app&lt;br /&gt;
#* apple -&amp;gt; ipad -&amp;gt; imap/smtp config send email&lt;br /&gt;
#* apple -&amp;gt; ipad -&amp;gt; imap/smtp config button&lt;br /&gt;
#* apple -&amp;gt; ipad -&amp;gt; imap/smtp details for experts&lt;br /&gt;
#* apple -&amp;gt; ipad -&amp;gt; calendar/addressbook config send email&lt;br /&gt;
#* apple -&amp;gt; ipad -&amp;gt; calendar/addressbook config button&lt;br /&gt;
#* apple -&amp;gt; ipad -&amp;gt; calendar/addressbook details for experts&lt;br /&gt;
#* apple -&amp;gt; ipad -&amp;gt; drive app&lt;br /&gt;
&lt;br /&gt;
=== How can I quickly disable a certain scenario ===&lt;br /&gt;
&lt;br /&gt;
Simply enter the &#039;client-onboarding-scenarios.yml&#039; file and go to the section specifying the target scenario. Switch the &#039;enabled&#039; flag to &amp;amp;quot;false&amp;amp;quot; and execute /opt/open-xchange/sbin/reloadconfiguration command-line tool.&lt;br /&gt;
&lt;br /&gt;
E.g. to disable the OX Drive App:&lt;br /&gt;
&lt;br /&gt;
[[File:onboarding_3.png]]&lt;br /&gt;
&lt;br /&gt;
=== How can I disable the outdated ui parts like &#039;Downloads&#039;? ===&lt;br /&gt;
&lt;br /&gt;
The wizard replaces and extends the functionality of the old Download Section in settings and the corresponding widgets. We recommend to disable these outdated parts:&lt;br /&gt;
# widget: get ox drive&lt;br /&gt;
# widget: update&lt;br /&gt;
# settings entry: downloads&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remove settings section &#039;Downloads&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Edit &#039;&#039;/opt/open-xchange/etc/settings/appsuite.properties&#039;&#039; and add or change the value to true:&lt;br /&gt;
* &#039;&#039;io.ox/core//settings/downloadsDisabled&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remove widgets&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To remove the both related portal widget/tiles please refer to the&lt;br /&gt;
[[AppSuite:Configuring_portal_plugins#Disabling_a_tile_completely | portal plugins wiki page ]]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;io.ox/portal/widget/oxdriveclients&#039;&#039;&lt;br /&gt;
* &#039;&#039;io.ox/portal/widget/updater&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== How can I add my own App? ===&lt;br /&gt;
&lt;br /&gt;
Provided that the App is accessible by a link (pointing to a commercial App Store or to a downloadable executable/installer), the generic &amp;amp;quot;app&amp;amp;quot; is the suitable provider to choose.&lt;br /&gt;
&lt;br /&gt;
Hence, an appropriate section is supposed to be added to the &#039;client-onboarding-scenarios.yml&#039; file having a unique name and &amp;amp;quot;provider&amp;amp;quot; attribute set to &amp;amp;quot;[app]&amp;amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
mygoogleapp:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;enabled: true&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;type: link&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;link:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;url: http://play.google.com/store/apps?id=mygoogleapp.invalid&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;type: playstore&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;image: http://my.fine.host/image001.png&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;providers: [app]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;alternatives: []&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;icon: fa-cloud&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;displayName_t10e: &amp;amp;quot;My App for synchronizing files&amp;amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;description_t10e: &amp;amp;quot;Synchronize your files with our Drive application.&amp;amp;quot;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
The attribute &amp;amp;quot;type&amp;amp;quot; needs to be set to &amp;amp;quot;link&amp;amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The attribute &amp;amp;quot;link&amp;amp;quot; should be configured with:&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;quot;url&amp;amp;quot; sub-attribute containing the actual link pointing to the URL location&lt;br /&gt;
* &amp;amp;quot;type&amp;amp;quot; sub-attribute specifying of what type that link is: either &amp;amp;quot;appstore&amp;amp;quot;, &amp;amp;quot;macappstore&amp;amp;quot;, &amp;amp;quot;playstore&amp;amp;quot; or &amp;amp;quot;common&amp;amp;quot;. The type &amp;amp;quot;common&amp;amp;quot; is supposed to be used for links that do not point to a commercial App Store, but to a downloadable executable/installer file.&lt;br /&gt;
* &amp;amp;quot;image&amp;amp;quot; sub-attribute containing the link pointing to the App&#039;s image. Supported with v7.8.4&lt;br /&gt;
&lt;br /&gt;
The &amp;amp;quot;icon&amp;amp;quot; attribute is supposed to contain a comma-separated list of Font Awesome icons (only the ones from v4.4.0 are currently supported) that represent the App; e.g.&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;quot;fa-cloud&amp;amp;quot; for Drive/file-related nature&lt;br /&gt;
* &amp;amp;quot;fa-calendar, fa-users&amp;amp;quot; for Calendar and Address Book synchronization&lt;br /&gt;
* &amp;amp;quot;fa-envelope-o&amp;amp;quot; for Mail nature&lt;br /&gt;
&lt;br /&gt;
Next, the translatable display name and description should be set through setting the attributes &amp;amp;quot;displayName_t10e&amp;amp;quot; and &amp;amp;quot;description_t10e&amp;amp;quot;. As described previously, executing the /opt/open-xchange/sbin/parsei18nyaml command-line tool yields an appropriate .pot file, which can then be used for generating the individual .po file for the different translations.&lt;br /&gt;
&lt;br /&gt;
Finally, the &#039;client-onboarding.properties&#039; file needs to be modified to specify the &amp;amp;quot;scope&amp;amp;quot; for that new scenario. Add the scenario’s unique name to the appropriate device properties and add it to &amp;amp;quot;com.openexchange.client.onboarding.enabledScenarios&amp;amp;quot; property as well.&lt;br /&gt;
&lt;br /&gt;
After executing /opt/open-xchange/sbin/reloadconfiguration command-line tool the new client onboarding scenario is available for the selected users/devices.&lt;br /&gt;
&lt;br /&gt;
=== How can I upsell my own app? ===&lt;br /&gt;
&lt;br /&gt;
Having the same prerequisites/steps as for &amp;amp;quot;How can I add my own App?&amp;amp;quot; the scenario description in the &#039;client-onboarding-scenarios.yml&#039; file simply needs to be extended by the desired capabilities, which are supposed to be used for managing the upsell.&lt;br /&gt;
&lt;br /&gt;
Example&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
mygoogleapp:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;enabled: true&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;type: link&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;link:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;url: http://play.google.com/store/apps?id=mygoogleapp.invalid&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;type: playstore&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&#039;&#039;&#039;capabilities: &amp;amp;quot;mygoogleapp_capability&amp;amp;quot;&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;providers: [app]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;alternatives: []&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;icon: fa-cloud&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;displayName_t10e: &amp;amp;quot;My App for synchronizing files&amp;amp;quot;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;description_t10e: &amp;amp;quot;Synchronize your files with our Drive application.&amp;amp;quot;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
The special &amp;amp;quot;capabilities&amp;amp;quot; attribute is only supported for scenarios of type &amp;amp;quot;link&amp;amp;quot; with the special &amp;amp;quot;app&amp;amp;quot; provider.&lt;br /&gt;
&lt;br /&gt;
With such a &amp;amp;quot;capabilities&amp;amp;quot; attribute only users, which have the &amp;amp;quot;mygoogleapp_capability&amp;amp;quot; capability are allowed to get the link. For those who don’t, the upsell opportunity will be displayed; e.g.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;[[File:onboarding_4.png]]&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;/div&gt;</summary>
		<author><name>Daniel.dickhaus</name></author>
	</entry>
</feed>