Archive for the 'MAF' Category

MAF 2.2 to MAF 2.3 observations

Continuing with previous article, the same MAF application has been migrated to 2.3 and here i want to highlight my observations. As usual, the list is not exhaustive and depends on the features that we used. For  more information on 2.3 release, refer to documentation here.

  • Now the default Alta Skin version is 1.5, however we need to manually modify to this version in maf-config.xml.
  • Since Windows 10 support is added, now migrated application will have windows related resources and deployment profile.
  • The plugin-ids for core plugins Contacts are changed to cordova-plugin-contacts.
  • Now maf-application.xml shows cordova engine versions supported by MAF for each platform (Android, iOS, Windows).
  • Login connection configuration does not have Mobile-Social as one of the mechanisms and users are advised to use oAuth2.
  • oracle/wss_http_token_over_ssl_client_policy is not listed in OWSM policies in Security section of maf-application.xml.
  • All allowed URL Schemes that are allowed to be accessed have to be listed in maf-application.xml -> security for iOS.
  • Whitelisting is removed from maf-application.xml and also the API AdfmfJavaUtilities.addWhiteListEntry(Entries) are deprecated.  Refer to this post for implementing this functionality manually.
  • Now the RestServiceAdapter to be initialized in the following manner and old class has been deprecated. Observe the imports below.


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

  • setRequestType() method in RestServcieAdapter is modified to setRequestMethod().

I observed the following issues are resolved in MAF 2.2:

  • Fcaed some issues with plugman during the installation of cordova plugins (e.g.: Barcode scanner) in linux envs when used symbolics based Source control system. Basically, its an issue with symbolic links.

Using ADFBC REST Services in MAF

This article is presented in tutorial format and can be downloaded from here and sample application from here.

MAF 2.1.2 to MAF 2.2 observations

Recently involved in activity of migrating MAF 2.1.2 application to MAF 2.2. Here in this blog post, I want to list down my quick observations of this. We have not used lot of advanced features of MAF in our application so the following list is not going to be exhaustive and at the same time, it will be different if you are doing migration from MAF 2.1.3.

  • Now the default Alta Skin version is 1.4, however we need to manually modify to this version in maf-config.xml for a migrated application.
  • AdfmfContainerUtilities.toggleSpringboard() APi is provided to toggle the spring board.
  • AdfmfJavaUtilities.getAdfELContext is deprecated and replaced by AdfmfJavaUtilities.getELContext.
  • The plugin-ids for core plugins Network Information, Camera and geo-location are changed to cordova-plugin-network-informationcordova-plugin-camera and cordova-plugin-geolocation respectively.
  • The options Include login server cookie in REST calls and Include basic authentication header in HTTP requests in Authorization tab of Login connection are no longer available.
  • Web Service Security Policies section came as new security section of maf-application.xml and we need to add OSWM policies oracle/http_cookie_client_ policy and oracle/wss_http_token_client_policy to imitate the 2 options listed above and this information is stored in new file wsm-assembly.xml found in .adf folder of application.
  • oracle/wss_http_token_client_policy policy is mandatory to be attached if you are making use of HTTP PATCH method in mobile application. This is one of the observations and may be required in another scenarios as well.
  • A new file is added in resources/security folder containing security related properties where SSLv3 is disabled by default.
  • Android Back functionality is supported out of the box. The tag amx:systemActionBehavior can be used to override/add some functionality during back navigation.
  • We can achieve previous release back functionality using legacyBack tag in maf-config.xml.
  • Swipe  to Reveal design pattern is supported out of the box in ListView using amx:accessoryLayout.

I observed the following issues are resolved in MAF 2.2:

  • Now we can load multiple resource bundles in maf-feature.xml using loadBundle tag which was an issue in 2.1.2.
  • We can use the notation like #{resourceBundle[‘’]} for labels and all in AMX pages. This was an issue in 2.1.2 because of ‘.’ in resource bundle key though it’s working from java code.
  • In 2.1.2, junk characters are shown in the response by RestServiceAdapter if the REST service returns an exception and is in Gzip format. This issue has been fixed in 2.2.

And I am still using a workaround for the following issues even after migrating to MAF 2.2:

  • Seeing inconsistency in behavior of Action property of command button/link. When throw AdfException is used in Action property binding code, the error is shown properly in android but not in iOS – Fixed in 2.2.1
  • When AdfmfJavaUtilities.overrideConnectionProperty is used to override ACS URL in connections, it’s not persisted on application relaunch, thus facing authorization issues – Fixed in 2.2.1

And I am still facing following new issues in MAF 2.2:

  • Range Change Listener with managed bean is not working for child collection in data control – Fixed in 2.2.1


Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 379 other subscribers

Enter your email address to follow this blog and receive notifications of new posts by email.

%d bloggers like this: