Triggers deprecated

Available Upsell triggers

This sections lists the built in triggers provided by the core extension points and how they can be configured. Capabilities marked with "static" can not be configured with the "requires" attribute. Anything that needs to be customized beyond this config needs custom code that replaces/resets the core extension points.

ID Configurable properties Capabilities Shown on mobile Description
quick-launchers none no Part of quick launch icon of an app.
app-launcher none yes Part of an app icon within app launcher dropdown menu.
upgrade-button enabled default: active_sync or caldav or carddav no Former "secondary launcher" An "Upgrade Button" is shown in the topbar next to the search field
topbar-dropdown enabled default: active_sync or caldav or carddav yes Part of main toolbar's dropdown as first entry.

Note: In case you want to add quick launcher entries for promoted apps please take a look at the following settings section

Folder view

General

ID Configurable properties Capabilities Shown on mobile Description
mail-folderview-quota enabled, upsellLimit active_sync or caldav or carddav yes Located below the folder view without an icon by default. You can set the upsell limit in Bytes. If the maximum mail quota is larger than upsell limit, the trigger will not be shown.
folderview/mail enabled, icon, color, title active_sync yes Located below the folder view of the mail app/module.
folderview/contacts enabled, icon, color, title carddav yes Located below the folder view of the addressbook app/module.
folderview/calendar enabled, icon, color, title caldav yes Located below the folder view of the calendar app/module.

Premium Features/Area

Note: These upsell trigger are placed inside the premium area at the bottom of the folder view. These upsell trigger are only shown if the premium area is enabled. You can enable it by setting io.ox/core//upsell/premium/folderView/visible=true If the user has closed the premium area once, it will not be shown again. This is stored at io.ox/core//upsell/premium/folderView/closedByUser

ID Configurable properties Capabilities On mobile Description
folderview/mail/bottom enabled, color, title active_sync (static) shown Default text 'Try now' and has no icon by default.
folderview/contacts/bottom enabled, color, title carddav (static) shown Default text 'Try now' and has no icon by default.
folderview/calendar/bottom enabled, color, title caldav (static) shown Default text 'Try now' and has no icon by default.
folderview/infostore/bottom enabled, color, title boxcom or google or msliveconnect (static) shown Default text 'Try now' and has no icon by default.

Misc

ID Configurable properties Capabilities On mobile Description
client.onboarding enabled, icon, color shown Part of "Connect your device" wizard
portal-widget enabled, icon, imageURL, removable active_sync caldav carddav shown A draggable portal widget. You can add a background image with 'imageURL'. If no image is used, the widget displays the text centered with a customizable space separated list of font-awesome icons.

Visibility of triggers

Todo: Text der kurz erklärt enabled vs caps

You can enable upsell for those capabilities inside an existing or new file .properties with

io.ox/core//upsell/enabled/active_sync=true
io.ox/core//upsell/enabled/caldav=true
io.ox/core//upsell/enabled/carddav=true

Note: You have to restart the server so that the changes take place.

Listening to Upsell events

If the user clicks on a certain upsell trigger, e.g. OX Drive in the launcher, an event is triggerd on the ox object. javascript upsell:requires-upgrade To register for those events and consume the payload you can do something like ```javascript import { default: ox } from './ox.js' ... ox.on('upsell:requires-upgrade' (data) => { // data is an object like // { // id: "io.ox/files", // missing: "infostore", // type: "app" // }

// pass the data to your upsell handling code // e.g. show a modal dialog that takes the user // to the customer center where he can purchase the // upgrade/feature openCustomCheckoutPage(data) }) ```

Visibility based on capabilities

If you want certain upsell trigger to appear on different capabilities, you can configure this inside the .properties file.

Therefore, you have to configure the required field with a logical expression of capabilities for the trigger. If the actual capabilities does not satisfy the expression and the upsell capabilites satisfies the expression, the upsell trigger will be drawn.

See the following example which requires eas and caldav or not carddav:

io.ox/core//features/upsell/$id/requires="active_sync && (caldav || !carddav)"

Disable individual trigger

If you want to disable a custom trigger, you can add the following to the .properties file:

io.ox/core//features/upsell/$id/enabled=false

Customize appearance/strings

Change default icon

All custom triggers have a 'bi-stars' as default icon. You can change the default icon to any font-awesome icon or a set of space separated icons.

io.ox/core//upsell/defaultIcon="bi/stars.svg"

Change single icon

You can replace the icon of individual trigger with

io.ox/core//features/upsell/$id/icon="bi/stars.svg"

where '$id' is the id of the upsell trigger.

Change color for individual trigger

You can change the color of some upsell trigger with

io.ox/core//features/upsell/$id/color="#f00"

where '$id' is the id of the upsell trigger and the color can be any css color.

Change text

Some of the custom triggers use a title (or other strings) which a hoster could customize. You can provide your own text via

io.ox/core//features/upsell/$id/i18n/$lang/title="A custom title"

where '$lang' is the current language identifier (e.g. "en_US").

Note: It is important, that several translations are provided.

You can see the current language identifier when you open the webconsole and type

ox.language

Feature toggles for upsell

OX App Suite UI offers different feature toggles. These toggles control the appearance of different features in the UI. Find more details about upsell feature toggles under Settings list