Monday Apr 11, 2016

Cordova updates in MAF 2.3

MAF 2.3 introduced a number of new & exciting features, as described in this blog post.  In addition to these, the embedded Cordova engines for each platform were upgraded to the following versions: 

  • Android: 4.1.1
  • iOS: 4.0.1
  • Windows: 4.0.0

So what does this mean for you, the MAF app developer? 

Plugin updates

These are significant upgrades for both Android and iOS, with a number of deprecated APIs being removed.

The core plugins contained with the MAF 2.3 release have been updated accordingly, but if you are using any 3rd party plugins, you should verify that they are compatible with each of the Cordova platform versions listed above. You may need to update to a later version of some 3rd party plugins.

If you have developed your own Cordova plugin for use in your MAF apps, you should ensure that it is compatible with these Cordova platform versions. A list of API changes in v4.0.0 of Cordova for iOS can be found here.

Android security

The Cordova for Android update contains a number of security fixes.

When uploading your MAF 2.2.2 app to the Google Play Developer Console, you may have received emails with the subject “Google Play warning: You are using a vulnerable version of Apache Cordova” that state the following:

Your app(s) listed at the end of this email utilize a version of Apache Cordova, an open-source mobile development framework, that contains one or more security vulnerabilities. If you have more than 20 affected apps in your account, please check the Developer Console for a full list.

Please migrate your app(s) to Apache Cordova v.4.1.1 or higher as soon as possible and increment the version number of the upgraded APK. Beginning May 9, 2016, Google Play will block publishing of any new apps or updates that use pre-4.1.1 versions of Apache Cordova.

The vulnerabilities were addressed in Apache Cordova 4.1.1. If you’re using a 3rd party library that bundles Apache Cordova, you’ll need to upgrade it to a version that bundles Apache Cordova 4.1.1 or later.

This has been addressed in MAF 2.3 with the upgrade to Cordova for Android. If you migrate your app to MAF 2.3 and upload it to the Google Developer Console, you should not longer receive such emails.

Windows Universal Platform support

MAF 2.3 now supports deployment to Intel-based Windows 10 tablets, laptops and desktops. In this release, MAF apps must be side loaded onto Windows 10 devices, or deployed to the Windows 10 machine on which the MAF app is being developed.

Setup instructions can be found in the MAF 2.3 Installation Guide. Deployment instructions can be found in the MAF 2.3 Developer Guide.


These versions of Cordova use a new whitelisting mechanism. For iOS and Windows this is built in, but for Android you must include the cordova-plugin-whitelist plugin if you wish to maintain a whitelist.

The Cordova Whitelist Guide provides more information on the details of whitelist configuration and management.

MAF 2.3 no longer provides direct support for whitelisting, but if your MAF app makes use of a Remote URL that allows access to device services and you would like to use a whitelist, please refer to the MAF 2.3 Developer Guide for information on how to include and configure the required plugins.

Thursday Apr 07, 2016

MAF 2.3 Deprecates RestServiceAdapter ... and replaces it with RestServiceAdapter

 After migrating existing Oracle MAF applications to  MAF 2.3, your source code shows the following deprecation warning

RestServiceAdapter deprecation

This deprecation is not mentioned in the Release Notes for MAF 2.3 but in the Oracle MAF Developer Guide, which you may not re-read for each new release: thus this blog article.

 The deprecation warning above however does not mean that the RestServiceAdapter class is going away. Instead it is replaced with the RestServiceAdapter class. Confused? Well, as you probably guessed from the previous sentence, the change is in the package location of the class, which changes from to

But refactoring the "adfmf" string to the "maf" product identifier is not the only change that comes with this. The call you do to obtain an instance of RestServiceAdapter does change too.

RestServiceAdapterFactory import statement

Instead of calling Model.createRestServiceAdapter(), which you did prior to MAF 2.3, you now use the RestServiceAdapterFactory

RestServiceAdapter restServiceAdapter = RestServiceAdapterFactory.newFactory().createRestServiceAdapter();

Working with the RestServiceAdapter itself doesn't change much except for a few method having new names like setRequestMethod and getRequestMethod that replace setRequestType and getRequestType (which I think is a sensible change). 

So what now? Actually there is no need to do anything in the short term. However in the mid term we suggest to change the use of RestServiceAdapter to the new class so you are on the latest version of the supported API. 

Tuesday Mar 29, 2016

Going Offline with MCS Mobile Data Offline & Sync

Smooth running mobile apps are heavily reliant on their connection and a strong signal.  But once the connection drops, or the signal goes "one-bar" all bets are typically off.  A slick mobile user experience can quickly turn into a frustrating one.

But what if you could make your mobile apps more resilient to disconnection and poor network connectivity so your users could happily continue their task?  What if you could also speed up the applications so your mobile users experience a fast and snappy response no matter if they are offline or online?  And what if you could do this without taking months to create a solution for every single app, but use a solution that can be scaled across apps with little programmer intervention?

The Oracle Mobile Cloud Service (MCS) Data Offline & Sync capabilities are designed to do just this, allow your mobile apps to cache data locally on the device for offline use and even snappy responses regardless if your app is offline or online.  And the best bit, with virtually no programming required, it's all taken care of for mobile developers (as I like to say) "automagically".

To help you explore these capabilities Oracle is happy to announce a new video playlist covering MCS data offline & sync features in detail on YouTube.  This includes a full end-to-end discussion on how it works, as well as discussing features that have become available in only recent MCS releases that you can make use of.

The overall YouTube channel of MCS videos can be found here, the specific playlist here, and then the full range of videos are as follows:
Android developers, you might notice there is no specific SDK video for you. Don't worry, it's coming, we just didn't want to hold off delivering content any longer. Check out the docs which cover Android & Data Offline & Sync in detail.

We hope you will find these videos useful, but more importantly we hope you'll be able to use the data offline & sync MCS features to build a killer app that works for your users whether they are online or offline.

Image courtesy of David Castillo Dominici at

Oracle MAF 2.3 Release

Oracle MAF 2.3 release is now available on OTN. This is a major update of MAF coming less than 6 months after the last major release. This release has several new & exciting features, below are some key capabilities available in this release. 

Windows Platform Support

On popular demand, MAF 2.3 introduces support for Universal Windows Platform(UWP). Keeping with our promise of single code base for multiple platforms, customers can now deploy their existing MAF apps to Windows 10 desktops and tablets in addition to iOS and Android. Install and setup instructions for Windows platform are available here. Key elements of Windows support:

  • MAF apps can be deployed to any Windows devices based on x86 chipset
  • Support for UWP native look & feel and UX design patterns
  • Support for deployment to Windows tablets through side loading 

Enterprise Mobile Management (EMM) Support

Apps built with MAF now work with Enterprise Mobile Management solutions from Airwatch and MobileIron by following the best practices and guidelines provided by the AppConfig community. Customers can take advantage of their existing investments in EMM solutions to secure, configure and manage MAF apps using native capabilities in iOS and Android. MAF framework supports all the key capabilities specified by AppConfig community:

  • App Tunnel
  • Security Policies and Access Control
  • Single Sign On

Please refer to the certification documentation for specific versions of Airwatch and MobileIron supported by Oracle

ListView Enhancements

Support for animation effects for ListView component. Animations are available for:

  • listItem row insert 
  • listItem row delete
  • listItem divider group disclosure change 
The default animations provided as part of the component can be customized by overriding the css style classes. 

Disclosure Insert/Delete

Mobile Cloud Service(MCS) Analytics Integration

This release provides built-in support for generating MCS analytics events. When an MCS backend is used, application developers can easily generate events for the application usage and upload them to MCS Analytics service. Key capabilities of this feature:

  • Ability to generate analytics events for standard application lifecycle events such as startup, user login etc. through simple configuration. No coding necessary. 
  • API to generate custom application events
  • Analytic events are persisted locally on the device. They can be captured even when the device is offline
  • Events are uploaded in bulk to minimize the number of roundtrips   
 Please refer to the dev guide here for more details about this feature.

Security Enhancements

This release provides support for 2-way SSL during authentication. This feature allows customers to use certificate or soft PKI based authentication for MAF apps to support advanced security requirements. Client certificates can be installed using a MDM vendors or using MAF support for installing client certificates. Please refer to the developer guide for more details about this feature.

Data Visualization Features

This release has several enhancements to the DVT components.

1.  Range Charts: Range area and range bar charts help visualize datasets with varying low/high values

Range Area Chart Range Bar Chart

2.  Ability to individually style the categorical axis labels allows for emphasizing specific groups, which is a lot more useful than styling the labels as a whole. Tooltips are now also supported for categorical axis labels.

3.  Hierarchical labels can now be used to display hierarchical data on the categorical axis charts

4.  A number of enhancements are now supported in Gauge components:

  • Status Meter Gauge: Ability to specify border and color for plot area, string title, corner radius and border, displaying indicator wider than the plot area
  • Circular Status Meter Gauge: Ability to control the radius, start angle and angle extent
  • Vertical orientation for Rating Gauge
Circular Gauge Vertical Rating Gauge

JDeveloper 12.2.1 Integration

MAF 2.3 extension works with JDeveloper version 12.2.1. This brings all the new capabilities introduced in the IDE as part of latest release of JDev to MAF developers. You can use a single IDE for both your web app and mobile app development. One nice side benefit of this is that you no longer need JDK 1.7 on your dev machine as both JDev and MAF support the latest JDK 1.8 update.

Webcast: Extending Oracle Forms to Mobile

With thousands of Oracle Form apps bound to desktop environments, the need for mobility is clear. Free your customers to be more productive - anywhere, anytime! Join this webinar to learn how Oracle Gold Partner, AuraPlayer, leverages the power of Oracle Mobile Cloud Service, to readily mobilize existing Oracle Forms Applications, without any code changes to their existing forms applications. 

Learn more by joining Suhas Uliyar, Oracle VP of Mobile Strategy and Mia Urman, CEO of AuraPlayer, at this live event, 1:30PM EST, March 31st. 

Follow @OracleMobile 

Thursday Mar 17, 2016

Mobilizing Oracle Forms - the Art of the Possible!

A couple of weeks ago I posted on LinkedIn about A New Interest in Oracle Forms which talked about the possibilities of building new mobile use cases on top of existing Oracle Forms business logic exposed through Oracle Mobile Cloud Serivce.

This really piqued interest because whilst Oracle Forms underpins so many business today, its not something that is viewed as modern or "dynamic". But the possibility to expose existing Forms logic out to new mobile clients really opens up limitless possibilities.

Because of the great response and to further explain the possibilities and the technology behind mobilizing Oracle Forms, I developed 4 videos on Forms Mobilization. which are published on our official Oracle Mobile Platform YouTube channel.

The videos I created are:

This should give you a better insight on the possibilities of mobilizing Oracle Forms, the architecture of the solution using Oracle MCS and the Auraplayer connector, how you expose Forms logic as web services without changing a single line of code, and a demo of the solution in action.

You can also check out our up and coming webinar on March 31st at 10:30 AM Pacific/1:30 PM Eastern

Co-hosted by Mia Urman, CEO Auraplayer and Suhas Uliyar, VP of Mobile Product Strategy, Oracle.

The technology is here, you just have to imagine the possibilities!

Image courtesy of adamr at


This blog is is dedicated to announcements,tips and tricks and other items related to developing, integrating, securing, and managing mobile applications using Oracle's Mobile Platform. It is created and maintained by the Oracle Mobile product development team.

Archive of past entries

Even More Mobile Development Blogs

Oracle A-Team Site - Mobile Related Entries

Code samples from the Community

Fusion Middleware Blogs


« July 2016