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 pre-load 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), 2-warnings, 3-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' # CLient SSL Configuration. The path to the p12 formatted certificate file and the password used with the client certificate. # The path to the p12 formatted certificate file used for client SSL authentication. This setting is used in any Network API calls which setting up secured SSL # connections requiring client authentication (get, post, downloadFile, uploadFile). This setting only takes effect if `verifyPeerCertificate` is enabled. # Therefore, if `verifyPeerCertificate` is set to fail and remote server requests the client certificate, connection fill fail. # These two settings are only supported for use on Android devices. clientSSLCertificate = 'certificate path' clientSSLCertificatePassword = '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 | Platforms | ||
---|---|---|---|---|---|---|
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 |
Windows Mobile, Windows CE, Android, iOS | ||
Logger\\LogProtocol | LOGPROTOCOL | Sets the protocol over which the logging data will be sent | "File" or "HTTP" | Windows Mobile, Windows CE, Android, iOS | ||
Logger\\LogPort | LOGPORT | The port over which the logging data will be sent (ignored for File protocol) | Any valid HTTP port | Windows Mobile, Windows CE, Android, iOS | ||
Logger\\LogURI | LOGURI | The URL or File name & path to which logged data should be sent | Any valid URL or fully qualified file name | Windows Mobile, Windows CE, Android, iOS | ||
Logger\\LogError | LOGERROR | Enables or Disables the logging of ERROR messages generated by RhoElements. If we set this to 1, it enables the Error level only. | 0 - Disabled 1 - Enabled |
Windows Mobile, Windows CE, Android, iOS | ||
Logger\\LogWarning | LOGWARNING | Enables or Disables the logging of WARNING messages generated by RhoElements. If we set this to 1, it enables the following levels i.e. Warning & Error, even if Error level is not set to 1. | 0 - Disabled 1 - Enabled |
Windows Mobile, Windows CE, Android, iOS | ||
Logger\\LogInfo | LOGINFO | Enables or Disables the logging of INFORMATION messages generated by RhoElements. If we set this to 1, it enables the following levels i.e. Info, Warning & Error, even if Warning or Error levels is not set to 1. | 0 - Disabled 1 - Enabled |
Windows Mobile, Windows CE, Android, iOS | ||
Logger\\LogUser | LOGUSER | Enables or Disables the logging of messages from the user application. If we set this to 1, it enables the following levels i.e. User, Info, Warning & Error, even if Info or Warning or Error levels is not set to 1. Data can be logged using the Log API | 0 - Disabled 1 - Enabled |
Windows Mobile, Windows CE, Android, iOS | ||
Logger\\LogMemory | LOGMEMORY | Enables or Disables the logging of memory usage in the system. Not applicable to the Enterprise Tablet. | 0 - Disabled 1 - Enabled |
Windows Mobile, Windows CE, Android, iOS | ||
Logger\\LogMemPeriod | LOGMEMPERIOD | Specifies the time interval at which memory logs will be generated periodically. Not applicable to the Enterprise Tablet | Time in milliseconds | Windows Mobile, Windows CE, Android, iOS | ||
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 | Windows Mobile, Windows CE, Android, iOS | ||
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.† | Windows Mobile, Windows CE, Android, iOS | ||
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.† | Windows Mobile, Windows CE, Android, iOS | ||
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 |
Windows Mobile, Windows CE, Android, iOS | ||
Screen\\ShowLicenseConfirmation | SHOWLICENSECONFIRMATION | On a licensed device, this setting will enable or disable the display of the "licensed to..." dialog at launch. On unlicensed devices there will be no effect. | 0 - Do not show license confirmation 1 - Show license confirmation |
Windows Mobile, Windows CE | ||
Screen\\PageZoom | PAGEZOOM | Sets the zoom factor of the page. Default zoom is 1.0. In Android, negative values and 0.0 is not supported. In Windows, zoom value less than 1.0 is defaulted to 1.0 because below 1.0 zoom value, the page doesn't look in readable format.* (see remark) | Zoom factor of the page. | Windows Mobile, Windows CE, Android, iOS | ||
VoidConnection\\TrackConnection | TrackConnection | This value should be 0 or 1. By default it's value is 0. It implies whether the application is going to use this feature or not. When its value is 0 it is NOT going to use the feature else otherwise. The feature is to try to connect to a particular URL mentioned in the "HostURL" element. Whenever connectivity is lost, it will display a pop up message. Whenever Connectivity is established the pop up meaage will be disappered. If connection is not established during timeout value, it will navigate to badlink page. On windows, if this feature is enabled, it will display a non modal dialog whenever connectivity goes, whereas in case of Android it will display a modal dialog and user will be blocked from performing any UI actions. On windows as it is a non modal dialog, user still can continue work on the parent screen until the timeout occurs. However it is not recommended to access the back ground application when the connection checking window is being shown. | Connection Tracking | Windows Mobile, Windows CE, Android, iOS | ||
VoidConnection\\HostURL | HostURL | This is the URL to which the application will try to connect to. The default port is 80. It can take both dotted ip and host name. Mentioning of port no is also optional. The port no should be appeneded to i after appending colon to the ip. So the accepatable formats are www.symbol.com , http://192.168.7.32:8080, http://192.168.7.32 | Connection Tracking | Windows Mobile, Windows CE, Android, iOS | ||
VoidConnection\\Message | Message | Message is the customized Message to be shown in the pop up window. | Customized Message | Windows Mobile, Windows CE, Android, iOS | ||
VoidConnection\\Timeout | Timeout | This value indicates for how many miliseconds the application should try to connect to the URL before navigating to badlink page. The minimum value is 30000. If specified less than 30000, it will take 30000. The value of this parameter should be atleast 3 times bigger than PollInterval,else both will take default values | Timeout | Windows Mobile, Windows CE, Android, iOS | ||
VoidConnection\\PollInterval | PollInterval | This value indicates for how many miliseconds the application should pause from trying to connect to the URL between consecutive checking. This value should be small enough and Timeout value should be some multiple of this value. The minimum value is 5000. If specified less than 5000, it will take 5000. It is a non-testable parameter. | PollInterval | Windows Mobile, Windows CE, Android, iOS | ||
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 |
Windows Mobile, Windows CE, Android, iOS | ||
WebServer\\Port | WEBSPORT | By default should be left at 8080, This specifies the IP port the Web Server is running on. | 8080 | Windows Mobile, Windows CE, Android, iOS | ||
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.† | Windows Mobile, Windows CE, Android, iOS | ||
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 |
Windows Mobile, Windows CE, Android, iOS | ||
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 |
Windows Mobile, Windows CE, Android, iOS | ||
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 |
Windows Mobile, Windows CE, Android, iOS | ||
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 |
Windows Mobile, Windows CE, Android, iOS | ||
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 | Windows Mobile, Windows CE, Android, iOS | ||
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 |
Windows Mobile, Windows CE, Android, iOS | ||
UserData | N/A | Used to persist data when using Read/WriteUserSetting. | Any valid user setting. | Windows Mobile, Windows CE, Android, iOS | ||
General\\Name | Not Configurable | The name of the application | ASCII text | Windows Mobile, Windows CE, Android, iOS | ||
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.† | Windows Mobile, Windows CE, Android, iOS | ||
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 |
Windows Mobile, Windows CE, Android, iOS | ||
HTTP_Proxy | HTTPPROXY | Specifies the HTTP Proxy settings to use in the format URL:port. Proxy settings for the Internet Explorer engine are picked up from the Windows connection manager. Leave this field blank to not use a proxy. Note that this setting only applies to the Zebra WebKit engine. | URL:PortNo | Windows Mobile, Windows CE, Android, iOS | ||
HTTPS_Proxy | N/A | Specifies the HTTPS Proxy settings to use in the format URL:port. Proxy settings for the Internet Explorer engine are picked up from the Windows connection manager. Leave this field blank to not use a proxy. Note that this setting only applies to the Zebra WebKit engine. | URL:PortNo | Windows Mobile, Windows CE, Android, iOS | ||
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. | Windows Mobile, Windows CE, Android, iOS | ||
WebDB\\WebStorageDBPath | WEBSTORAGEDBPATH | Path to an existing directory to store Web Storage databases | Fully qualified local path.† | Windows Mobile / CE Webkit | ||
WebDB\\WebSQLDBQuota | WEBSQLDBQUOTA | Web SQL database maximum quota per database | Size in bytes | Windows Mobile / CE Webkit | ||
WebDB\\WebSQLDBPath | WEBSQLDBPATH | Path to an existing directory to store Web SQL databases | Fully qualified local path.† | Windows Mobile / CE Webkit | ||
ApplicationCache\\ApplicationCacheQuota | APPLICATIONCACHEQUOTA | Application Cache data maximum quota per application | Size in bytes | Windows Mobile / CE Webkit | ||
ApplicationCache\\ApplicationCachePath | APPLICATIONCACHEPATH | Path to an existing directory to store Application Cache data | Fully qualified local path.† | Windows Mobile / CE Webkit | ||
NPAPI\\NPAPIDirectory | NPAPIDIRECTORY | Not applicable to the Enterprise Tablet: Path to an existing directory where the NPAPI Plugins are stored |
Fully qualified local path.† | Windows Mobile, Windows CE, Android, iOS | ||
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 |
Windows Mobile, Windows CE, Android, iOS | ||
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 |
Windows Mobile, Windows CE, Android, iOS | ||
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 |
Windows Mobile, Windows CE, Android, iOS | ||
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 |
Windows Mobile, Windows CE, Android, iOS | ||
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 |
Windows Mobile, Windows CE, Android, iOS | ||
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 |
Windows Mobile, Windows CE, Android, iOS | ||
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 |
Windows Mobile, Windows CE, Android, iOS | ||
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 | Windows Mobile, Windows CE, Android, iOS | ||
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 | Windows Mobile, Windows CE, Android, iOS | ||
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 | Windows Mobile, Windows CE, Android, iOS | ||
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 | Windows Mobile, Windows CE, Android, iOS | ||
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 | Windows Mobile, Windows CE, Android, iOS | ||
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 |
Windows Mobile, Windows CE, Android, iOS | ||
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 |
Windows Mobile, Windows CE, Android, iOS | ||
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 |
Windows Mobile, Windows CE, Android, iOS | ||
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 |
Windows Mobile, Windows CE, Android, iOS | ||
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 |
Windows Mobile, Windows CE, Android, iOS | ||
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 |
Windows Mobile, Windows CE, Android, iOS | ||
Sound\\DecodeVolume | DECODEVOLUME | The volume of the device beeper when a barcode is scanned | 0 to 5 with 5 being the loudest | Windows Mobile, Windows CE, Android, iOS | ||
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 | Windows Mobile, Windows CE, Android, iOS | ||
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 | Windows Mobile, Windows CE, Android, iOS | ||
Sound\\DecodeDuration | DECODEDURATION | The duration of the device beeper when a barcode is scanned | Milliseconds | Windows Mobile, Windows CE, Android, iOS | ||
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.† | Windows Mobile, Windows CE, Android, iOS | ||
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. | Windows Mobile, Windows CE, Android, iOS | ||
Sound\\ImagerCaptureWav | IMAGERCAPTUREWAV | Wave file to be played when the Imager captures an image | File name and path stored locally on the device. | Windows Mobile, Windows CE, Android, iOS | ||
GUI\\SignalRefresh | SIGNALREFRESH | Specifies the refresh rate of the signal display, see the Signal API for more information. | Refresh rate in milliseconds | Windows Mobile, Windows CE, Android, iOS | ||
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 | Windows Mobile, Windows CE, Android, iOS | ||
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 |
Windows Mobile, Windows CE, Android, iOS | ||
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 | Windows Mobile, Windows CE, Android, iOS | ||
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 | Windows Mobile, Windows CE, Android, iOS | ||
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.† | Windows Mobile, Windows CE, Android, iOS | ||
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 | Windows Mobile, Windows CE, Android, iOS | ||
Navigation\\ViewportEnabled | VIEWPORTENABLED | Whether to enable or disable viewport meta tag processing (default is enabled) | 0 - Disabled 1 - Enabled |
Windows Mobile, Windows CE, Android, iOS | ||
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 | Windows Mobile, Windows CE, Android, iOS | ||
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. | Windows Mobile, Windows CE, Android, iOS | ||
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 | Windows Mobile, Windows CE, Android, iOS | ||
Navigation\\clientSSLCertificate | CLIENTSSLCERTIFICATE | The path to the p12 formatted certificate file used for client SSL authentication. This setting is used in any Network API calls which setting up secured SSL connections requiring client authentication (get, post, downloadFile, uploadFile). This setting only takes effect if `verifyPeerCertificate` is enabled. Therefore, if `verifyPeerCertificate` is set to fail and remote server requests the client certificate, connection fill fail. | Fully qualified local path.† | Android | ||
Navigation\\clientSSLCertificatePassword | CLIENTSSLCERTIFICATEPASSWORD | The password used with client certificate. This setting only takes effect if `verifyPeerCertificate` is enabled. Therefore, if `verifyPeerCertificate` is set to fail and remote server requests the client certificate, connection fill fail. | Password | Android | ||
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.† | Windows Mobile, Windows CE, Android, iOS | ||
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 | Windows Mobile, Windows CE, Android, iOS | ||
Navigation\\AcceptLanguage | ACCEPTLANGUAGE | Defines the Accept-Language HTTP header that will be sent from the client, described in more detail in the RFQ documentation. | Comma separated list of languages and a list of quality values. The two lists are separated by a semicolon. | Windows Mobile, Windows CE | ||
Navigation\\Keepalive | KEEPALIVE | Support HTTP keep-alive. When set to false, connections are closed when their request completes. By default keep-alive will be true even if this option is not specified. Applies to release 5.0 and greater. | Boolean | Windows Mobile, Windows CE, Android, iOS | ||
Navigation\\DisableTLS | DISABLETLS | When enabled, the application will request SSLv3 connections instead of TLS. If your server is set to support both SSLv3 and TLS, the protocol for the entire session will be determined by the first interaction the client has with the server. For instance, if the client's first call to the server is TLS (DisableTLS = 0), the server-client communication will commence over TLS until the client application is terminated. However, if the server only supports SSLv3, all communication after the initial transmission will occur over SSLv3, to __and__ from the client, no matter what this option is set to. If you want to communicate without the possibility of using TLS, set this setting to 1 (true). | 0 - TLS Not disabled 1 - TLS Disabled |
Windows Mobile, Windows CE, Android, iOS | ||
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 |
Windows Mobile, Windows CE, Android, iOS | ||
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 |
Windows Mobile, Windows CE, Android, iOS | ||
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 |
Windows Mobile, Windows CE, Android, iOS | ||
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] | Windows Mobile, Windows CE, Android, iOS | ||
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 |
Windows Mobile, Windows CE, Android, iOS | ||
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) | Windows Mobile, Windows CE, Android, iOS | ||
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) | Windows Mobile, Windows CE, Android, iOS |
* 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.
Sometimes, while navigating from any page to any other page, the actual page zoom setting reflects after few milli seconds delay. This doesn’t happens everytime.
Setting page zoom property on page load event does not reflect the set value for the Application start page for the first time. Users are advised to set the page zoom property with a minimum of 1 second delay on page load.
Setting page zoom property on page load will reflect only for that page.
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.