Warning Older Docs! - You are viewing documentation for a previous released version of RhoMobile Suite.

RhoElements Configuration Settings

Configuration of RhoElements is managed through an XML file. Not every setting has a default so if the configuration file cannot be found, RhoElements will not start; an example configuration file is provided as part of the installation and will contain sensible defaults, this page explains the meanings of each of the settings and their possible values.

Configuration File Location

The location of the configuration file loaded by RhoElements is dependent 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 persistent 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 and you can also modify this behavior by changing \Application\RhoElements.cpy.

Configuration XML File Format

The following is an example of a typical configuration file, many of the attributes will be self explanatory but are explained in detail below.

<Configuration>
  <DebugButtons>
    <DebugButtonsEnabled VALUE="0" />
  </DebugButtons>
  <Logger>
    <LogProtocol  VALUE="FILE"/>
    <LogPort      VALUE="80"/>
    <LogURI       VALUE="file://\Program Files\RhoElements\Log.txt"/>
    <LogError     VALUE="1"/>
    <LogWarning   VALUE="1"/>
    <LogInfo      VALUE="1"/>
    <LogUser      VALUE="1"/>
    <LogMemory    VALUE="1"/>
    <LogMemPeriod VALUE="5000"/>
    <LogMaxSize   VALUE="10"/>
  </Logger>
  <FileLocations>
    <RegEXFile  VALUE="\Program Files\RhoElements\Config\RegEx.xml"/>
    <PluginFile VALUE="\Program Files\RhoElements\Config\Plugin.xml"/>
  </FileLocations>
  <Screen>
    <FullScreen VALUE="1"/>
  </Screen>
  <WebServer>
    <Enabled   VALUE="1"/>
    <Port      VALUE="8080"/>
    <WebFolder VALUE="\www"/>
    <Public    VALUE="0"/>
  </WebServer>
  <DeviceKeys>
    <FunctionKeysCapturable   VALUE="0"/>
    <EnableFunctionKey_F1     VALUE="0"/>
    <EnableFunctionKey_F2     VALUE="0"/>
    <EnableFunctionKey_F3     VALUE="0"/>
    <EnableFunctionKey_F4     VALUE="0"/>
    <EnableFunctionKey_F5     VALUE="0"/>
    <EnableFunctionKey_F6     VALUE="0"/>
    <EnableFunctionKey_F7     VALUE="0"/>
    <EnableFunctionKey_F8     VALUE="0"/>
    <EnableFunctionKey_F9     VALUE="0"/>
    <EnableFunctionKey_F10    VALUE="0"/>
    <EnableFunctionKey_F11    VALUE="0"/>
    <EnableFunctionKey_F12    VALUE="0"/>
    <EnableApplicationKey_A1  VALUE="0"/>   
    <EnableApplicationKey_A2  VALUE="0"/>   
    <EnableApplicationKey_A3  VALUE="0"/>   
    <EnableApplicationKey_A4  VALUE="0"/>   
    <EnableApplicationKey_A5  VALUE="0"/>   
    <EnableApplicationKey_A6  VALUE="0"/>   
    <EnableApplicationKey_A7  VALUE="0"/>   
    <EnableApplicationKey_A8  VALUE="0"/>   
  </DeviceKeys>
  <Navigation>
    <NavTimeout VALUE="45000"/>
  </Navigation>
  <ScreenOrientation>
    <AutoRotate VALUE="0"/>
  </ScreenOrientation>
  <Geolocation>
    <GeolocationEnabled VALUE="0"/>
  </Geolocation>
  <UserData>
  </UserData>  
  <Applications>
    <Application>
      <General>
        <Name                  VALUE="Menu"/>
        <StartPage             VALUE="file://\Program Files\RhoElements\HTML\Menu.htm" name="Menu"/>
        <UseRegularExpressions VALUE="0"/>
    </General>
      <HTTP_Proxy  VALUE="http://myproxy.com:1050"/> 
      <WebDB>
        <WebStorageDBPath VALUE="file://\Program Files\RhoElements"/>
        <WebSQLDBQuota    VALUE="5000000"/>
        <WebSQLDBPath     VALUE="file://\Program Files\RhoElements"/>
      </WebDB>
      <ApplicationCache>
        <ApplicationCachePath   VALUE="file://\Program Files\RhoElements"/>
        <ApplicationCacheQuota  VALUE="5000000"/>
      </ApplicationCache>
      <NPAPI>
        <NPAPIDirectory         VALUE="file://\Program Files\RhoElements\NPAPI\"/>
        <Preloads>
          <PreloadLegacyGeneric VALUE="1"/>
          <PreloadLegacyODAX    VALUE="1"/>
          <PreloadLegacyNoSIP   VALUE="1"/>
          <PreloadLegacyAirBeam VALUE="1"/>
          <PreloadLegacyAPD     VALUE="1"/>
          <PreloadJSObjects     VALUE="1"/>
        </Preloads>
      </NPAPI>    
      <Preloads>
        <Preload VALUE="Scanner"/>
        <Preload VALUE="Hourglass"/>
      </Preloads>
      <Scrolling>
        <ScrollTechnique VALUE="FingerScroll"/>
      </Scrolling>
      <Authentication>
        <Username VALUE="user"/>
        <Password VALUE="pass"/>
      </Authentication>
      <HTMLStyles>
        <FitToScreenEnabled    VALUE="1" />
        <FontFamily            VALUE="Tahoma" />
        <FontDirectory         VALUE="file://\Windows" />
      </HTMLStyles>
      <SIP>
        <ResizeOnSIP  VALUE="0"/>
        <EnableSIP    VALUE="1"/>
      </SIP>
      <System>
        <LowBatteryScan VALUE="0"/>
      </System>  
      <Scanner>
        <DisableScannerDuringNavigation VALUE="1"/>
      </Scanner>  
      <Sound>
        <DecodeVolume           VALUE="5"/>
        <DecodeFrequency        VALUE="0xBB8"/>
        <InvalidDecodeFrequency VALUE="0x9C4"/>
        <DecodeDuration         VALUE="250"/>
        <ScanDecodeWav          VALUE=""/>
        <ScanInvalidWav         VALUE=""/>
        <ImagerCaptureWav       VALUE=""/>
      </Sound>
      <GUI>
        <SignalRefresh      VALUE="5000"/>
        <BatteryRefresh     VALUE="5000"/>
        <HourglassEnabled   VALUE="1" />
        <HourglassLeft      VALUE="" />
        <HourglassTop       VALUE="" />
      </GUI>
      <Navigation>
        <BadLinkURI               VALUE=""/>
        <UserAgent                VALUE="Mozilla/5.0 (%p) AppleWebKit/%w (KHTML, like Gecko) MotorolaWebKit/%e Mobile Safari/%w" />
        <ViewportEnabled          VALUE="0"/>
        <ViewportWidth            VALUE="640"/>
    <CaFile                   VALUE="%INSTALLDIR%\server.pem"/>
    <CaPath                   VALUE=""/>
    <VerifyPeerCertificate    VALUE="1"/>
    <NetworkCookieDatabase    VALUE="file://\Program Files\RhoElements\cookies.db" />
    <Cache                    VALUE="5MB" />
        </Navigation>
      <DeviceKeys>
        <EnableCtrlKey_C          VALUE="0"/>
        <EnableCtrlKey_V          VALUE="0"/>
        <EnableBacklightSlider    VALUE="0"/>
        <EnableVolumeSlider       VALUE="0"/>
      </DeviceKeys>
      <DefaultMetaTags>
        <MetaTag VALUE="SignatureCapture~left:30;top:130;height:100;bgcolor:#663300;width:200;border:visible;visibility:visible;" />
        <MetaTag VALUE="Signal~left:10;top:200;color:#663300;"/>
      </DefaultMetaTags>
    </Application>
  </Applications>
</Configuration>

Description of Settings

Group\\XML Tag Configuration Identifier* Description Possible Values
DebugButtons\\
DebugButtonsEnabled
DEBUGBUTTONSENABLED When enabled automatically shows a set of controls useful for development and debugging purposes. Among others the back button, quit button and address bar are shown. 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 from JavaScript using the generic.log function and will appear in the same file as RhoElements logged data. 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 minimised using the Application tag. Some Windows Mobile devices feature a customized Motorola 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. 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 at the end of this document. 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 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 practise is to store your first page locally to avoid connectivity issues at start up, you can then redirect to an online 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 give an improvment of 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 Motorola 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 Motorola 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
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\\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 Scanner-Enabled is called the Scanner plugin DLL will be loaded into memory which takes a finite amount of time when it is first performed. To prevent the user noticing any lag when using their application modules can be loaded in the background when RhoElements first 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 about the page:
FingerScroll - You can scroll around the page using finger swiping.
Scrollbars - When the size of the page is larger than the screen scrollbars will be presented which can be used to scroll the page (Not available on Android)
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
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 user 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 user application should be designed to handle this scenario.
ASCII text
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 Motorola WM / CE devices, note that Tahoma has no italic or oblique variants. On the Enterprise Tablet the default is Droid Sans Fallback. The font specified 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 Motorola WM / CE devices. Not applicable to the Enterprise Tablet. \Windows
SIP\\ResizeOnSIP RESIZEONSIP When enabled the browser window will resize to accommodate the SIP 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. (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 scanner.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 meta tag for more information. Refresh rate in milliseconds
GUI\\BatteryRefresh BATTERYREFRESH Specifies the refresh rate of the battery display, see the Battery meta tag 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 in 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 self as the specified user agent. 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 http://www.openssl.org/docs/ssl/SSL_CTX_load_verify_locations.html. This setting is supported on Windows Mobile / CE and Android. Local File name on the device.
Navigation\\CaPath CAPATH A directory containing CA certificates in PEM format (one certificate per file). The OpenSSL c_rehash utility must be used to generate appropriately named links to the certificate files. See http://www.openssl.org/docs/ssl/SSL_CTX_load_verify_locations.html for more information. This setting is supported on Windows Mobile / CE and Android. Local File path 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 tilde 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

* 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

Optimizing The Runtime

RhoElements will be installed to the device with all default functionality enabled out of the box, including the barcode scanner. This section describes how you can customize the RhoElements runtime to only load the functionality your application requires and specify when you want to load it.

Consider an application which opens the Card Reader on the first page:

<META HTTP-Equiv="CardReader" Content="Open" />

There are two circumstances to consider:

1) The Card Reader module is Preloaded in Config.xml See Configuration Settings for details of how to preload modules In this case RhoElements opens the card reader more or less immediately with no noticeable delay to the user.

2) The Card Reader module was not Preloaded In this case the Card Reader module (contained in the plugin PB_CardReader_PLG.dll) is loaded into memory and initialized, this in turn will initialize the hardware which could cause a noticeable delay depending on the device in use and the exact hardware.

The benefits of preloading plugins are obvious. The benefits of not preloading plugins are that RhoElements will run with a smaller memory footprint until the additional functionality is required and the start up time will be reduced.

Plugin.xml

Plugin.xml contains a mapping between the plugin DLL names, the modules contained within each plugin and any alias' assigned to the modules. Plugin.xml does not specify which plugins to load, modules will only be loaded when they are needed or when they are preloaded. It is recommended you do not edit this file, doing so may cause RhoElements to be unable to locate plugins on the device, rendering the modules within the missing plugins non-functional.

Necessary Modules

In order for RhoElements to function correctly it is necessary to preload some modules, this section details what those modules are and why they are necessary. By default after a standard installation the Config.xml copied to the device will preload the necessary modules.

Hourglass

When you navigate between pages you would expect to be shown an illustration of a rotating cursor. If the Hourglass module is not preloaded this cursor will not be shown.

Note that the hourglass will be shown during page transitions if it is loaded by another means, e.g. calling:

<META HTTP-Equiv="Hourglass" Content="Visibility:Visible" />
Hourglass and SIP modules are located in the same Plugin (PB_DeviceApplication_PLG.dll)

Key Capture

The following Configuration Settings require the Key Capture module to be preloaded in order to take effect:

  • EnableFunctionKey_FX
  • EnableApplicationKey_AX
  • EnableCtrlKey_X

SIP

The following Configuration Settings require the SIP module to be preloaded in order to take effect:

  • ResizeOnSIP
Hourglass and SIP modules are located in the same Plugin (PB_DeviceApplication_PLG.dll)

Special Case – License Screen

The licensing screen utilizes the Scanner module to ease the input of licensing barcodes. Developers should be aware that using unlicensed devices can cause the scanner to be loaded, increasing the memory footprint of RhoElements. Licensed versions of RhoElements will just show a start up splash screen and will not load the scanner unnecessarily.

Recommended Modules

It is recommended that the JavaScript objects are preloaded if they are being used in a RhoElements application. This is accomplished by changing the NPAPI section of the Config.xml

<NPAPI>
    <NPAPIDirectory VALUE="file://\Program Files\RhoElements\NPAPI\"/>
    <Preloads>
        <PreloadLegacyGeneric VALUE="0"/>
        <PreloadLegacyODAX    VALUE="0"/>
        <PreloadLegacyNoSIP   VALUE="0"/>
        <PreloadLegacyAirBeam VALUE="0"/>
        <PreloadLegacyAPD     VALUE="0"/>
        <PreloadJSObjects     VALUE="1"/>
    </Preloads>
</NPAPI>
Some JavaScript libraries may incorrectly think that RhoElements supports traditional ActiveX. By only loading the JS objects described above may resolve this issue.

Plugin Dependencies

Some plugins depend on other plugins to function properly, this section details the relationships between plugins and how the absence of one will affect the other. If the required plugin is not preloaded RhoElements will load it at runtime; to produce the best user experience it is recommended to preload all required plugins. If the required plugin can not be loaded (e.g. the DLL is missing from the device or Plugin.xml) the dependent plugin will function with reduced capabilities.

File Transfer

The File Transfer Plugin (PB_FileTransfer_PLG.dll) is critical to the proper working of multiple plugins.

Signature Capture (PB_Signature_PLG.dll) requires File Transfer to transmit the signature bitmap file to a remote server via its ‘Capture’ method, without File Transfer the file will not be transferred and the signature bitmap will remain stored in the root of the device (by default).

The buttons and command areas (PB_Controls_PLG.dll) require File Transfer if you specify a remote image for the ‘ImageUp’ or ‘ImageDown’ parameters. If the file transfer plugin can not be loaded the default image will be shown on the button / command area. The following modules are affected in PB_Controls_PLG: Back Button, Forward Button, Go Button, Home Button, Minimize Button, Quit Button, Reload Button, SIP Button, Stop Button, Bottom Command Area, Top Command Area

The Imager Plugin (PB_ImageCapture_PLG.dll) requires File Transfer if you transmit the captured image to a remote server via the ‘Capture’ method. Without File Transfer the file will not be transferred and the image will be stored by default in the root of the device, overwritten by each subsequent capture.

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)
Back to Top