Introduction
This page shows a list of useful config option to customize App Suite UI. We recommend to read the main article on how to configure App Suite UI first.
Namespaces
Settings are logically divided via namespaces for each module. The namespace itself is divided by a double slash //
from the setting's name when written down to a config file. Ensure to always use the double slash in your settings string, otherwise this will lead to errors and your setting will not work.
For example io.ox/core//someSetting
or io.ox/mail//anotherMailSetting
.
In this case we have two different namespaces, io.ox/core
and io.ox/mail
. The setting someSetting
only exists in the core namespace, anotherMailSetting
only in mail accordingly.
Data types
Ensure to always use the expected data type for a setting. This table lists some examples when they are set in a 'settings property file' (sometimes referenced as 'ui property file').
Data type | Example |
<bool> | io.ox/core//features/dedicatedLogoutButton=true |
<string> | io.ox/core//features/windowHeaderPosition="top" |
<number> | io.ox/core//apps/quickLaunchCount=5 |
<array> | io.ox/tasks//currencies=["CAD","CHF","EUR"] |
Feature toggles
App Suite UI offers different feature toggles. These toggles control the appearance (or flavor) of different features in the UI.
Beginning with App Suite 8.7 feature toggles are collected in the settings features
in the core namespace.
Some toggles require switchboard to be configured, this means switchboard
capability and a valid url in io.ox/switchboard//host
io.ox/core//features/attachFromDrive=<bool>
Add attachments from drive to pim objects (appointments, tasks or contacts) Default is true
. Requirements: infostore
capability and Middleware version 8.8 or higher.
io.ox/core//features/categories=<bool>
Enables/disables the categories feature. Default is false
.
io.ox/core//features/countdown=<bool>
Show a countdown popup for upcoming meetings. Default is true
. Requirements: calendar
capability. Not supported on smartphones.
io.ox/core//features/dedicatedLogoutButton=<bool>
Show a logout button at the topbar. Default is false
.
io.ox/core//features/dragDropICA=<bool>
Allow import of iCal files (*.ics, *.ical) via drag and drop to the currently selected calendar. Default is true
.
io.ox/core//features/enterprisePicker/enabled=<bool>
Replaces the default contact picker with the enterprise contact picker. Default is false
io.ox/core//features/firstStartWizard=<bool>
Enable first start wizard. Default is true
.
io.ox/core//features/folderIcons=<bool>
Show icons in the folder tree next to folder labels. Default is false
.
io.ox/core//features/freeBusyVisibility=<bool>
Configure if others can see your freeBusy information in the calendar planning view. Default is true
. Requirements: Middleware version 8.14 or higher.
io.ox/core//features/implicitCancel=<bool>
Show information if all participants of an appointment declined. Default is true
. Requirements: calendar
capability.
io.ox/core//features/jitsi=<bool>
Enable integration of Jitsi meetings in calendar and address book. Default is true
. Requirements: io.ox/jitsi//enabled=true
and io.ox/jitsi//host
io.ox/core//features/logoutButtonHint=<bool>
Shows a reminder tooltip if the user has not logged during the last page visit. Default is false
.
io.ox/core//features/managedResources=<bool>
Allow adding resource delegates to manage resource availability. Default is true
. Requirements: Middleware version 8.13 or higher.
io.ox/core//features/navigation=<bool>
Enables/disables support for browser back/forward buttons. Default is true
.
io.ox/core//features/openai=<bool>
Turn on AI integration based on ChatGPT from OpenAI©. Default is false
. Requirements: openai
capability and switchboard
io.ox/core//features/presence=<bool>
Show online status of users. Default is false
. Requirements: switchboard
io.ox/core//features/pwaInstructionsWizard=<bool>
Enable wizard for PWA installation instructions. Default is true
.
io.ox/core//features/qrSessionHandover=<bool>
Enable QR code login for cross-device authentication. Default is true
. Requirements: enabled feature pwaInstructionsWizard
; middleware must have a minimum version of 8.29; middleware must be configured with one application named qrlogin
defined in com.openexchange.tokenlogin.applications
with com.openexchange.tokenlogin.qrlogin.announceId
set to true
; if SSO solutions are used, they should support reuse of tokens and com.openexchange.tokenlogin.qrlogin.copyParameters
must be set to true
io.ox/core//features/reloginPopup=<bool>
Show a modal dialog to enable an inline re-login without showing the login page. Default is true
(for non-oidc and non-saml environments)
io.ox/core//features/resourceCalendars=<bool>
Enable/disable resource calendars and resource calendar groups. Default is false
.
io.ox/core//features/scheduleSend='' Allow schedule the dispatch of emails. Default false
. Requirements: webmail
capability and middleware config option com.openexchange.mail.scheduled.enabled
.
io.ox/core//features/storeSavePoints=<bool>
Enable/disable restorepoints for edit dialogs. Default is true
.
io.ox/core//features/templates=<bool>
Add text templates to mails and manage them via settings pane. Default is false
.
io.ox/core//features/undo=<bool>
Enables/disables the undo feature. Default is true
.
io.ox/core//features/undoSend=<bool>
Enables/disables the undo send feature. Default is true
.
io.ox/core//features/validateMailAddresses=<bool>
Enable validation for email addresses in contacts edit dialog. Default is true
.
io.ox/core//features/validatePhoneNumbers=<bool>
Enable validation for phone numbers. Default is false
.
io.ox/core//features/zoom=<bool>
Enable integration of Zoom meetings in calendar and address book. Default is true
. Requirements: io.ox/zoom//enabled=true and presence feature
PDF Preconversion
io.ox/core//pdf/enablePreconversionOnUpload=<bool>
Enable/disable PDF preconversion of office documents on file upload and when a new file version is added. Default is true
.
io.ox/core//pdf/enablePreconversionOnMailFetch=<bool>
Enable/disable PDF preconversion of office documents for mail attachments. Default is true
.
io.ox/core//pdf/enableRangeRequests=<bool>
Enable/disable range requests support to fetch PDF rendering data in chunks. Default is true
.
Topbar / Apps
io.ox/core//apps/quickLaunch=<string>
Default Apps for quick launcher. Comma-separated string of App IDs Default: 'io.ox/mail,io.ox/calendar,io.ox/files'
io.ox/core//apps/quickLaunchCount=<number>
How many quick launch icons should appear in the Topbar by default (default: 3
)
io.ox/core//logoFileName=<string>
Change the default file name for the logo in the topbar. Default (logo.png
)
io.ox/core//logoAction=<string>
Change the action when clicking on the topbar logo. Either a URI to open in a new tab or an App ID. I.e. https://sample.com
or io.ox/mail/main
. Default is unset.
Notifications
io.ox/core//showDesktopNotifications=<bool>
Show native desktop notifications. Default true
. Important: Depends also on browser settings.
Feedback dialog
io.ox/core//feedback/show=<string>
Show one or more feedback buttons. Default value is both
which shows a dropdown entry in the settings menu and a button in the main content window (topbar/side/both).
io.ox/core//feedback/supportlink=<string>
Hyperlink to a support site referenced in the feedback dialog. Default is unset.
io.ox/core//feedback/position=<string>
Set position of the feedback button. Default value is right
. (left|right
).
io.ox/core//feedback/showHover=<bool>
Show rating string on mouse hover in feedback dialog. Default true
.
io.ox/core//feedback/showModuleSelect=<bool>
Defines if the feedback dialog is aware of it's current App and the rating is based on this. If set to "true" every App can be rated regardless which App is currently running. Default true
.
io.ox/core//feedback/maxFeedbacks=<number>
maximum number of feedbacks that are allowed in one timeframe (works with relative and absolute dates)
Default: 1
if io.ox/core//feedback/timeLimit is set else undefined
(i.e. unlimited)
io.ox/core//feedback/timeLimit=<string>
Can be relative or absolute ISO strings to define a time, e.g. “2020-01-21” or “3M” (meaning within 3 months). See momentjs parsing documentation for details.
Default: false
Mail compose: tinyMCE text editor
io.ox/core//maxUploadIdleTimeout=<number>
200000 Timeout in milliseconds for contenteditable-editor in milliseconds when adding inline images. Default is 200000
.
io.ox/core//tinyMCE/theme_advanced_buttons1=<string>
List of tinyMCE toolbar actions separated by space - targets toolbar1
Default: '*undo *redo | bold italic underline | bullist numlist outdent indent'
io.ox/core//tinyMCE/theme_advanced_buttons2=<string>
List of tinyMCE toolbar actions separated by space - targets toolbar2) Default: empty
io.ox/core//tinyMCE/theme_advanced_buttons3=<string>
List of tinyMCE toolbar actions separated by space - targets toolbar3 Default: empty
io.ox/core//tinyMCE/font_format=<string>
List of availabe fonts (also used for settings pane). Default:
"System=-apple-system,BlinkMacSystemFont,helvetica,sans-serif;Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats"
Upsell
io.ox/core//upsell/activated=<bool>
Enable or disable Upsell globally. Default: false
io.ox/core//upsell/enabled=<bool>
List of capabilities that are available for upsell.
io.ox/core//upsell/defaultIcon=<string>
Default icon used for upsell 'decoration'.
io.ox/core//upsell/premium/folderView/visible=<bool>
Show premium link in folder tree.
io.ox/core//upsell/premium/folderView/closedByUser=<bool>
Is the user allowed to hide the premium link permanently.
io.ox/core//features/upsell/[feature-id]/enabled=<bool>
Upsell enabled for feature.
io.ox/core//features/upsell/[feature-id]/color=<string>
Customize upsell 'decoration' appearance.
io.ox/core//features/upsell/[custom-id]/icon=<string>
Customize upsell 'decoration' appearance.
Password
If the capability 'edit_password'
is set, a user can change his own password in App Suite UI.
io.ox/core//password/showStrength=<bool>
Show password strength
io.ox/core//password/minLength=<number>
Passwort minimum length
io.ox/core//password/maxLength=<number>
Password max length
io.ox/core//password/regexp=<string>
Check new password against a regular expression (i.e. "is there at least one upper case letter")
io.ox/core//password/special=<string>
Required special characters for new passwords
Client Onboarding
io.ox/core//features/clientOnboardingHint/enabled=<bool>
Enables a hint on mobiles to inform about the onboarding Wizard (true/false)
io.ox/core//features/clientOnboardingHint/remaining=<number>
Number of times hint is being shown. The protection of this setting needs to be disabled in any case.
Core: Misc
io.ox/core//features/windowHeaderPosition=<string>
Placement of buttons in new/edit dialogs. Default is 'bottom' ('top', 'bottom'
)
io.ox/core//disabledExtensions=<array>
Comma-separated list where each entry consists of an extension point id followed by a colon and then the corresponding extension id. Disable one or more extensions. Default is []
;
For example: ['io.ox/secondary:add-mail-account','io.ox/secondary:all-attachments']
io.ox/core//disabledSettingsPanes=<string>
Comma-separated list of extension point ids of io.ox/settings/pane. Disable one or more settings panes and it's subgroup extension points (easily identifiable as "&folder=virtual/settings/" in address bar). Default is unset
;
io.ox/core//autoLogout=<number>
Timeout (in ms) until a user is logged out automatically if inactive
io.ox/core//autoStart=<string>
First App to start after login, Default: io.ox/mail
io.ox/core//autoStartMobile=<string>
First App to start after login on mobile devices. Default: io.ox/mail
io.ox/core//groups/limit=<number>
Fetch limit for groups plugin when requesting details of members. Default 1000
io.ox/core//selectionMode=<string>
Specifies behavior when selecting items in mail listview. Default: normal
('normal'|'alternative'|'simple')
io.ox/core//properties/contactImageMaxWidth=<number>
Maximum target image width when croping contact/user images in pixels (default: 500
).
io.ox/core//refreshInterval=<number>
Automatic UI refresh interval in milliseconds. Default is 300000
(5 minutes).
io.ox/core//settings/downloadsDisabled=<bool>
Enables/disables download pane for additional software components in settings. Default false
.
io.ox/core//theme=<string>
Current user theme. Default is default
io.ox/core//theming/customIcons=<json>
Map of icons that will be loaded instead of core icons. Provided icons must be same served from the same domain, must be SVG files, and conform to bootstrap icons in size, viewBox and fill to ensure proper theming support. customIcons
maps icon names (as used in bootstrap) to full relative paths.
This config also applies for illustrations and other SVG images used in the UI.
For example: { 'bi/cloud.svg': 'someAssetContainer/icons/other-cloud-icon.svg' }
io.ox/core//categories/default=<array>
List of category objects with name, icon and color. Initial set of categories for users without any custom user categories so far.
For example: [ { name: 'Important', color: '#ff2968', icon: 'bi/exclamation-circle.svg' } ]
io.ox/core//categories/predefined=<array>
List of category objects with id, name, icon and color. These cannot be changed or deleted by the user. The default set consists of four categories: Important, Business, Private, and Meeting. Shared mails are currently limited to predefined categories.
For example: [ { id: '$ct_predefined_0001', name: 'Important', color: '#ff2968', icon: 'bi/exclamation-circle.svg' } ]
io.ox/core//categories/userCategories=<array>
Contains all categories a user has access too. On first start, when empty, it gets filled with default categories defined by io.ox/core//categories/default
. These categories can get changed or deleted by the user. Default is an empty list.
Onboarding
To disable or enable different apps for client onboarding, the onboarding wizard checks enabled capabilities. The corresponding capabilities for the different apps are:
- Mail App:
webmail mobile_mail_app
- Drive App:
infostore drive
- Calendar/ CalDav:
calendar caldav
- Address Book/ CardDav:
contacts carddav
- Exchange Active Sync:
active_sync
io.ox/core//onboardingWizard=<bool>
Enabled new onboarding wizard and disables the old one
io.ox/onboarding//hidden/apps=<array>
Hide specific apps ([mailapp|mailsync|drive|driveapp|addressbook|calendar|eassync|syncapp]). Defaults to ['syncapp']
io.ox/onboarding//productNames/mail=<string>
Name of the webmail product. Defaults to OX Mail
io.ox/onboarding//productNames/drive=<string>
Name of the drive product. Defaults to OX Drive
io.ox/onboarding//android/storeIcon=<string>
Path to Google Play Store icon
io.ox/onboarding//android/mailapp/url=<string>
Link to mail app in Google Play Store
io.ox/onboarding//android/mailapp/icon=<string>
Path to mail app icon for Android
io.ox/onboarding//android/driveapp/url=<string>
Link to drive app in Google Play Store
io.ox/onboarding//android/driveapp/icon=<string>
Path to drive app icon for Android
io.ox/onboarding//ios/storeIcon=<string>
Path to iOS App Store icon
io.ox/onboarding//ios/mailapp/url=<string>
Link to mail app in iOS App Store
io.ox/onboarding//ios/mailapp/icon=<string>
Path to mail app icon for iOS
io.ox/onboarding//ios/driveapp/url=<string>
Link to drive app in iOS App Store
io.ox/onboarding//ios/driveapp/icon=<string>
Path to drive app icon for iOS
io.ox/onboarding//macos/storeIcon=<string>
Path to Mac App Store icon
io.ox/onboarding//macos/driveapp/url=<string>
Link to drive app in Mac App Store
io.ox/onboarding//macos/driveapp/icon=<string>
Path to drive app icon for MacOS
io.ox/onboarding//windows/driveapp/url=<string>
Link to installation file of drive client for Windows
io.ox/core//undoPeriod=<number>
Time in ms to undo last (undoable) action Default is 60000
.
Portal
Please read http://oxpedia.org/wiki/index.php?title=AppSuite:Configuring_portal_plugins for detailed information and expamples how to customize the App Suite UI Portal and pre configure widgets for users.
io.ox/portal//settings/getStartedLink=<string>
Target of 'get started' labled link in 'getting started' widget
io.ox/portal//widgets/user/[widgetid]/color=<string>
Color of title and highlighting within widget preview/content
io.ox/portal//widgets/user/[widgetid]/enabled=<bool>
Enabled state
io.ox/portal//widgets/user/[widgetid]/index=<string>
Specifies order of widgets. I.e. first
or numeric value
io.ox/portal//widgets/user/[widgetid]/inverse=<bool>
Use color for background instead of title
io.ox/portal//widgets/user/[widgetid]/plugin=<string>
Reference to tht plugin id/path. I.e "plugins/portal/birthdays/register"
io.ox/portal//widgets/user/[widgetid]/props=<string>
Additional data like custom description or related configuration
io.ox/portal//widgets/user/[widgetid]/type=<string>
Widget type like rss
or stickyfile
Portal: Misc
io.ox/portal//mobile/summaryView=<bool>
User setting, show only a small summary view of each widget on smartphones
Mail
io.ox/mail//allowHtmlImages=<bool>
Allow pre-loading of externally linked images.
io.ox/mail//allowHtmlMessages=<bool>
Allow HTML formatted emails.
io.ox/mail//displayEmoticons=<bool>
Display emoticons as graphics in text emails.
io.ox/mail//isColorQuoted=<bool>
Colored quotes in emails.
io.ox/mail//useFixedWidthFont=<bool>
Use fixed-width font for text emails.
io.ox/mail//beautifyPlainText=<bool>
Prettify plain text emails.
io.ox/mail//sendDispositionNotification=<bool>
Show requests for read receipts.
DEPRECATED: Setting autoselectMailOnStart
is deprecated, pending removal with 8.34. Please use autoSelectNewestSeenMessage
instead. io.ox/mail//autoselectMailOnStart=<bool>
Automatically select first read mail on mail app start. (Default false
) Note: autoselectMailOnStart
is the old setting, use autoSelectNewestSeenMessage
instead.
io.ox/mail//autoSelectNewestSeenMessage=<bool>
Automatically select first read mail on mail app start. (Default true
)
io.ox/mail//features/textPreview=<bool>
Fetch mail teaser texts if available, only supported by Dovecot for primary accounts. Also needs MW config. (Default true
)
io.ox/mail//features/resolveGroups=<bool>
If enabled, the user will also be able to select a group in the typeahead of mail compose. Requires the group feature to be enabled. (Default true
)
User Preferences:
io.ox/mail//removeDeletedPermanently=<bool>
Permanently remove deleted emails instead of moving them to the trash folder first (true|false
)
io.ox/mail//contactCollectOnMailTransport=<bool>
Automatically collect contacts in the folder "Collected addresses" while sending - depends on capability 'collect_email_addresses'
(true|false
)
io.ox/mail//contactCollectOnMailAccess=<bool>
Automatically collect contacts in the folder "Collected addresses" while reading - depends on capability 'collect_email_addresses'
(true|false
)
io.ox/mail//features/registerProtocolHandler=<bool>
Ask for mailto link registration (true|false
)
io.ox/mail//features/trusted/user=<string>
User-defined, comma-separated list of mail addresses or specific domains which will be whitlisted for loading external images in HTML mails.
io.ox/mail//features/trusted/admin=<string>
Admin-defined, comma-separated list of mail addresses or specific domains which will be whitlisted for loading external images in HTML mails. I.e. useful for customer care email addresses or domains.
io.ox/mail//unseenMessagesFolder=<bool>
Show folder with all unseen messages (true|false
)
io.ox/mail//playSound=<bool>
Play sound on incoming push email - depends on capability 'websocket'
otherwise the option will not be shown.
io.ox/mail//notificationSoundName=<string>
Default sound to play on incoming push mail. Default bell
, can be one of bell, marimba, wood, chimes
Compose: General
io.ox/mail//appendVcard=<bool>
Append vCard to email.
io.ox/mail//appendMailTextOnReply=<bool>
Insert the original email text to a reply.
io.ox/mail//confirmReplyToMailingLists=<bool>
Confirm recipients when replying to a mailing list. Useful to avoid flooding mailing lists with unwanted replies to the list.
io.ox/mail//forwardMessageAs=<string>
Value Inline
(default) or Attachment
.
io.ox/mail//messageFormat=<string>
Value html
(default), text
or alternative
.
io.ox/mail//defaultSendAddress=<string>
Default sender address from available accounts. Default not set.
io.ox/mail//autoSaveAfter=<number>
Interval to update composition space during compose in milliseconds. Default: 15000
(15 seconds)
io.ox/mail//autobcc=<bool>
Always add the following recipient to BCC.
io.ox/mail//defaultFontStyle/family=<string>
Value browser-default
, Andale Mono
or one of io.ox/core//tinyMCE/font_format
. Desktop only.
io.ox/mail//defaultFontStyle/size=<string>
Value browser-default
or i.e. 8pt
. Desktop only.
io.ox/mail//defaultFontStyle/color=<string>
Default font color as CSS color string. I.e. #334455
io.ox/mail//maxSize/compose=<number>
Max size of returned characters for mail reply/forward in bytes (API parameter) Default: 524288
(512 kB)
io.ox/mail//maxSize/view=<number>
Max size of returned characters for mail viewing in bytes. Default: 102400
(100 kB)
Compose: Attachments
io.ox/mail//compose/shareAttachments/threshold=<number>
Max combined attachment size in byte. Default: 0
(unlimited)
io.ox/mail//features/instantAttachmentUpload=<bool>
Feature toggle to enable/disable instant attachment upload. Default is true
Compose: Image resize
io.ox/mail//features/imageResize/enabled=<bool>
Feature toggle to enable resizing of images
io.ox/mail//features/imageResize/default=<string>
Feature toggle to enable resizing of images (default 320
)
io.ox/mail//features/imageResize/small=<number>
Size of the target image (longest edge) for a small image as integer (default 320
)
io.ox/mail//features/imageResize/medium=<number>
Size of the target image (longest edge) for a medium image as integer (default 640
)
io.ox/mail//features/imageResize/large=<number>
Size of the target image (longest edge) for a large image as integer (default 1280
)
io.ox/mail//features/imageResize/quality=<number>
Quality for the compression while resizing as float (default 0.75
)
io.ox/mail//features/imageResize/imageSizeThreshold=<number>
Threshold for the size in pixel of the longest edge after which a resize is recommended as integer (default 1024
)
io.ox/mail//features/imageResize/fileSizeMax=<number>
Maximum size in bytes that will be resized as integer, if one image exceeds this threshold the resize dropdown will not be displayed (default 10485760
)
io.ox/mail//features/unseenFolder=<bool>
Feature toggle to enable/disable the unread folder
io.ox/mail//features/flagging/virtualFolder=<bool>
Feature toggle to enable/disable the flagged folder
Signatures
io.ox/mail//defaultSignature=<number>
ID of default signature. Signatures are stored as Snippets on MW (DB)
io.ox/mail//defaultReplyForwardSignature=<number>
ID of default forward and reply signature. Fallback is value of 'defaultSignature'
io.ox/mail//defaultSignaturePosition=<string>
value is above
or below
(default below
)
io.ox/mail//mobileSignatureType=<string>
Value is custom
or none
. If custom
is set, signature from io.ox/mail//mobileSignature
is taken.
io.ox/mail//mobileSignature=<string>
Mobile signature as plain text string.
io.ox/mail//compose/signatureLimit=<number>
Number of signatures listed in options dropdown of mail compose (default 2).
Mail: Misc
io.ox/mail//attachOriginalMessage=<bool>
Attach original message on touch devices
io.ox/mail//editRealName=<bool>
Defines if the user can edit the display name part of his email address, aka. real name. Default true
io.ox/mail//features/accounts/configureUnifiedInboxOnCreate=<bool>
Allow enabling unified inbox for an account at the "Add Mail account" dialog
io.ox/mail//features/authenticity=<bool>
Enables the authenticity feature. Please note that com.openexchange.mail.authenticity.enabled
on MW has to be turned on as well. (default: false)
io.ox/mail//features/autoCollapseBlockquotes=<bool>
If enabled, blockquotes larger than 300 chars will be collapsed.
io.ox/mail//features/cleanSubjects=<bool>
Remove clutter from subjects like AW:
or RE:
io.ox/mail//features/flagging/mode=<string>
Specify the flagging mode that, when supported by the middleware, will be available for use. Possible values: color
, star
and none
. Default color
io.ox/mail//features/notifyOnSent=<bool>
Show an infopopup after mail was send successfully. Default false
io.ox/mail//features/prefetchOnBoot='' Prefetch the first chunk of mail data (action=all) already on App Suite boot. Only disable this if you want to customize mail columns later on. Default true
io.ox/mail//features/usePrimaryAccountNameInTree=<bool>
Use the primary account name as label for the folder tree root node of non standard folders. If set to false the the String 'My Folders' will be used. Default true
io.ox/mail//listview/primaryPageSize=<number>
Initial size of mail list until pagination will start. Default 50
io.ox/mail//listview/secondaryPageSize=<bool>
Sets how many mails will loaded on each paginate call. Default 200
io.ox/mail//prefetch/count=<bool>
Prefetch N mails on Mail App startup. Default 5
io.ox/mail//prefetch/next=<bool>
Prefetch next mail in line during list traversing via cursor or selection. Default true
io.ox/mail//transform/multipleEmptyLines=<bool>
reduce multiple empty lines in plain text mails to a maximum of 2 (detail view, compose: html-to-text). Default true
General
io.ox/contacts//showAdmin=<bool>
Show context admin in addressbook. Default false
io.ox/contacts//startInGlobalAddressbook=<bool>
Start in global addressbook when Contacts App is launched. Default true
io.ox/contacts//mapService=<string>
External map service to locate addresses. One of google
(Google Maps, default), osm
(Open Street Map) or apple
(Apple Maps, only works on iOS and MacOS)
io.ox/contacts//toolbar/limits/fetch=<number>
Fetch limit when selecting multiple contacts. A number of selected contacts beyond this limit might led to unavailable toolbar actions. Default 100
Addressbook picker
io.ox/contacts//picker/limits/departments=<number>
Maximum departments to show. Default 100
io.ox/contacts//picker/limits/fetch=<number>
Maximum number of contacts to fetch. Default 10000
io.ox/contacts//picker/limits/list=<number>
Max elements shown in the list before first paginate. Default 100
io.ox/contacts//picker/limits/more=<number>
Elements for addition loading on each subsequent paginate call. Default 100
io.ox/contacts//picker/limits/search=<number>
Maximum search results. Default 50
Enterprise Addressbook picker
This settings are used when the addressbook feature toggle (io.ox/core//features/enterprisePicker/enabled) is set to true.
io.ox/core//features/enterprisePicker/showLauncher=<bool>
Show the picker in the launcher dropdown and add it to quicklauncher selection. Default is true
io.ox/contacts//enterprisePicker/lastSearchedContacts=<array>
Array of last searched contacts. Do NOT change this by hand or make it read only. This is filled and maintained by the UI. Default is []
io.ox/contacts//enterprisePicker/lastSearchedContactsLimit=<number>
How many contacts we want to save in the last searched contacts list. Default is 30
io.ox/contacts//search/minimumQueryLength=<number>
This setting is shared by MW and UI for all contact searches and determines the minimum query length. Default is 2
io.ox/contacts//enterprisePicker/useUsedInPickerFlag=<bool>
Whether or not the UI filters folders by the used in picker flag. Useful when developing or debugging to make all folders show up. Default is true
io.ox/contacts//enterprisePicker/limit=<number>
Limit of displayed contacts in lists and search results. Default is 100
Calendar
User settings
io.ox/calendar//startTime=<number>
Start of working time as hour of the day in current timezone. Default 8
io.ox/calendar//endTime=<number>
End of working time as hour of the day in current timezone. Default 18
io.ox/calendar//interval=<number>
Selected calendar grid scale interval in minutes. One of 5, 10, 15, 20, 30, 60
. Default 30
.
io.ox/calendar//showDeclinedAppointments=<bool>
Should declined appointments be displayed in the user calendar. Default true
io.ox/calendar//categoryColorAppointments=<bool>
Should appointments use the color of the (first) category. Default true
io.ox/calendar//markFulltimeAppointmentsAsFree=<bool>
Mark all day appointments as 'free' for free/busy views. Default false
io.ox/calendar//notifyNewModifiedDeleted=<bool>
Receive notification emails for appointment changes where the user is participants. Default true
io.ox/calendar//notifyAcceptedDeclinedAsCreator=<bool>
Receive notification emails as appointment organizer when participants accept or decline. Default false
io.ox/calendar//notifyAcceptedDeclinedAsParticipant=<bool>
Receive notification emails as appointment participants when other participants accept or decline. Default false
io.ox/calendar//deleteInvitationMailAfterAction=<bool>
Automatically delete invitation emails after the appointment has been accepted or declined. Default false
io.ox/calendar//numDaysWorkweek=<number>
Number of days in a work week. Default 5
io.ox/calendar//workweekStart=<number>
Day to start the workweek. Numeric where Sunday is 0
. Default 1
(Monday)
io.ox/calendar//chronos/freeBusyVisibility=<string>
Option to configure if the users free/busy information is generally available for other users or not. Default: all
. Possible values: all
, internal-only
and none
.
io.ox/calendar//favoriteTimezones=<string>
Array of timezones like ['Europe/Berlin']
io.ox/calendar//renderTimezones=<bool>
Array of timzones that specifies that timezones out of the favoriteTimeszones that should be displayed
io.ox/calendar//showPastReminders=<bool>
Determines if reminders should be shown for appointments in the past. This does not affect reminders that are set to trigger after an appointment ends. Default is true
.
Scheduling view
io.ox/calendar//scheduling/zoom=<number>
Zoom level in percent. One of 10, 25, 50, 100, 200, 400 or 1000. Default 100
io.ox/calendar//scheduling/compact=<bool>
Use compact mode for scheduling view, rows take less vertical space. Default false
io.ox/calendar//scheduling/showFree=<bool>
Show/hide appointments that are marked as free. Default false
io.ox/calendar//scheduling/showReserved=<bool>
Show/hide appointments that are marked as reserved. Default false
io.ox/calendar//scheduling/onlyWorkingHours=<bool>
Show only working hours in scheduling view. Default true
io.ox/calendar//scheduling/dateRange=<string>
Show either one week or the complete month in the view (week
or month
). Default week
Calendar: Misc
io.ox/calendar//defaultFolderColor=<string>
Calendar folder color as CSS HEX string, defaults to #CFE6FF
io.ox/calendar//freeBusyStrict=<bool>
Hide appointment data in planning view for all appointment where the user is not an participants. Default true
io.ox/calendar//participantBlacklist=<string>
List of blocked participants which can not be added to appointments. Useful for mailing lists.
io.ox/calendar//layout=<string>
Restored layout at startup on desktop/tablets with values 'week:day', 'week:workweek', 'week:week', 'month' or 'list'. Default is 'week:workweek'.
Files
io.ox/files//showHidden=<bool>
Show hidden files and folders. Default false
io.ox/files//uploadHandling=<string>
Strategy how to handle files with identical names. One of newVersion
, announceNewVersion
or newFile
. Default announceNewVersion
.
io.ox/files//autoplayPause=<number>
Slideshow / Autoplay mode pause in seconds. Default 5
io.ox/files//audioEnabled=<bool>
Play audio files in viewer. Default true
io.ox/files//videoEnabled=<bool>
Play video files in viewer. Default true
.
io.ox/files//autoplayLoopMode=<string>
Autoplaymode of the viewer. loopEndlessly
or loopOnlyOnce
. Default loopEndlessly
io.ox/files//features/comments=<bool>
Allow comments when uploaded a new version of a file. Default true
Tasks
io.ox/tasks//currencies=<array>
Availabe currencies in create/edit dialog. Default ['CAD', 'CHF', 'DKK', 'EUR', 'GBP', 'JPY', 'PLN', 'RMB', 'RUB', 'SEK', 'USD']
io.ox/tasks//notifyAcceptedDeclinedAsCreator=<bool>
Receive notifications when a participant accepted or declined a task created by you. Default false
io.ox/tasks//notifyAcceptedDeclinedAsParticipant=<bool>
Receive notifications when a participant accepted or declined a task in which you participate. Default false
io.ox/tasks//notifyNewModifiedDeleted=<bool>
Receive notifications when a task in which you participate is created, modified or deleted. Default false
Settings: Downloads
Please see section Portal: OX Drive Clients Widget for more related settings.
plugins/portal/oxdriveclients//standaloneWindowsClient=<boolean>
Enables download link of standalone window client on settings download page. Default false
plugins/portal/oxdriveclients//appIconAsBase64=<string>
App icon encoded as base64 string.
plugins/portal/oxdriveclients//l10nImages=<array>
Array of language strings like 'en,de,es'. This will indicate which localized app store images are present. Default ['de', 'en', 'es', 'fr', 'it', 'nl']
plugins/portal/oxdriveclients//linkTo/[Windows|Android|iOS|MacOS]=<string>
Link to Appstore or download location
plugins/portal/oxdriveclients//productName=<string>
Customized product name for OX Drive. Default OX Drive
AI Integration
Service
io.ox/core//ai/hostname=<string>
Hostname of the AI service Default: ``
io.ox/core//ai/openai/model=<string>
Model of the AI service Either: gpt-3.5-turbo
or gpt-4
Default: gpt-3.5-turbo
Consent Dialogue
The consent text can be customized via the following settings. For each locale that needs to be customized you must place a key in the custom strings config, eg. "en_US" or "de_DE".
It is also possible to set this language based eg. "en" or "de".
This applies to all settings under io.ox/core//customStrings.
e.g.:
io.ox/core//customStrings/ai/consent/title/en_US = "Your english title"
io.ox/core//customStrings/ai/consent/title/de_DE = "Dein deutscher Titel"
io.ox/core//customStrings/ai/consent/title=<string>
Title of the consent dialog Default: Your consent is required
io.ox/core//customStrings/ai/consent/teaser=<string>
Teaser text of the consent dialog. Will be prepended to the consent text. Default: ``
io.ox/core//customStrings/ai/consent/trailer=<string>
Trailer text of the consent dialog. Will be appended to the consent text. Default: ``
io.ox/core//customStrings/ai/consent/checkbox=<string>
Text of the checkbox to confirm the consent. Default: I agree to submit the relevant data to the AI service when using AI-based features.
io.ox/core//customStrings/ai/consent/button=<string>
Text of the button to confirm the consent. Default: Save
io.ox/core//customStrings/ai/consent/text=<string>
Consent text of the consent dialog. Default: By using any of the AI-based features, you agree to submit the subject data to an external artificial intelligence-based text transformer operated by %1$s located in %2$s. This process will only occur upon your proactive engagement to ensure that no data is automatically transmitted. It will not be used to train the underlying AI model, but is subject to %3$s\'s [Data Use Policy](%4$s). Please note that you may be restricted by law or contract from providing confidential information (including personal information) to any third party, including an AI and its operator. You may return to this consent dialog at any time to review and change your consent status under Settings > Mail > AI Integration.
The main text can make use of 4 variables in printf format to inject more info depending on the used services and their location
%1$s
: will inject a link to the service's website. io.ox/core//ai/config/custom/serviceName
will be the link text, io.ox/core//ai/config/custom/serviceLink
will be the link target.
%2$s
: io.ox/core//customStrings/ai/consent/location
%3$s
: io.ox/core//ai/config/custom/serviceName
%4$s
: io.ox/core//ai/config/custom/dataUsagePolicy
Links and service name can be customized via the following settings.
io.ox/core//ai/config/custom/serviceName=<string>
Name for the used AI service Default: OpenAI
io.ox/core//ai/config/custom/serviceLink=<string>
Link to the used AI service Default: https://openai.com/about
io.ox/core//ai/config/custom/dateUsagePolicy=<string>
Link to the data usage policy of the AI service in use Default: https://openai.com/policies/api-data-usage-policies
io.ox/core//ai/config/custom/consentPath=<string>
Path to the settings where the user's consent is stored (as a boolean) Namespace is always io.ox/core// Default: consent/ai/openai
Error Messages
io.ox/core//customStrings/ai/errors/moderation=<string>
Error message when moderation fails due to inappropriate content. Default: Inappropriate content detected. Please try again with different input.
io.ox/core//customStrings/ai/errors/unavailable=<string>
Error message when the AI service is unavailable. Default: API request failed. The service might be unavailable. Please try again in a few minutes.
Misc
What's New dialog
Do not confuse this with the What's New TOUR. The dialog uses core namespace because it is part of the core package.
io.ox/core//whatsNew/menuEntry<boolean>
Wether or not the dropdown button is shown. Default is true
io.ox/core//whatsNew/helpLinks<json>
Can be used to set language specific help links. Example: javascript { fallback: 'https://www.open-xchange.com', ca_ES: 'https://www.open-xchange.com', cs_CZ: 'https://www.open-xchange.com', da_DK: 'https://www.open-xchange.com', de_DE: 'https://www.open-xchange.com', en_GB: 'https://www.open-xchange.com', en_US: 'https://www.open-xchange.com' }
There is no default.
io.ox/core//whatsNew/autoStart<boolean>
set if the whats new dialog is shown automatically when a user logs in with a new version. Default is true
io.ox/core//whatsNew/baselineVersion<string>
configure the default for the last seen version of a user. If set to a falsy value, the current version is used as default. This means the dialog is not shown to new users. Setting it to any other valid version, the dialog will show features starting from that version to the current one. Default is '' which will force the ui to set it to the current version.