Known limitations

General limitations apply to IBM MobileFirst™ Platform Foundation as detailed here. Limitations that apply to specific features are explained in the topics that describe these features.

In this documentation, you can find the description of IBM MobileFirst Platform Foundation known limitations in different locations:
  • When the known limitation applies to a specific feature, you can find its description in the topic that explains this specific feature. You can then immediately identify how it affects the feature.
  • When the known limitation is general, that is, applies to different and possibly not directly related topics, you can find its description here.
Note: For more information about product known limitations or issues, see Known issues.

Globalization

If you are developing globalized apps, notice the following restrictions:
  • Part of the product IBM MobileFirst Platform Foundation V7.1.0, including its documentation, is translated in the following languages: Simplified Chinese, Traditional Chinese, French, German, Italian, Japanese, Korean, Portuguese (Brazil), Russian, and Spanish. Mainly user-facing text is translated.
  • The applications that are generated by IBM MobileFirst Platform Foundation are not fully bidirectional enabled. Mirroring of the graphic user interface (GUI) elements and the control of the text direction are not provided by default. However, there is no hard dependency from the generated applications on this limitation. It is possible for the developers to achieve full bidi compliance by manual adjustments in the generated code.
  • Although translation into Hebrew is provided for IBM MobileFirst Platform Foundation core functionality, some GUI elements are not mirrored.
  • Names of projects, apps, adapters, Dojo custom builds and Dojo library projects must be composed only of the following characters:
    • Uppercase and lowercase letters (A-Z and a-z)
    • Digits (0-9)
    • Underscore (_)
    Some examples of the problems that you might encounter if the names of your Dojo library projects are NL strings are the incorrect display of the UI pattern preview, the failure of the generation of the Dojo custom build, and the failure to display the NL string in the Dojo custom build console.
  • There is no support for Unicode characters outside the Basic Multilingual Plane.
IBM MobileFirst Platform Application Center mobile client

The Application Center mobile client follows the cultural conventions of the running device, such as the date formatting. It does not always follow the stricter International Components for Unicode (ICU) rules.

BlackberryThe Application Center mobile client for BlackBerry has the following known limitations:
  • It supports only a limited set of languages. In particular, it does not fully support right-to-left languages, such as Arabic and Hebrew.
  • It does not support Unicode characters outside the Basic Multilingual Plane.
  • It supports Unicode characters inside the Basic Multilingual Plane but how these characters are displayed depends on the fonts that are available on the device
IBM MobileFirst Platform Operational Analytics
The IBM MobileFirst Platform Operational Analytics has the following limitations:
  • In Analytics Console, the format for numbers does not follow the International Components for Unicode (ICU) rules.
  • In Analytics Console, the numbers do not use the user's preferred number script.
  • In Analytics Console, the format for dates, times, and numbers are displayed according to the language setting of the operating system rather than the locale of Microsoft Internet Explorer.
  • When you create a custom filter for a custom chart, the numerical data must be in base 10, Western, or European numerals, such as 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
  • When you create a custom filter for a custom chart, the query of a custom filter does not use Unicode Normalization Forms C (NFC) for comparison. The query does not consider language sensitivity such as normal matching, accent-insensitive, case-insensitive, and 1-to-2 mapping for search function to run correctly in different languages. The message property uses NFC and considers language sensitivity though.
  • If you are using the latest interim fix of IBM MobileFirst Platform Foundation, the numerical data must be in base 10, Western, or European numerals, such as 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, when you create an alert in the Alert Management page of the Analytics Console.
  • The Analytics page of the MobileFirst Operations Console supports the following browsers:
    • Microsoft Internet Explorer version 10 or later
    • Mozilla Firefox ESR or later
    • Apple Safari on iOS version 7.0 or later
    • Google Chrome latest version
IBM MobileFirst Platform Operations Console
The MobileFirst Operations Console has the following limitations:
  • Provides only partial support for bidirectional languages.
  • The text direction cannot be changed when notification messages are sent to an Android device :
    • if the first letters typed are in a right-to-left language, such as Arabic and Hebrew, the whole text direction is automatically right-to-left.
    • if the first letters typed are in a letf-to-right language, the whole text direction is automatically left-to-right.
  • Some error messages of the MobileFirst Operations Console are not translated because they are generated at the server side.
IBM MobileFirst Platform Studio
The MobileFirst Studio has the following limitations:
  • Provides only partial support for bidirectional languages.
  • The dates and numbers might not be formatted according to the locale.
Server Configuration Tool
The Server Configuration Tool has the following restrictions:
  • The descriptive name of a server configuration can contain only characters that are in the system character set. On Windows, it is the ANSI character set.
  • Passwords that contain single quotation mark or double quotation mark characters might not work correctly.
  • The console of the Server Configuration Tool has the same globalization limitation as the Windows console to display strings that are out of the default code page.
You might also experience restrictions or anomalies in various aspects of globalization because of limitations in other products, such as browsers, database management systems, or software development kits in use. For example:
  • You must define the user name and password of the Application Center with ASCII characters only. This limitation exists because IBM® WebSphere® Application Server (full or Liberty profiles) does not support non-ASCII passwords and user names. See Characters that are valid for user IDs and passwords.
  • On Windows:
    • To see any localized messages in the log file that the test server that is embedded in MobileFirst Studio creates, you must open this log file with the UTF8 encoding.
    • In the test server console in Eclipse, the localized messages are not properly displayed.
    These limitations exist because of the following causes:
    • The test server is installed on IBM WebSphere Application Server Liberty profile, which creates log file with the ANSI encoding except for its localized messages for which it uses the UTF8 encoding.
    • The test server console in Eclipse displays the content by using the ANSI encoding, not the UTF8 encoding.
  • In Java™ 7.0 Service Refresh 4-FP2 and previous versions, you cannot paste Unicode characters that are not part of the Basic Multilingual Plane into the input field. To avoid this issue, create the path folder manually and choose that folder during the installation.
  • Custom title and button names for the alert, confirm, and prompt methods must be kept short to avoid truncation at the edge of the screen.
  • The applications that are developed with MobileFirst Application Framework running in Portuguese (Portugal) will see runtime messages in Portuguese (Brazil).
  • JSONStore does not handle normalization. The Find functions for the JSONStore API do not take account of language sensitivity such as accent insensitive, case insensitive, and 1 to 2 mapping.
  • The sorted results of JSONStore Find API are not language-specific and not compliant with Common Locale Data Repository (CLDR) rules.

Adapters

Third-party adapter dependencies
MobileFirst Server comes packaged with the following third-party dependencies. Ensure that you do not package different versions of those dependencies in your project.
  • commons-cli:commons-cli:jar:1.2
  • commons-fileupload:commons-fileupload:jar:1.3.1
  • com.fasterxml.jackson.core:jackson-databind:jar:2.2.2
  • com.fasterxml.jackson.core:jackson-annotations:jar:2.2.2
  • com.fasterxml.jackson.core:jackson-core:jar:2.2.2
  • com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:jar:2.2.2
  • com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:jar:2.2.2
  • com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.2.2
  • commons-logging:commons-logging:jar:1.1.3
  • org.codehaus.jackson:jackson-core-asl:jar:1.9.13
  • org.codehaus.jackson:jackson-mapper-asl:jar:1.9.13
  • commons-dbcp:commons-dbcp:jar:1.4
  • commons-pool:commons-pool:jar:1.6
  • commons-codec:commons-codec:jar:1.9
  • com.thoughtworks.xstream:xstream:jar:1.2.2.osgi
  • xpp3:xpp3_min:jar:1.1.3.4.Oosgi
  • org.springframework:spring-beans:jar:3.2.13.RELEASE
  • org.springframework:spring-core:jar:3.2.13.RELEASE
  • org.springframework:spring-jdbc:jar:3.2.13.RELEASE
  • org.springframework:spring-tx:jar:3.2.13.RELEASE
  • org.springframework:spring-web:jar:3.2.13.RELEASE
  • org.springframework:spring-aop:jar:3.2.13.RELEASE
  • aopalliance:aopalliance:jar:1.0.osgi
  • org.springframework:spring-orm:jar:3.2.13.RELEASE
  • org.springframework:spring-context:jar:3.2.13.RELEASE
  • org.springframework:spring-expression:jar:3.2.13.RELEASE
  • org.slf4j:slf4j-api:jar:1.6.1
  • org.slf4j:slf4j-jdk14:jar:1.6.1
  • commons-io:commons-io:jar:2.4
  • commons-lang:commons-lang:jar:2.6
  • org.apache.commons:commons-lang3:jar:3.3.2
  • oro:oro:jar:2.0.8.v201005080400
  • org.eclipse.wst.jsdt:debug.rhino.debugger:jar:1.0.400
  • org.eclipse.wst.jsdt:debug.core:jar:3.1.100
  • org.eclipse.wst.jsdt:debug.transport:jar:1.0.200
  • org.apache.httpcomponents:httpcore:jar:4.3.2
  • org.apache.httpcomponents:httpclient-osgi:jar:4.3.4
  • org.apache.httpcomponents:httpclient:jar:4.3.4
  • org.apache.httpcomponents:httpclient-cache:jar:4.3.4
  • org.apache.httpcomponents:fluent-hc:jar:4.3.4
  • org.apache.httpcomponents:httpmime:jar:4.3.4
  • com.ibm.json:json4j:jar:1.0.0.1wl
  • tagsoup:tagsoup:jar:1.2.osgi
  • com.notnoop.apns:apns:jar:0.2.3
  • org.apache.geronimo.specs:geronimo-jpa_1.0_spec:jar:1.1.2
  • org.apache.openjpa:openjpa:jar:1.2.2
  • net.sourceforge.serp:serp:jar:1.13.1.osgi
  • commons-collections:commons-collections:jar:3.2.2
  • org.apache.commons:commons-collections4:jar:4.1
  • org.ow2.asm:asm:jar:3.2.0.v200909071300
  • bouncycastle:bcprov-jdk14:jar:1.45
  • com.sun.xml.bind:jaxb-impl:jar:2.1.12.osgi
  • org.scannotation:scannotation:jar:1.0.2.osgi
  • com.google.code.gson:gson:jar:2.3.1
  • joda-time:joda-time:jar:2.3
  • com.ibm.g11n:ibm-accept-lang:jar:20130708
  • com.ibm:license_metric_logger:jar:2.1.1
  • com.google.api-client:google-api-client:jar:1.18.0-rc
  • com.google.oauth-client:google-oauth-client:jar:1.18.0-rc
  • com.google.http-client:google-http-client:jar:1.18.0-rc
  • com.google.code.findbugs:jsr305:jar:1.3.9
  • com.google.api-client:google-api-client-gson:jar:1.18.0-rc
  • com.google.http-client:google-http-client-gson:jar:1.18.0-rc
  • com.ibm.mobile:cloudant-client:jar:1.0.1-wl-201506181645
  • org.osgi:org.osgi.core:jar:4.3.1
  • org.osgi:org.osgi.compendium:jar:4.2.0
  • org.mozilla:rhino:jar:1.7R4
  • javax.transaction:jta:jar:1.1.1.v201105210645
  • javax.mail:mail:jar:1.4.0.v201005080615
  • com.ibm.web20fep.jaxrs:ibm_web20_jsr311-api:jar:1.1
  • com.ibm.web20fep.jaxrs:ibm_web20_wink_no_abdera_no_jackson:jar:1.1.0.0-20110422
  • com.google.guava:guava:jar:14.0.1
isSuccessful is a reserved JSON object key
isSuccessful is a reserved key name in the JSON object that is used by the MobileFirst server-client protocol. You cannot use isSuccessful as a key name in the JSON object that is returned in any of your adapter procedures.

Add button in Mobile Navigation view does not work

The Add button in the Mobile Navigation view does not work on files that are created with the jQuery Mobile HTML template. This template is part of the New Web Page wizard that you use to create a new web page for your app.

The work-around for this limitation is to force set WLJQ. Add the following line to the head element of the web page if you are using the embedded Safari browser. Safari is the default embedded browser option on Mac.
<script>window.$ = window.jQuery = WLJQ;</script>
This change is not required if you are using the Firefox or Internet Explorer browsers on Windows.

Application authenticity

Extended application authenticity for iOS
Extended application-authenticity validation is not supported for iOS apps that are installed from the Apple app store. You can still use basic application-authenticity validation for such apps. For more information, see Note About Application Authenticity Failures in Applications Downloaded from the Apple App Store. For information about the different types of MobileFirst application-authenticity validations, see MobileFirst application authenticity overview.
Android

Application Center mobile client: refresh issues on Android 4.0.x

Android 4.0.x WebView component is known to have several refresh issues. Updating devices to Android 4.1.x should provide a better user experience.

If you build the Application Center client from sources, disabling the hardware acceleration at the application level in the Android manifest should improve the situation for Android 4.0.x. In that case, the application must be built with Android SDK 11 or later.

Application Center and Microsoft Windows Phone 8.1

Application Center supports the distribution of applications as Windows Phone application package (.xap) files for Microsoft Windows Phone 8.0 and Microsoft Windows Phone 8.1. With Microsoft Windows Phone 8.1, Microsoft introduced a new universal format as app package (.appx) files for Windows Phone. Currently, Application Center does not support the distribution of app package (.appx) files for Microsoft Windows Phone 8.1, but is limited to Windows Phone application package (.xap) files only.

Application Center supports the distribution of app package (.appx) files for Microsoft Windows Store (Desktop applications) only.

Application servers restrictions for MobileFirst Data Proxy

You cannot install MobileFirst Data Proxy on the following application servers:
  • Apache Tomcat
  • Versions of WebSphere Application Server Liberty profile earlier than V8.5.5.0.

Analytics page of the MobileFirst Operations Console

Response times in the Analytics page of the MobileFirst Operations Console depend on several factors, such as hardware (RAM, CPUs), quantity of accumulated analytics data, and IBM MobileFirst Platform Operational Analytics clustering. Consider testing your load before you integrate IBM MobileFirst Platform Operational Analytics into production.

Deploying MobileFirst Server on IBM PureApplication System

For a list of limitations that apply when deploying MobileFirst Server on IBM PureApplication® System, see Limitations.

Deployment of an app from MobileFirst Studio to Tomcat

If you use Tomcat as an external server in Eclipse (for example to test and debug the applications directly in MobileFirst Studio), the following restrictions apply:
  • The context path that you set to your project is ignored. When you deploy your app from MobileFirst Studio to Tomcat, the default context path, which is the project name, is used instead of the context path. The URL of the MobileFirst Operations Console for your app similarly uses the project name.
  • When you deploy your app from MobileFirst Studio to Tomcat, the deployed WAR file is not visible in the Server view of Eclipse (in MobileFirst Studio), even if the application is correctly deployed.

To avoid these issues, keep the default value of the context path of your project, which is the project name.

Error when importing a MobileFirst Studio-compressed project on Mac OS X

When you try to import a compressed project into your workspace, the import process might stop due to a file permissions issue.

You see a FWLPL0019E error in the MobileFirst Studio console and logs. For example: FWLPL0019E: Migrating the <projectName> project from version <x> to version <y> has failed because Cannot read file <z> after that the project will stay in closed state in the user's workspace.

The compressed (.zip) file does not always preserve UNIX file permissions correctly. Thus, complete the following steps to edit the imported compressed file.
  1. Expand the compressed file to a directory and change all of the file permissions to allow read access.
  2. Compress the file again.
  3. Reimport the file by using MobileFirst Studio.
You can change the file permissions in either the Finder or on the command line if you run chmod 755 on all of the files.

Error when pushing an application or an adapter to a MobileFirst Server

When you push an application or an adapter to a MobileFirst Server, a message reports the following error: Runtime '<YourRuntime>' is not available on this server.

All applications and adapters are pushed to a MobileFirst Server runtime. The runtime is defined by your MobileFirst project that contains the applications and adapters. Before you push these applications and adapters to the MobileFirst Server, the associated runtime must also be deployed to the MobileFirst Server, and the server must be running. The error that you encountered indicates that the CLI can not locate the associated runtime on the target MobileFirst Server.

The CLI can not detect a given runtime on a MobileFirst Server for one or more of the following reasons:
  • The MobileFirst Server is not running.
  • There is no network connectivity between the system running the CLI and the MobileFirst Server.
  • You have not deployed the runtime to the MobileFirst Server.
Actions:
  1. Confirm that the MobileFirst Server is running.
    • Local MobileFirst Server:
      1. Run mfp status. For more information, see status.
      2. If the MobileFirst Server is not running:
        1. Change directories into the top level directory of the associated project. Run cd <your mfp back-end project>.
        2. Run mfp start.
        3. Run mfp status to ensure that the MobileFirst Server started.
    • Remote MobileFirst Server:
      1. Run the mfp server info command and identify the target remote server. Note the corresponding URL and Name values.
      2. Ping the host specified in the target server's URL. Do not include the port or protocol. For example: ping remotehost.com. If the host is unreachable or the pings timeout, contact the server administrator to have the server started and verify that there are no network connectivity issues.
      3. Assuming the server is running, run the mfp server info <server> command, where <server> is the Name value from the previous mfp server info command.
      4. If the MobileFirst Server information is displayed, the MobileFirst Server is running. Otherwise contact your server administrator to start the MobileFirst Server. For more information, see server info.
  2. Determine the required runtime name.
    • The runtime name is the value of the <name> argument given at the time of creation via the mfp create <name> command. This is also the default top level project directory name of your project.
  3. If you know that the MobileFirst Server is running, confirm that the required runtime is installed and running on that MobileFirst Server. For both a local and remote server:
    1. Run the mfp server info command and identify the target remote server Name value. The local MobileFirst Server name is typically local.
    2. Run the mfp server info <server> command, where <server> is the Name value from the previous step.
    3. Look at the command output and find the runtimes listed under the Runtime section.
    4. If the runtime name from Step 2 is not included, proceed to step 4.
  4. Build, install and start a runtime on the MobileFirst Server.
    • Local MobileFirst Server:
      1. Change directories into the associated project's root directory. Run cd <your mfp back-end project>.
      2. Confirm that the local MobileFirst Server is started by running the mfp status command. If the server is not running, run mfp start.
      3. Run mfp push local. This builds the runtime WAR file, and automatically installs it on the local MobileFirst Server. For more information, see push.
      4. Refer to step 3 to ensure that the runtime is correctly installed and running on the local MobileFirst Server.
      5. If the runtime is not present, run mfp restart to restart the local MobileFirst Server. For more information, see restart.
    • Remote MobileFirst Server:
      1. Change directories into the associated project's root directory. Run cd <your mfp back-end project>.
      2. Run the mfp push --nosend command to build the runtime WAR file, but not install it. The WAR file can only be deployed on a local server. For more information, see push.
      3. Complete the instructions here: Deploying MobileFirst projects.
      4. Refer to step 3 to ensure that the runtime is correctly installed and running on the target remote MobileFirst Server.

FileNotFoundExceptions when file paths include spaces

The MobileFirst Development Server (an instance of the WebSphere Application Server Liberty profile server) cannot handle an Eclipse workspace path with white space. As a result, a simple app cannot be deployed or previewed. In MobileFirst Operations Console, an error message is displayed:
Server error. Contact the server administrator.
In the log file, the following error messages are logged:
[12/11/14 10:27:57:376 IST] 0000002f m.ibm.ws.container.service.app.deploy.ManifestClassPathUtils W SRVE9967W: The manifest class path jaxb-api.jar can not be found in jar file wsjar:file:/home/administrator/.ibm/mobilefirst/6.3.0/server/wlp/usr/servers/worklight/apps/worklightconsole.war!/WEB-INF/lib/jaxb-impl-2.1.12.osgi.jar or its parent.
[12/11/14 10:27:57:376 IST] 0000002f m.ibm.ws.container.service.app.deploy.ManifestClassPathUtils W SRVE9967W: The manifest class path activation.jar can not be found in jar file wsjar:file:/home/administrator/.ibm/mobilefirst/6.3.0/server/wlp/usr/servers/worklight/apps/worklightconsole.war!/WEB-INF/lib/jaxb-impl-2.1.12.osgi.jar or its parent.
[12/11/14 10:27:57:376 IST] 0000002f m.ibm.ws.container.service.app.deploy.ManifestClassPathUtils W SRVE9967W: The manifest class path jsr173_1.0_api.jar can not be found in jar file wsjar:file:/home/administrator/.ibm/mobilefirst/6.3.0/server/wlp/usr/servers/worklight/apps/worklightconsole.war!/WEB-INF/lib/jaxb-impl-2.1.12.osgi.jar or its parent.
[12/11/14 10:27:57:377 IST] 0000002f m.ibm.ws.container.service.app.deploy.ManifestClassPathUtils W SRVE9967W: The manifest class path jaxb1-impl.jar can not be found in jar file wsjar:file:/home/administrator/.ibm/mobilefirst/6.3.0/server/wlp/usr/servers/worklight/apps/worklightconsole.war!/WEB-INF/lib/jaxb-impl-2.1.12.osgi.jar or its parent.
[12/11/14 10:27:57:637 IST] 00000029 com.ibm.ws.webcontainer.osgi.webapp.WebGroup I SRVE0169I: Loading Web Module: IBMJMXConnectorREST.

This is a known limitation of WebSphere Application Server Liberty profile 8.5.5.3. The error can happen on production MobileFirst Server if it is based on WebSphere Application Server Liberty profile 8.5.5.3. For more information, see PI26149: FILENOTFOUNDEXCEPTIONS WHEN FILE PATHS INCLUDE SPACES.

Do not use an Eclipse workspace path or a file path with white space.

FIPS 140-2 feature limitations

The following known limitations apply when you use the FIPS 140-2 feature in IBM MobileFirst Platform Foundation:
  • This FIPS 140-2 validated mode applies only to the protection (encryption) of local data that is stored by the JSONStore feature and protection of HTTPS communications between the MobileFirst client and the MobileFirst Server.
    • For HTTPS communications, only the communications between the MobileFirst client and the MobileFirst Server use the FIPS 140-2 libraries on the client. Direct connections to other servers or services do not use the FIPS 140-2 libraries.
  • This feature is only supported on the iOS and Android platforms.
    • On Android, this feature is only supported on devices or simulators that use the x86 or armv7 architectures. It is not supported on Android using armv5 or armv6 architectures. The reason is because the OpenSSL library used did not obtain FIPS 140-2 validation for armv5 or armv6 on Android. FIPS 140-2 is not supported on 64-bit architecture even though the MobileFirst library does support 64-bit architecture. FIPS 140-2 can be run on 64-bit devices if there are only 32-bit native NDK libraries in the project.
    • On iOS, it is supported on i386, armv7, and armv7s architectures.
  • This feature works with hybrid applications only (not native).
  • The use of the user enrollment feature on the client is not supported by the FIPS 140-2 feature.
  • The Application Center client does not support the FIPS 140-2 feature.
For more information about this feature, see FIPS 140-2 support.

IBM MobileFirst Platform for iOS compatibility framework limitations

The compatibility framework has the following limitations:
  • IMFClient:unregisterAuthenticationDelegateForRealm has no effect as WLClient does not support unregistering challenge handlers. The work-around is to create an empty challenge handler that does nothing and register it for the same realm name.
  • IMFResurceRequest:setHTTPMethod has no effect as the HTTP method is immutable in WLResourceRequest class.
  • In [IMFClient initializeWithBackendRoute:backendGUID], the backendGUID parameter is ignored.

IBM MobileFirst Platform Foundation components cannot contain multiple environments

During the creation of a MobileFirst component, you include Android as well as iPhone or iOS environments. The addition of the same component fails because it contains multiple environments.

Separate MobileFirst component needs to be created for each environment, such as Android, iOS or iPhone.

Installation of a fix pack or interim fix to the Application Center or the MobileFirst Server

When you apply a fix pack or an interim fix to Application Center or MobileFirst Server, manual operations are required, and you might have to shut down your applications for some time. For more information, see Upgrading to IBM MobileFirst Platform Foundation V7.1.0 or Upgrading to MobileFirst Server V7.1.0 in a production environment.

Installation on a cluster of IBM WebSphere Application Servers Liberty profile that you administer with a collective controller

The following limitations apply if you install MobileFirst Server on a cluster of IBM WebSphere Application Servers, Liberty profile, that you administer with a collective controller:
  • The Application Center installation with the MobileFirst Server installer does not use the collective controller. You must install MobileFirst Server on each server separately.
  • The MobileFirst Operations Console installation with the <configureApplicationServer> Ant task does not use the collective controller. You must run the <configureApplicationServer> Ant task for each server separately.

JSONStore resources for iPhone and iPad

When you develop apps for iPhone and iPad, the JSONStore resources are always packaged in the application, regardless of whether you enabled JSONStore or not in the application descriptor. The application size is not reduced even if JSONStore is not enabled.

JSONStore supported architectures

For Android, JSONStore supports the following architectures: ARM, ARM v7, and x86 32-bit. Other architectures are not currently supported. Trying to use other architectures will lead to exceptions and potential application crashes.

JSONStore is not supported for native Windows Universal.

Liberty server limitations

If you use the Liberty studio server on a 32-bit JDK 7, Eclipse might not start, and you might receive the following error: Error occurred during initialization of VM. Could not reserve enough space for object heap. Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit.

To fix this issue, use the 64-bit JDK with the 64-bit Eclipse and 64-bit Windows. If you use the 32-bit JDK on a 64-bit machine, you might configure JVM preferences to mx512m and -Xms216m.

Limited device count by application when the runtime database is Cloudant®

The license tracking report can show the device count for 200 deployed applications only. Even in cases where more applications are deployed, the device count of these additional deployed applications cannot be displayed.

LTPA token limitations

An SESN0008E exception occurs when an LTPA token expires before the user session expires.

An LTPA token is associated with the current user session. If the session expires before an LTPA token expires, a new session is created automatically. However, when an LTPA token expires before a user session expires, the following exception occurs:
com.ibm.websphere.servlet.session.UnauthorizedSessionRequestException: SESN0008E: A user authenticated as anonymous has attempted to access a session owned by {user name}
To resolve this limitation, you must force the user session to expire when the LTPA token expires.
  • On WebSphere Application Server Liberty, set the httpSession attribute invalidateOnUnauthorizedSessionRequestException to true in the server.xml file.
  • On WebSphere Application Server, add the session management custom property InvalidateOnUnauthorizedSessionRequestException with the value true to fix the issue.
Note: On certain versions of WebSphere Application Server or WebSphere Application Server Liberty, the exception is still logged, but the session is correctly invalidated. For more information, see APAR PM85141.

Minification of resources limitations

If you write your JavaScript code in a way that is not recommended, but allowed, and use the Google Closure Compiler, you might encounter problems. For more information about this limitation, see Google Closure Compiler forum.

OAuth API support

The WLAuthorizationManager and WLResourceRequest classes exist in JavaScript for developing hybrid apps, in Java for developing native apps on Android environment, and in Objective-C for developing native apps on iOS environment. However, they are not available in the C# API for developing native apps on Windows Phone Silverlight 8 and Windows 8 Universal environments.

Obfuscation of Windows Phone Silverlight 8 environment does not render the HTML page

If you add a Windows Phone Silverlight 8 environment to an app, and build and deploy that app with the optimization level set to simple, the HTML page is not displayed. The HTML page is not rendered on both devices and emulator.

To render the HTML page, use the following settings in your build-settings.xml file.
<windowsPhone8>
  <minification level="simple" excludes="cordova.js">
  <concatenation includes="*">
</windowsPhone8>
For more information about the build-settings.xml file, see MobileFirst application build settings.

Physical iOS device required for testing extended app authenticity

The testing of the extended app authenticity feature requires a physical iOS device, because an IPA cannot be installed on an iOS simulator.

Rich Page Editor

The Rich Page Editor fails to show your page when the code that initializes it attempts to communicate with MobileFirst Server.

The Rich Page Editor simulates the mobile device environment without any connection to a real server. If the code that initializes your page tries to communicate with MobileFirst Server, a failure occurs. Because of this failure, the page content remains hidden, and you cannot use the Design pane of the Rich Page Editor.

As an example, a failure occurs if your page calls an adapter procedure in the wlCommonInit() function or the wlEnvInit() function.

In general, however, the initialization code is not strictly necessary to get a reasonable visual rendering of your page. To avoid this limitation, temporarily remove the "display: none" style from the body element in your page. Your page then renders even if the initialization functions do not execute completely.
Note:
  • The standard Eclipse editor does not handle UTF-8 with the BOM (byte order mark) properly, therefore the Rich Page Editor does not support UTF-8 with byte order mark.
  • The Rich Page Editor supports jQuery mobile 1.4.2. It does not support jQuery mobile 1.4.1.

Session-independent mode limitations

Session-independent mode became available starting from V7.1.0.

  • Clients that were created using a version of IBM MobileFirst Platform Foundation earlier than V7.1.0 do not work with a MobileFirst Server that is operating in the new session-independent mode.
  • Session-independent mode is not supported in configurations of IBM MobileFirst Platform Foundation that include any of the following components or environments:
    • Blackberry
    • Windows Phone Silverlight 8 (native)
    • Adobe AIR
    • Desktop browser
    • Mobile web apps
    • JavaME native
    • Geolocation
    • USSD

For more information, see Session-independent mode.

Android

Support for Android Emulator 2.3.x

IBM MobileFirst Platform Foundation does not support Android Emulator 2.3.x because of known issues, as detailed in the Android list of issues at https://code.google.com/p/android/issues/list (search for issue 12987).

Support of Oracle 12c by MobileFirst Server

The installation tools of the MobileFirst Server (Installation Manager, Server Configuration Tool, and Ant tasks) support installation with Oracle 12c as a database.

The users and tables can be created by the installation tools but the database, or databases, must exist before you run the installation tools.

User Certificate Authentication feature limitations

The following known limitations apply when you use the User Certificate Authentication feature in IBM MobileFirst Platform Foundation:
  • This feature is available only on the hybrid iOS and Android environments for this current release.
  • This feature is not supported by the FIPS 140-2 feature.
  • This feature is supported on WebSphere Application Server and WebSphere Application Server Liberty profile.
  • This feature does not support an environment where the MobileFirst Server is protected by container security that requires a CLIENT-CERT authentication method. Instead, the server must be configured to accept the client certificate optionally, and not require one.
  • Self-signed certificates are not supported by the User Certificate Authentication feature.
  • This feature cannot be used when you use the IBM HTTP Server between the client device and the MobileFirst Server. The IBM HTTP Server is unable to provide user identity to the MobileFirst Server after authenticating with the client certificate.

Windows Phone 8 and Windows 8 naming

From IBM MobileFirst Platform Foundation V7.1.0 onwards, Windows Phone 8 is referred to as Windows Phone Silverlight 8 and Windows 8 is referred to as Windows 8 Universal. However, in some product components, the old names are kept. When you create a Windows 8 Universal app in MobileFirst Studio, the folder named as windows8 is created. The same when you create a Windows Phone Silverlight 8 app in MobileFirst Studio. The folder name named as windowsphone8 is created. In these cases, treat windows8 as Window 8 Universal and windowsphone8 as Windows Phone Silverlight 8.