Documentation Issues and Updates for Sybase Mobile SDK 2.1 ESD #3

Read about updates, corrections, and clarifications to the documentation released with Sybase Unwired Platform Mobile SDK.

Issue NumberDescription
n/a

Duplication linking issues in Sybase Control Center for Sybase Unwired Platform

In the Applications topic, there are dulicate links to these topics:
  • Application Creation
  • Application Connection Activation Options
  • Application Users
  • Application Connections
  • Application Connection Templates
  • Application Connection Properties
There are duplicate Parent topic links back to the Applications topic in these topics:
  • Application Creation
  • Application Connection Activation Options
  • Application Users
  • Application Connections
  • Application Connection Templates
  • Application Connection Properties
n/a

Close parentheses missing from linker flags

In the Importing Libraries and Code topic in Developer Guide: iOS Object API Applications step 11 should include close parentheses after EFFECTIVE_PLATFORM_NAME:

$(SRCROOT)/$(PRODUCT_NAME)/libs/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/libMO.a
$(SRCROOT)/$(PRODUCT_NAME)/libs/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/libSUPObj.a
n/a

Corrected code for setting up a database connection

The code in Connecting Through a Relay Server was updated to cover two situations: whether the connection template on SCC is configured with all the required Relay Server information or not.

n/a

On-demand cache policy with a small coherence window, not large

In the Cache Group Considerations topic in Mobile Data Models: Using Mobile Business Objects 2.1 ESD #3, the second sentence should read: "...for transactional data that has little tolerance for EIS data that is stale, an On-demand cache policy with a small coherence window is a more appropriate cache solution than an hourly schedule-based refresh."

n/a
Do not compile and run the example projects

The following note was omitted from the prerequisites in the Unwired Platform version 2.1 ESD #3 Tutorials:

Do not try to compile and run the tutorial example projects posted in the SAP® Community Network: http://scn.sap.com/docs/DOC-8803. They are meant only as code examples.

This applies to:
  • Tutorial: Android Object API Application Development
  • Tutorial: BlackBerry Object API Application Development
  • Tutorial: iOS Object API Application Development
  • Tutorial: Windows Mobile Object API Application Development
  • Tutorial: Mobile Workflow Package Development
n/a

Updates to the Datavault documentation for Android were made.

A new topic was added in Developer Guide: Android Object API Applications > Client Object API Usage > Security APIs > SUPDataVault DataVault to document the init method. Developer Guide: Android Object API Applications > Client Object API Usage > Security APIs > SUPDataVault DataVault > Code Sample is also updated to include the init method.

n/a

Changes in the directory structure for the Sybase Mobile SDK installation in this version were not updated in the documentation.

Beginning with Unwired Platform version 2.1 ESD #3, Sybase Mobile SDK installs in a directory structure that allows multiple versions of Mobile SDK to coexist on the same system. The SDK top level directory now includes the version and some directories that were peers to the SDK top level directory are now located below it.

Refer to Path Corrections for Backward Compatibility when you encounter a path specifying the location of any Mobile SDK files.

n/a
In the Developer Guide: Mobile Workflow Packages > Mobile Workflow Development > Hybrid Web Container Customization > iOS Hybrid Web Container Customization > iOS Customization Touch Points > Default Behavior Customization for the iOS Hybrid Web Container > Customizing PIN Screens on iOS > Removing the PIN Screen, there is additional information to note:
Note: Removing the PIN screen leaves data that is stored on the device less secure. You should remove the PIN screen only if you are not concerned about keeping your data secure.

This also applies to Developer Guide: Mobile Workflow Packages > Mobile Workflow Development > Hybrid Web Container Customization > Android Hybrid Web Container Customization > Android Customization Touch Points > Default Behavior Customization for the Android Hybrid Web Container > Removing the PIN Screen.

SMPONP-3383
Documentation does not mention need to re-get sync parameter instance

In Developer Guide: iOS Object API Applications 2.1 ESD #3 > Customizing the Application Using the Object API > Initializing an Application > Initially Starting an Application > Modifying Synchronization Parameters, when modifying synchronization parameters, you must re-get the sync parameter instance and save again.

Workaround: Use the correct code:
<MBO>SynchronizationParameters *params = [<MBO> getSynchronizationParameters];
[params delete];
params = [<MBO> getSynchronizationParameters]; //must re-get the sync parameter instance
params.Param1 = @value1; //set new sync parameter value
params.Param2 = @value2; //set new sync parameter value
[params save];
[SUP101SUP101DB synchronize];
CR 724568

Use submitPendingOperations and cancelPendingOperations only when there are multiple pending entities on the same MBO type.

submitPendingOperations and cancelPendingOperations do a select on the MBO table to find the pending MBO instances. If the MBO instance is available in memory, using the MBO instance's submitPending or cancelPending is more efficient.

Applies to the Pending Operation topic in the Object API developer guides:
  • Android Developer Guide
  • BlackBerry Developer Guide
  • iOS Developer Guide
  • Windows Mobile Developer Guide
  • Windows Developer Guide
CR 721074

Topic no longer applicable in the BlackBerry developer guide

The HTTP Push Gateway topic in Developer Guide: BlackBerry Object API Applications > Client Object API Usage > Synchronization APIs > Push Synchronization Applications is not applicable in Unwired Platform version 2.1 ESD #3.

CR 716173
MBS is used for authentication

The topic Object API Changes in SDK Version 2.1 ESD #3 in New Features 2.1 ESD #3 > New Features for Sybase Mobile SDK > Object API Development requires clarification.

The sentence "Consequently, messaging-based synchronization has been removed from the 2.1 ESD #3 SDK." should be changed to:

"Consequently, messaging-based synchronization has been removed from the 2.1 ESD #3 SDK for data delivery. The messaging channel continues to be used for communications such as application registration."

The types of communications the messaging channel sends are listed in DeveloperGuide: iOS Object API Applications > Getting Started with iOS Development > Best USes for Object API Applications > Client Runtime Architecture > Mobile Channel Interfaces.

CR 714445
References in the Developer Guide: Mobile Workflow Packages > Mobile Workflow DCN Without Payload topic are not valid JSON, because the data value is an object and should be an array, and there is an extra colon. For example, this syntax is incorrect:
 {”id”:””,”op”:”:”,”subject”:””,”to”:””,”from”:””,”read”:,”priority”:,
”body”:””, “data{}} 
And should be:
 {”id”:””,”op”:”:upsert”,”subject”:””,”to”:””,”from”:””, ”read”:,”priority”:, ”body”:””, 
”data”:[]} 
And this example:
{”id”:””,”op”:”:”,”subject”:”test”, ”to”:”test”,”from”:”test”,”read”:, 
”priority”:,”body”:” MATCH:SUP_MWF,TaskID:TS97200149, WIID:1470577, USER:PERF0111*#END#*”, "data”{}}
Should be:
 {”id”:””,”op”:”:upsert”,”subject”:”test”,”to”:”test”,”from”:”test”,”read”:, ”priority”:,
”body”:” MATCH:SUP_MWF,TaskID:TS97200149, WIID:1470577, USER:PERF0111*#END#*”,”data”:[]}
CR 710930

Startup of an application always gets http callback errors.

During initialization, the client may try several URLs in an attempt to discover the correct path to the Unwired Platform server. During these attempts, 404 errors (Page Not Found) may occur and will be reported to the OnHttpCommunicationError callback. This is expected behavior and you can safely ignore these initial 404 errors.

If the 404 errors continue to occur after successful registration of the application or if registration never succeeds, double check the UrlSuffix setting of the application's ConnectionProperties object.

CR 710608

Return code is unexpected through onHttpCommunicationError with disabled user.

In an environment configured for SiteMinder authentication, the expectation is that onHttpCommunicationError will be called back for error condition 302. This condition is not fulfilled currently by the Windows and Windows Mobile platforms; instead, they return 404 errors.

CR 710105
Issue: Unwired WorkSpace online help for output mapping does not link to a valid topic.

Search Sybase Unwired Platform documentation for the topic Output Mappings for more information.

CR 709826
Clarification on onReplaySuccess:(id)entityObject.

In the Developer Guide: iOS Object API Applications > Client Object API Usage > Callback and Listener APIs, there is additional information to note:

Note: The onReplaySuccess:(id)entityObject is an MBO object instance that contains the data prior to the synchronization. You can use the change log API to find records that occur after the synchronization.
CR 709815
Issue: The synchronization method described in the topic Synchronization Parameter Behavior in the Mobile Data Models: Using Mobile Business Objects guide is incorrect.

References to sp.Synchronize() should be SUP101DB.Synchronize().

CR 709519
Issue: Some documents reference an incorrect path: <Install-Root>\MobileSDK213\ObjectAPI\iOS\MBS\iOS and <Install-Root>\MobileSDK213\ObjectAPI\iOS\RBS\iOS.

iOS client files for 2.1.3 are in <Install-Root>\MobileSDK213\ObjectAPI\iOS\RBS and <Install-Root>\MobileSDK213\ObjectAPI\iOS\MBS.

CR 709194
Issue: For all Object API tutorials, if you opt to use the Mobile Business Object example project instead of performing the tutorial, the instructions should include that you must deploy the mobile application project to Unwired Server. Creating the MBOs and deploying the project are prerequisites for performing the Object API tutorials.

After importing the MBO example project, connect to Unwired Server and deploy the project. See Tutorial: Mobile Business Object Development > Deploying the Database Mobile Business Objects for details.

CR 706677
Creating a DataVault that Enforces Password Policy

The data vault security feature has been enhanced to allow administrators to create a password policy for data vault logins. Developers must create data vault code that performs policy enforcement.

Use the datavault class to create a datavault that enforces a password policy. This class provides encrypted storage of occasionally used, small pieces of data, and is documented in the SUPDataVault or DataVault topic in the corresponding  Developer Guide for your application type.

CR 708259
The developer guides do not document all the methods in the ConnectionPropertyType class.

See the generated API reference information provided with the Mobile SDK for a complete list of methods in the ConnectionPropertyType class.

CR 674889
Apple Push Notification Services (APNS) Works on iPad Devices.

The Apple Push Notification Service Configuration topic in the OData SDK Developer Guide and the iOS Object API Applications Developer Guide incorrectly states that APNS cannot be used with iPad devices.