
Managed App Configuration is the term used to describe the functionality which allows a Mobile Device Management (MDM) server to remotely configure settings in a mobile application.
BrightForms supports Managed App Configuration on all iOS devices and on Android devices running on an "Android for Work" managed profile (supported on devices running Android 5.X (Lollipop) or greater), which allows the MDM administrator to remotely set the following BrightForms Settings:
Category |
BrightForms Setting |
Key |
Data type |
User |
User Name |
"user" |
String |
Server |
IP Address |
"server-ip" |
String |
|
Port Number |
"server-port" |
Integer |
|
Use Compression |
"use-compression" |
Boolean |
|
Use SSL |
"use-ssl" |
Boolean |
|
Push Listener Port Number |
"push-listener-port" |
Integer |
|
Use a proxy server |
"proxy-used" |
Boolean |
|
Proxy IP Address |
"proxy-ip" |
String |
|
Proxy Port Number |
"proxy-port" |
Integer |
System |
*Trace Level |
"trace-level" |
String* |
|
Server Timeout |
"server-timeout" |
String |
* Trace-Level must be set using one of the following string values: "notrace", "fatal", "error", "warning", "info" or "debug".
The following settings are available on iOS devices:
Category |
BrightForms Setting |
Key |
Data type |
System |
Enable Control Scaling |
"ios-enable-control-scaling" |
Boolean |
|
Control Scaling Factor |
"ios-control-scale-factor" |
String |
|
Enable Font Scaling |
"ios-enable-font-scaling" |
Boolean |
|
Font Scaling Factor |
"ios-font-scale-factor" |
String |
|
**Screen Orientation |
"ios-orientation" |
Integer** |
** Screen Orientation must be set using one of the following integer values: 0(Rotate Automatically), 1(Lock to Portrait) or 2(Lock to Landscape)
The following settings are available on Android devices:
Category |
BrightForms Setting |
Key |
Data type |
System |
Enable Control Scaling |
"override-control-scaling" |
Boolean |
|
Control Scaling Factor |
"control-scale" |
String |
|
Enable Font Scaling |
"override-font-scaling" |
Boolean |
|
Font Scaling Factor |
"font-scale" |
String |
|
Enable Form Panning |
"enable-panning" |
Boolean |
|
Enable Pinch-to-Zoom |
"enable-pinch-to-zoom" |
Boolean |
|
Cache Expressions |
"cache-expressions" |
Boolean |
The way in which Managed App Configuration works is that the MDM administrator defines a set of "key-value pairs", and then this information is sent out to selected devices. It is up to the MDM administrator to decide which of the available Settings that they would like to centrally manage.
Note:
Setting the BrightForms User Password is not supported by Managed
App Configuration because the data that is received from the MDM
server are stored as unencrypted files on the iOS device, and
for this reason, Apple recommends not transmitting user passwords
using this feature.
The settings are updated by BrightForms as soon as they are received from the MDM server. There is no need for the users to restart their devices or to restart the BrightForms app.
Important:
Each of the settings must be set using the Key name in the table
above. Any invalid names will have no effect on BrightForms' settings.
When configuring the settings for the MDM product to send to the
devices, each setting must also use the correct data type matching
the table above. For instance, the Server IP Address
must be specified using the key "server-ip" with its
value specified as a String.
As an example, if the MDM administrator wants to remotely set the Server IP Address and Port Number, then they would send the following information:
"server-ip" = "10.0.0.1" or "myserver.com" (String value)
"server-port" = 8080 (Integer value)
Once a BrightForms Setting has been configured via MDM, it will not be able to be changed by the user in the Settings or Activation screens. In other words, the default behaviour is for BrightForms Settings to be locked once they have been configured via MDM.
If the MDM administrator would like to set the value of a BrightForms Setting, but then still allow the user to later change that setting using the Settings screen, then BrightForms allows this also. To achieve this, in addition to the actual key-value pair that configures the setting, an extra key-value pair must also be added with the key having the suffix "-unlocked", and the value of "true" (of type Boolean).
For example, say that the MDM administrator wants to set the value of the Server Timeout to 200 seconds, but still allow the user to change this setting afterwards. Then the MDM administrator would include two key value pairs:
"server-timeout" = 200 (Integer value)
"server-timeout-unlocked" = true (Boolean value)
As soon as this is sent out and received, each device will set its BrightForms Server Timeout setting to 200, but all of the users will still have the option to set it to what they like afterwards.