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-information, cordova-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 java.security 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[‘String.id’]} 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