Triggers deprecated

Upsell triggers

This sections lists available Upsell triggers

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.

Folder view

ID Configurable properties Capabilities Shown on mobile Description
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.

Quota Widget

Quota widgets appear in the mail folder view (below mail folder tree), the drive folder view, and the storage portal widget. All three support upsell. Settings are identical for mail-folderview-quota and drive-folderview-quota.

Configurable properties Default Description
countThreshold 90 Threshold in percent to shown count-specific warning
countWarning "There is an additional limit of %1$d emails. You have already reached %2$d%." %1$d is number of emails, %2$d is the count-specific usage in percent (translated)
description "%1$d% used, %2$s remaining." %1$d is usage in percent, %2$s is remaining storage, e.g. "2 GB"
enabled true Enabled for upsell
title "Mail storage" or "File storage" Title is shown above the (progress) bar (translated)
upsellActionTitle "Upgrade" Call to action text (translated)
upsellActionType "button" Show CTA as button or link
upsellCondition "" Optional upsell trigger condition
upsellLimit -1 Limit in bytes. -1 implies unlimited. If the maximum mail quota is larger or equal than the given limit, the trigger will not be shown.
upsellMessage1 "Unlock extra storage with an upgrade!" Optional upsell message (while usage is < upsellThreshold1) text
upsellMessage2 "Your inbox is getting full. Unlock extra storage with an upgrade!" Optional alternative text (depends on threshold; translated)
upsellThreshold1 0 Threshold for first message (in percent)
upsellThreshold2 80 Threshold for second message (in percent)

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.

Configuration path

From version 8.40 on, all upsell triggers can be configured under upsell/triggers in the io.ox/core namespace:

io.ox/core//upsell/triggers/$id/...

Please note that the former location io.ox/core//features/upsell is still working, but we recommend to adjust your configuration to use the new location. The old location might get deprecated with future versions of App Suite.

Disable individual trigger

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

io.ox/core//upsell/triggers/$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 icon from the Bootstrap icons.

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

Change single icon

You can replace the icon of individual trigger with

io.ox/core//upsell/triggers/$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//upsell/triggers/$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//upsell/triggers/$id/i18n/$language/title="A custom title"

where $language is the current locale, e.g. en_US, or the current language, e.g. en. Quite often, the locale is too specific and configuring per language is sufficient.