• Introduction
  • Dev Environment Setup
  • Developing Apps
  • Data Handling
  • Device Capabilities
  • Testing & Debugging
  • Extending
Warning Older Docs! - You are viewing documentation for a previous released version of RhoMobile Suite.

Runtime Application Configuration

Apart from your source code, there are other important files that control how your application behaves at runtime: rhoconfig.txt and Config.xml

rhoconfig.txt

What it affects

The values in rhoconfig.txt control different aspects of your application, such as what page is loaded when the application starts or the address of the RhoConnect synchronization server, while those in Config.xml refer to features of the RhoElements runtime itself like what keys can be intercepted by the application or whether to preload modules on startup.

Apart from the settings recognized by the platform, you can add arbitrary values that are specific to your application:

# application-specific value
foo = 'bar'

All values will be accessible at runtime via Rho::RhoConfig

foo = Rho::RhoConfig.foo
start_path = Rho::RhoConfig.start_path

You can also check if a configuration property actually exists before accessing it

start_path_exists = Rho::RhoConfig.exists?("start_path") # will return true

The rhoconfig.txt file generated with a new application contains the following default values, as well as descriptions of each setting:

# startup page for your application
start_path = '/app'

# path to the options page (in this case handled by JavaScript)
options_path = '/app/Settings'

# location of bundle url (i.e. from rhohub.com); used by desktop win32 simulator
rhobundle_zip_url = ''

# optional password to access bundle (usually not required); used by desktop win32 simulator
rhobundle_zip_pwd = nil

# Rhodes log properties
# log level
# 0-trace, 1-info(app level), 3-warnings, 4-errors
# for production set to 3
MinSeverity  = 1

# enable copy log messages to standard output, useful for debugging
LogToOutput = 1

# '*' means all categories, otherwise list them : Cat1, Cat2
LogCategories = *

# what categories to exclude
ExcludeLogCategories =

# max log file size in Bytes, set 0 to unlimited size; when limit is reached, log wraps to beginning of file
MaxLogFileSize=50000

# turn on local http server traces, off by default
#net_trace = 0

# timeout of network requests in seconds (30 by default)
#net_timeout = 60

# where log will be posted by RhoConf.send_log or from the log menu
# source is also open and up on http://github.com/rhomobile/rhologs, so you can deploy your own logserver
logserver = 'http://rhologs.heroku.com'

# log file prefix - contain human-readable text
logname='rhodes-app'

# Keep track of the last visited page
KeepTrackOfLastVisitedPage = 0
LastVisitedPage = ''

# sync server url, typically this will look like 'http://<hostname>:<port>/application'
# for example: 'http://localhost:9292/application'
syncserver = ''

# 0 will disable auto sync
sync_poll_interval=0

# geo location inactivity timeout (in seconds)
#geo_location_inactivity_timeout = 30

# open rhodes app in full screen mode
# default 1 for Android up to Rhodes 2.2.5.
# on all other platforms and on Android from Rhodes > 2.2.5 default 0
full_screen = 0

# show top menu on Windows desktop in full screen mode (default is 0=don't show top menu)
#w32_fullscreen_menu = 1

# disable the Android page loading progress bar
disable_loading_indication = 1

# Port of the local (embedded) HTTP server. This parameter is mainly for debug purposes.
# If not specified, application will use dynamically selected one.
# WARNING!!! Remove this parameter before put application to production.
#local_server_port = 8080

# show status bar on windows mobile. default 1
#wm_show_statusbar = 1

# disable screen rotation (enabled by default) - disable possible for ANDROID and iPhone ONLY
#disable_screen_rotation = 1

# disable close app when pressing back on home screen on blackberry
#bb_disable_closebyback = 0

# load images in background, this improve reaction speed on user actions, 0 by default
#bb_loadimages_async = 0

# set to 0 to reset the bulksync_state and trigger a bulk sync the next time rhodes synchronizes
#bulksync_state = 1

# hides forward button and animates back button transition
jqtouch_mode=1

splash_screen='zoom'

use_bb_full_browser=6

esri_map_url_roadmap: type: string

ESRI server url with roads map tiles.
    iOS             - supported in esri extension.
    Android      - supported with ESRI map type.
    WM             - supported with WM mapview.
    WP8           - mapping is not supported.

esri_map_url_satellite: type: string
    ESRI server url with satellite map tiles.
        iOS             - supported in esri extension.
        Android      - supported with ESRI map type.
        WM             - supported with WM mapview.
        WP8           - mapping is not supported.

OSM_map_url_roadmap: type: string
    OSM server url with road map tiles.
        iOS            - not supported as only Google and ESRI maps are supported.
        Android     - supported with OSM map type.
        WM             - supported with WM mapview.
        WP8           - mapping is not supported.

disable_loading_indication:type - Bool
    If enabled, blocks loading indication in webview
        Supported only on Android.

Additional parameters that can be used in rhoconfig.txt

# Address and port of proxy server. This settings uses Network module.
http_proxy_host = 'server'
http_proxy_port = port

# Login and password for access to proxy server. Only basic authentication is supported
http_proxy_login = 'user'
http_proxy_password = 'password'

Config.xml

What it affects

Note: The Config.xml effects applications that are using Zebra Webkit. However the setting CAFile in this file will be used for 4.0 applications using the stock browser.

Runtime configuration of RhoElements is managed through an XML file called Config.xml. This file is mandatory for proper RhoElements execution: not every setting has a default and if the configuration file cannot be found, RhoElements will not start. An example configuration file is provided as part of the installation and contains sensible defaults, this page explains the meanings of each of the settings and their possible values. The example Config.xml file is bundled with the rhoelements gem; its location depends on the operating system:

  • Windows: <RhoMobile Suite installation directory>\ruby\lib\ruby\gems\1.9.1\gems\rhoelements-4.0.0\libs\data\Config\Config.xml

  • OS X: ~/.rvm/gems/ruby-1.9.3-p392/gems/rhoelements-4.0.0/libs/data/Config/Config.xml

Configuration File Location in a mobile device

The location of the configuration file loaded by RhoElements is dependant on a number of factors:

  • When running on the Enterprise Tablet the configuration file is read from /Android/data/com.motorolasolutions.rhoelements/Config.xml.
  • When running on all other devices RhoElements will attempt to launch the configuration file Config.xml located in the folder Config off the installation root.
  • You can change which configuration file is loaded using the /C: configuration option

For persistant installations, on cold boot the Config.xml file is copied from \Application\RhoElements\Config\Config.xml to \Program Files\RhoElements\Config\Config.xml; bear this in mind if you want your configuration to persist across cold boot. This behavior may be modified by changing \Application\RhoElements.cpy.

Config.xml File Format

The following is an example of a typical configuration file :::xml

Configuration settings and values

Note: The following settings effects applications that are using Zebra Webkit. However the setting CAFile in this file will be used for 4.0 native applications using the stock browser

Note: Fullscreen Mode is currently unavailable for the iOS7 SDK. For details and other differences, see the Differences in iOS7 section in the Build for iOS doc.

Group\\XML Tag Configuration Identifier* Description Possible Values
DebugButtons\\
DebugButtonsEnabled
DEBUGBUTTONSENABLED When enabled, a set of controls useful for development and debugging purposes will be present in the interface. 0 - Disabled
1 - Enabled
Logger\\LogProtocol LOGPROTOCOL Sets the protocol over which the logging data will be sent "File" or "HTTP"
Logger\\LogPort LOGPORT The port over which the logging data will be sent (ignored for File protocol) Any valid HTTP port
Logger\\LogURI LOGURI The URL or File name & path to which logged data should be sent Any valid URL or fully qualified file name
Logger\\LogError LOGERROR Enables or Disables the logging of ERROR messages generated by RhoElements 0 - Disabled
1 - Enabled
Logger\\LogWarning LOGWARNING Enables or Disables the logging of WARNING messages generated by RhoElements 0 - Disabled
1 - Enabled
Logger\\
LogInfo
LOGINFO Enables or Disables the logging of INFORMATION messages generated by RhoElements 0 - Disabled
1 - Enabled
Logger\\LogUser LOGUSER Enables or Disables the logging of messages from the user application. Data can be logged using the Log API 0 - Disabled
1 - Enabled
Logger\\LogMemory LOGMEMORY Enables or Disables the logging of memory usage in the system. Not applicable to the Enterprise Tablet. 0 - Disabled
1 - Enabled
Logger\\LogMemPeriod LOGMEMPERIOD Specifies the time interval at which memory logs will be generated periodically. Not applicable to the Enterprise Tablet Time in milliseconds
Logger\\LogMaxSize LOGMAXSIZE The maximum size the log file should be allowed to reach, once the maximum size is reached no more logs will be saved. File size in kilobytes
FileLocations\\RegExFile REGEXFILE In order to enable backward compatibility with pages written in EMML 1.0 regular expressions are used to convert to EMML1.1 meta tags. This setting defines the location of the XML file which contains the conversions to be used. This setting is only applicable to Windows Fully qualified path to file defining the regular expressions.
FileLocations\\PluginFile PLUGINFILE Not applicable to the Enterprise Tablet:
RhoElements has a plugin based architecture so functionality can be tailored to the individual application, lessening the memory footprint on the device. It is necessary for RhoElements to have a mapping between modules, plugins and the physical location of the Plugin DLL on the device; this mapping is stored in the Plug-in file and the location of that file is defined by this setting.
Fully qualified path to file defining the plugins.
Screen\\FullScreen FULLSCREEN Sets RhoElements to fullscreen mode, locking out the OS to the user unless specifically minimized using the Application API. Some Windows Mobile devices feature a customized Zebra user interface; in this case access is provided to the status bar at the top of the screen. 0 - Disabled
1 - Enabled
WebServer\\Enabled WEBSENABLED Enables or Disables an internal web server to run locally on the device. If running multiple applications with internal web servers consideration should be made over whether a single server should be used or multiple servers running on different ports. 0 - Disabled
1 - Enabled
WebServer\\Port WEBSPORT By default should be left at 8080, This specifies the IP port the Web Server is running on. 8080
WebServer\\WebFolder WEBSFOLDER Specifies a folder on the device where the web application is stored, Index.html is the default page if no other page is requested Fully qualified path to folder containing web application.
WebServer\\Public WEBSPUBLIC Enables or Disables access to the local WebServer from an external device, it is recommended that the setting is only used for debugging purposes. Enabling this feature in a production deployment is a potential security risk. Make sure to check this value before deployment. 0 - Disabled
1 - Enabled
DeviceKeys\\
FunctionKeysCapturable
FUNCTIONKEYSCAPTURABLE This parameter is specific to Windows Mobile and Windows CE:

When disabled (default) this parameter will allow enabled Function keys to have their default Windows system behavior (e.g. F6/F7 controls the volume on some devices whilst F3/F4 represent the Red / Green phone keys). When enabled, function keys will be capturable by the Key Capture module.

The interaction between FunctionKeysCapturable and EnableFunctionKey_X is shown here. This setting is not specific to the current application and will be applied globally on the device.

0 - F keys not capturable
1 - F keys capturable
DeviceKeys\\
EnableFunctionKey_X
ENABLEFUNCTIONKEY_FX By default all function keys are disabled (e.g. F1, F2) but this setting is used to specify which function keys should be enabled. For each key you wish to enable define a EnableFunctionKey_X tag but replace 'X' with the key being enabled, so for example to enable F1 specify EnableFunctionKey_F1. The maximum function key you can enable is F24. In order to use this configuration setting you must preload the KeyCapture module

On the Enterprise tablet, this tag can be used to enable the 'P' keys. For compatibility with other devices the 'P' keys are referred to as 'F' keys in the config file. Therefore in order to enable P2 key on the enterprise tablet, the tag EnableFunctionKey_F2 should be set to 1. For Windows Mobile / CE this setting is not specific to the current application and will be applied globally on the device, only being unset when a device warm boot is performed.

On MC40, F1 is mapped to the Volume Down button, F2 to the Volume UP button and F3 to the Search button.

The interaction between FunctionKeysCapturable and EnableFunctionKey_X is shown at the end of this document

0 - Disabled
1 - Enabled
DeviceKeys\\
EnableApplicationKey_X
Not Configurable This parameter is specific to Windows Mobile and Windows CE:
Some devices have keys to access specific applications on the device, e.g. Calendar, Outlook etc, all of which are disabled by default. This setting is used to specify which application keys should be enabled, numbered A1 to A16. For each key you wish to enable define a EnableApplicationKey_X tag but replace 'X' with the key being enabled, e.g. EnableApplicationKey_A1. Note that the mapping of keys to applications is device specific so A1 may have two functions on two different devices. In order to use this configuration setting you must preload the KeyCapture module

This setting is not specific to the current application and will be applied globally on the device. Once set, this will persist across multiple RhoElements executions and can only be unset by performing a device warm boot.

0 - Disabled
1 - Enabled
Navigation\\NavTimeout NAVTIMEOUT Number of milliseconds before the browser times out and navigates to the page specified in the badlink setting. If it is determined that the destination is unreachable regardless of wait time, the 'badlink' page may be loaded before NAVTIMEOUT. This is the time taken to establish communication with the server, not the time taken to fully load the page.

Note that the navigation timeout will not be invoked when navigating to the start page, best practice is to store your first page locally to avoid connectivity issues at start up, you can then redirect to an on-line page if desired.
Timeout in Milliseconds, maximum value is 45000
ScreenOrientation\\AutoRotate AUTOROTATE When disabled the orientation of the screen will not change as the device is rotated and vice versa. This is a screen rotation lock. 0 - Disabled
1 - Enabled
UserData N/A Used to persist data when using Read/WriteUserSetting. Any valid user setting.
General\\Name Not Configurable The name of the application ASCII text
General\\StartPage STARTPAGE Defines the start page of the RhoElements application, the first page to be displayed when RhoElements is launched. This should be a local file to avoid connectivity issues on start up. Fully qualified path to start page.
General\\UseRegularExpressions USEREGULAREXPRESSIONS In order to be backwardly compatible with PocketBrowser syntax for controlling device capabilities RhoElements uses a Regular Expression engine to apply a series of transformations to each meta tag or JavaScript call being processed, as defined in RegEx.xml. If you are developing applications without the need to be backwardly compatible with PocketBrowser syntax you can disable regular expressions, this can result in an improvement in application performance, depending on how the application is structured. This setting is only applicable to RhoMobile Suite version 2.2 and above on Windows devices. 0 - Do Not Use Regular Expressions
1 - Use Regular Expressions
HTTP_Proxy HTTPPROXY Specifies the HTTP Proxy settings to use in the format URL:port. Note that this setting only applies to the Zebra WebKit engine, proxy settings for the Internet Explorer engine are picked up from the Windows connection manager. Leave this field blank to not use a proxy. URL:PortNo
HTTPS_Proxy N/A Specifies the HTTPS Proxy settings to use in the format URL:port. Note that this setting only applies to the Zebra WebKit engine, proxy settings for the Internet Explorer engine are picked up from the Windows connection manager. Leave this field blank to not use a proxy. Not supported on Windows Mobile/Windows CE, use HTTP_Proxy instead. URL:PortNo
No_Proxy NOPROXY Sets the sites that should be accessed directly. This should be a comma-separated list of host names, domain names (starting with a dot), IP addresses, or CIDR format IP network addresses eg. myhost, .mydomain.com, 192.168.1.1,192.168.0.0/24. Note this configuration setting is usable with the Zebra Webkit browser only. Comma separated list of direct access addresses.
WebDB\\WebStorageDBPath WEBSTORAGEDBPATH Path to an existing directory to store Web Storage databases Fully qualified local path.
WebDB\\WebSQLDBQuota WEBSQLDBQUOTA Web SQL database maximum quota per database Size in bytes
WebDB\\WebSQLDBPath WEBSQLDBPATH Path to an existing directory to store Web SQL databases Fully qualified local path.
ApplicationCache\\ApplicationCacheQuota APPLICATIONCACHEQUOTA Application Cache data maximum quota per application Size in bytes
ApplicationCache\\ApplicationCachePath APPLICATIONCACHEPATH Path to an existing directory to store Application Cache data Fully qualified local path.
NPAPI\\NPAPIDirectory NPAPIDIRECTORY Not applicable to the Enterprise Tablet:
Path to an existing directory where the NPAPI Plugins are stored
Fully qualified local path.
NPAPI\\Preloads\\PreloadLegacyActiveX PRELOADLEGACYACTIVEX Whether or not to preload the ActiveX object in WebKit. You'll need to use this if you want backwards compatibility with code written in PocketBrowser that used the ActiveXObject. This setting is supported on Windows Mobile / CE with the Zebra Webkit only. 0 - Do Not Preload
1 - Preload
NPAPI\\Preloads\\PreloadLegacyGeneric PRELOADLEGACYGENERIC Whether or not to preload the NPAPI plugin to mimic the Generic ActiveX object in WebKit. On the Enterprise Tablet this plugin is automatically loaded when the JSObjects plugin is preloaded. 0 - Do Not Preload
1 - Preload
NPAPI\\Preloads\\PreloadLegacyODAX PRELOADLEGACYODAX Not applicable to the Enterprise Tablet:
Whether or not to preload the NPAPI plugin to mimic the ODAX ActiveX object in WebKit
0 - Do Not Preload
1 - Preload
NPAPI\\Preloads\\PreloadLegacyNoSIP PRELOADLEGACYNOSIP Whether or not to preload the NPAPI plugin to mimic the NoSIP ActiveX object in WebKit 0 - Do Not Preload
1 - Preload
NPAPI\\Preloads\\PreloadLegacyAirBeam PRELOADLEGACYAIRBEAM Not applicable to the Enterprise Tablet:
Whether or not to preload the NPAPI plugin to mimic the AirBeam ActiveX object in WebKit
0 - Do Not Preload
1 - Preload
NPAPI\\Preloads\\PreloadLegacyAPD PRELOADLEGACYAPD Whether or not to preload the NPAPI plugin to mimic the APD ActiveX object in WebKit 0 - Do Not Preload
1 - Preload
NPAPI\\Preloads\\PreloadJSObjects PRELOADLEGACYJSOBJECTS Whether or not to preload the NPAPI plugin to provide native JavaScript objects for each of the modules 0 - Do Not Preload
1 - Preload
Preloads\\Preload PRELOAD By default plugins will be loaded into memory when needed, e.g. when Barcode.enable is called, the Barcode plugin DLL will be loaded into memory. This loading operation takes takes a certain amount of time when it is performed for the first time; to prevent the user from noticing any lag when using their application, modules can be loaded in the background when RhoElements starts. Specify a Preload tag for each module you wish to load at RhoElements startup; note that multiple modules may be defined in the same DLL but you still need to list all modules to preload here to see maximum benefit.

On low memory devices, it is recommended to preload all your required modules to avoid your program running out of memory during execution.

Preloads are not applicable to the enterprise tablet, as plugins are integral to RhoElements on this platform.

Module name
Scrolling\\ScrollTechnique SCROLLTECHNIQUE Specifies the technique used to scroll the viewport:
FingerScroll - You can scroll around the page using finger swiping.(Only setting applicable to Android)
Scrollbars - When the size of the page is too large to fit into the viewport, scrollbars will be presented which can be used to scroll the page.
None - No scrollbars will be displayed and the page will not respond to finger swipes.
NOTE: FingerScroll may interfere with drawing on a Canvas element
See description Windows Mobile, Windows CE, Android, iOS
Authentication\\Username AUTHUSER_GLOBAL Specifies the username to be provided automatically when RhoElements is instructed to navigate to any page which requires basic or digest HTTP authentication.

If this setting is absent from the configuration file a popup dialog will be displayed prompting the user to enter their own credentials. Leaving the value blank will provide a username of "". RhoElements will only permit the user to enter incorrect credentials twice before presenting the HTTP 401 Unauthorized page, the application should be designed to handle this scenario.
ASCII text
Authentication\\Password AUTHPASS_GLOBAL Specifies the password to be provided automatically when RhoElements is instructed to navigate to any page which requires basic or digest HTTP authentication.

If this setting is absent from the configuration file a popup dialog will be displayed prompting the user to enter their own credentials. Leaving the value blank will provide a password of "". RhoElements will only permit the user to enter incorrect credentials twice before presenting the HTTP 401 Unauthorized page, the application should be designed to handle this scenario.
ASCII text
HTMLStyles\\CaretWidth CARETWIDTH This setting is a number which specifies the width of the textbox / text area caret, in pixels. The default value if you don't specify anything is '1'. Prior to this release the width was fixed at '1' and you could not change it. This setting only applies to the Webkit on Windows Mobile or Windows CE. Integer values for caret width in pixels from 1 to 5, inclusively
HTMLStyles\\FontFamily FONTFAMILY Specifies the default font to use when rendering text in web pages. The specified font should be a TrueType font present on the device. On Windows, the default font has been set to 'Tahoma' as this is present on all Zebra WM / CE devices. Note that Tahoma has no italic or oblique variants. On the Enterprise Tablet the default is Droid Sans Fallback. The specified font must be stored in \Windows for Windows WM / CE devices, or /system/fonts for Enterprise Tablet. Font name
HTMLStyles\\FontDirectory FONTDIRECTORY Specifies the font directory where true type fonts can be found. On Windows the default font directory is \Windows on all Zebra WM / CE devices. Not applicable to the Enterprise Tablet. \Windows
HTMLStyles\\UseNativeFonts USENATIVEFONTS When set to 0 (default) the FreeType library is used, this is the same as behavior on RMS 2.x. When set to 1 the native font engine on the device is used to render fonts and the 'FontFamily' setting will have no effect. By default, on localized devices from 4.1 onwards the native font engine will be used as the FreeType library can not render localized characters (e.g. Italian accented characters, Korean characters, Chinese characters etc). Some early BSPs of CE7 do not support the native font render unfortunately. The log file will show the font engine in use on launch if there is doubt. This setting is specific to Windows Mobile / Windows CE.
This config item is not currently available on the latest BSPs for MC92, VC70 or WT41N0.
0 - Use FontFamily Setting
1 - Use FreeType font library
SIP\\ResizeOnSIP RESIZEONSIP When enabled the browser window will resize to accommodate the SIP (Soft Input Panel, the on-screen virtual keyboard) when displayed. If the SIP has been moved to the top half of the screen the browser window will reduce in size from the top. In order to use this configuration setting you must preload the SIP module. (Windows Mobile Only. This option is not compatible with CE or Finger Scrolling, the SIP will always appear at the bottom of the screen) 0 - Disabled
1 - Enabled
SIP\\EnableSIP Not Configurable Disables or Enables the SIP (Soft Input Panel, the on-screen virtual keyboard). (Android Only, on Windows the Left & Top parameters of the SIP module can be used to position the SIP off the screen.) 0 - Disabled
1 - Enabled
System\\LowBatteryScan LOWBATTERYSCAN Windows Mobile and CE only. Set to 0 to disable scanning when the battery is low or set to 1 to enable it. Once disabled the scanner can be enabled again by calling Barcode.enable. 0 - Disabled
1 - Enabled
Scanner\\DisableScannerDuringNavigation DISABLESCANNERDURINGNAV By default if you have enabled the Scanner on a page, through either meta tags, JavaScript or Ruby and navigate to a new page the Scanner will automatically disable. To override this behavior you can set this option to '0' and once enabled the Scanner will remain so in the foreground application until you disable it. This setting is only applicable to RhoMobile Suite version 2.2 and above. 0 - The Scanner will remain enabled during page navigation
1 - The Scanner will disable during a page navigation
Sound\\DecodeVolume DECODEVOLUME The volume of the device beeper when a barcode is scanned 0 to 5 with 5 being the loudest
Sound\\DecodeFrequency DECODEFREQUENCY The frequency of the device beeper when a barcode is successfully decoded. This should be within the range of the beeper 0 to 0xFFFF
Sound\\InvalidDecodeFrequency INVALIDDECODEFREQUENCY The frequency of the device beeper when a barcode is scanned but not successfully decoded. This should be within the range of the beeper. Not applicable to the Enterprise Tablet. 0 to 0xFFFF
Sound\\DecodeDuration DECODEDURATION The duration of the device beeper when a barcode is scanned Milliseconds
Sound\\ScanDecodeWav SCANDECODEWAV Wave file to be played when the scanner successfully decodes a barcode. This setting overrides the scanner beeper. File name and path stored locally on the device.
Sound\\ScanInvalidWav SCANINVALIDWAV Wave file to be played when a barcode is scanned but not successfully decoded. This setting overrides the scanner beeper. Not applicable to the Enterprise Tablet. File name and path stored locally on the device.
Sound\\ImagerCaptureWav IMAGERCAPTUREWAV Wave file to be played when the Imager captures an image File name and path stored locally on the device.
GUI\\SignalRefresh SIGNALREFRESH Specifies the refresh rate of the signal display, see the Signal API for more information. Refresh rate in milliseconds
GUI\\BatteryRefresh BATTERYREFRESH Specifies the refresh rate of the battery display, see the Battery API for more information. Not applicable to the Enterprise Tablet* (see remark) Refresh rate in milliseconds
GUI\\HourglassEnabled HOURGLASSENABLED By default an Hourglass will be displayed whilst navigating between pages, this setting can be used to disable that behavior. 0 - Disabled
1 - Enabled
GUI\\HourglassLeft HOURGLASSLEFT By default an Hourglass will be displayed whilst navigating between pages, this setting can be used to adjust its horizontal position. If not specified the hourglass will appear at the center of the screen. Pixels
GUI\\HourglassTop HOURGLASSTOP By default an Hourglass will be displayed whilst navigating between pages, this setting can be used to adjust its vertical position. If not specified the hourglass will appear in the center of the screen. Pixels
Navigation\\BadLinkURI BADLINKURI Navigates to the specified badlink uri when one of the following occurs:
  • There is an error attempting to navigate to the page, e.g. the device has no network connection.
  • The timeout occurs when navigating to the page. You can adjust the value of the timeout using the NavTimeout setting.
  • The user presses the stop button.
The browser will automatically append the querystring value "badlink" containing the url of the page which could not be reached and "stop=true" if the page was loaded because the user pressed the stop button. The page specified in the badlink setting should be an offline file using the file:// protocol, this way the browser can always access the file.
File name and path stored locally on the device.
Navigation\\UserAgent USERAGENT When visiting a web server the WebKit browser will report its User-Agent header as the specified value. Use the following substitution variables:
  • %p - platform name ("Windows CE " + version number)
  • %w - WebKit version number
  • %e - MotorolaWebKit version number.
Use the UserAgent setting to spoof your device to the server, e.g. to view content designed for the desktop on your mobile screen.
From RhoElements 2.1 onwards the default value was changed to work out of the box with a greater number of server configurations, prior to RhoElements 2.1 the default user agent was: "Mozilla/5.0 (%p) AppleWebKit/%w (KHTML, like Gecko) MotorolaWebKit/%e Safari/%w"
String
Navigation\\ViewportEnabled VIEWPORTENABLED Whether to enable or disable viewport meta tag processing (default is enabled) 0 - Disabled
1 - Enabled
Navigation\\ViewportWidth VIEWPORTWIDTH Default viewport width to use for pages that do not have a viewport meta tag (uses 1:1 scaling if not specified) Number
Navigation\\CaFile CAFILE A file of CA certificates in PEM format. See openssl. This setting is supported on Windows Mobile / CE and Android. Local File name on the device.
Navigation\\VerifyPeerCertificate VERIFYPEERCERTIFICATE Verify the server certificate against the internal certificates. It is strongly recommended not to set this to 0 in deployment situations, but it can be useful during development. A value of 0 is equivalent to automatically clicking 'OK' on a web browser's dialog querying an untrusted certificate. Boolean
Navigation\\NetworkCookieDatabase NETWORKCOOKIEDATABASE If you want your cookies to persist across device boots then specify a file name here for the database used to hold the cookies. If the specified file does not already exist then one will be created. The cookies will be loaded in from this file and saved back to it when RhoElements exits, unless the file is read only in which case it will not be overwritten. If not specified cookies will not persist. Fully qualified local path.
Navigation\\Cache NAVIGATIONCACHE The browser cache size, in whole MBs. This setting is only applicable to RhoMobile Suite version 2.2 and above. Whole MBs, eg. 5MB
DeviceKeys\\
EnableCtrlKey_X
Not Configurable CE Only:
By default all CTRL+Key combinations are disabled (e.g. CTRL+C to copy text; CTRL+V to paste text). This setting is used to specify which CTRL+Key combinations should be enabled. For each combination you wish to enable define a EnableCtrlKey_X tag but replace 'X' with the key being enabled, so for example to enable text copying specify EnableCtrlKey_C as enabled or to enable text pasting specify EnableCtrlKey_V as enabled.
0 - Disabled
1 - Enabled
DeviceKeys\\
EnableVolumeSlider
ENABLEVOLUMESLIDER Specific to the MC2100:
Allows or prevents the key combination Orange+F1 from bringing up a slider to adjust the volume. This setting is not application specific and will be applied globally on the device.
0 - Disabled
1 - Enabled
DeviceKeys\\
EnableBacklightSlider
ENABLEBACKLIGHTSLIDER Specific to the MC2100:
Allows or prevents the key combination Orange+F2 from bringing up a slider to adjust the backlight. This setting is not application specific and will be applied globally on the device.
0 - Disabled
1 - Enabled
DefaultMetaTags\\MetaTag DEFAULTMETATAG All RhoElements Meta Tags can be set by default in the configuration, meaning if a common tag is required by the application it need not be present on every HTML page. Set a default tag in by specifying the tag's module, followed by a tilda character and then the properties of the module you wish to set, specified in EMML 1.1. If the meta tag is present in both the configuration and a loaded page then the page will take priority. Logically only persistent tags can be set in the configuration, a tag's persistence being stated in the 'additional information' section in the help file. [Module]~[Contents expressed in EMML1.1]
Geolocation\\GeolocationEnabled Not Configurable Enables/disables HTML5 Geolocation. When enabled on a device supporting geolocation and under GPS/network coverage, the geolocation data is returned to the defined JavaScript callback. When disabled the defined JavaScript error callback is called notifying that the permission to using Geolocation is disabled. 0 - Disabled
1 - Enabled
TabInstance\\NewTabPhysicalMemLimit NEWTABPHYSICALMEMLIMIT This setting controls whether a new Tab will be created using the NativeTabbar.create API when a physical memory usage percentage is hit. Ex: if it is set to 80 - then the tab instance will not be created if the physical memory usage on the device is>=80%. If the tab is unable to be created due to this limit being reached the NativeTabbar.create API callback will contain a tabEvent = onTabNewError. 0-100 (100=no limit)
TabInstance\\NewTabVirtualMemLimit NEWTABVIRTUALMEMLIMIT This setting controls whether a new Tab will be created using the NativeTabbar.create API when a virtual memory usage percentage is hit. Ex: if it is set to 80 - then the tab instance will not be created if the physical memory usage on the device is>=80%.If the tab is unable to be created due to this limit being reached the NativeTabbar.create API callback will contain a tabEvent = onTabNewError 0-100 (100=no limit)

* The configuration identifiers are used in the ReadConfigSetting and Write Config Setting methods of Generic

Substitution Variables

The following substitution variables are available in the configuration file

Substitution Variable Expanded Value
%INSTALLDIR% The directory into which RhoElements.exe has been installed

Remarks

Case Sensitivity

The operating systems of some devices have case sensitive file systems. Therefore it is good practice to always keep URL values in the Config.xml file case identical to the names of the actual files.

*Battery Polling on the Enterprise Tablet

On the Enterprise Tablet the battery notification is asynchronous. For this reason, BatteryRefresh is not supported on the Enterprise Tablet. The effect of this is that a batteryEvent is fired only when the battery level changes. This has been done to save battery power compared to polling.

Interaction between FunctionKeysCapturable and EnableFunctionKey configuration settings

On Windows Mobile and Windows CE devices full control is given to the developer over how their application handles function keys. Because of the limitations of the operating system any settings applied will persist until the device is next warm booted. Which function keys have default operating system behavior will vary from device to device, e.g. on the MC75a F3 and F4 represent the red and green phone keys and on many devices the volume keys are also mapped as Function keys. Not all function keys will have default operating system behavior.

Unblocking function keys may expose the underlying operating system, particularly the red and green phone keys will give access to the start menu and programs.

The table below shows the behavior of RhoElements when Function Keys are pressed given the possible configuration settings:

Function Keys Capturable = TRUE Function Keys Capturable = FALSE
Enable Function Key = TRUE
  • All Function Keys can be captured by the Key Capture Module
  • Function Key will not have its default Operating system behavior
  • Function Keys with default OS behavior can not be captured by the Key Capture Module
  • Function Keys without default OS behavior can be captured by the Key Capture Module
  • Function Key will have its default Operating system behavior (if any)
Enable Function Key = FALSE
  • All Function Keys can be captured by the Key Capture Module
  • Function Key will not have its default Operating system behavior
  • All Function Keys can not be captured by the Key Capture Module
  • Function Key will not have its default Operating system behavior (if any)

HTTP Authentication Limitations

On Windows Mobile and Windows CE, using the Webkit, we only support the “Basic” and “Digest” forms of the Authenticate header as described in This article. This means that whenever using WM or WinCE, you’ll need to pass the username and password over the network as clear-text. Keep this in mind when thinking about your app’s security on these platforms.

Back to Top