Apart from your source code, there are other important files that control how your application behaves at runtime: rhoconfig.txt
and Config.xml
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.
# 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'
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
The location of the configuration file loaded by RhoElements is dependant on a number of factors:
/Android/data/com.motorolasolutions.rhoelements/Config.xml
.Config.xml
located in the folder Config
off the installation root.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
.
The following is an example of a typical configuration file
:::xml
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 browserNote: 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.
|
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:
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:
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
The following substitution variables are available in the configuration file
Substitution Variable | Expanded Value |
---|---|
%INSTALLDIR% | The directory into which RhoElements.exe has been installed |
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.
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.
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 |
|
|
Enable Function Key = FALSE |
|
|
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.