The Fiori and SMP Hybrid SDK teams have been at work on the next version of the SAP Fiori Client. The application will soon be available in the Apple and Google app stores, so I thought I’d take some time and tell you about it. We got a lot of feedback from the Fiori team, our internal colleagues, our partners and customers, and have added a lot of features to the applications and simplified some aspects of the application, especially initial configuration.
There are two versions of the SAP Fiori Client, the app store version and a custom version customers can build using the SMP Hybrid SDK (Kapsel). The app store version of the application is simply a mobile application built using the SDK and distributed through the public app stores. In this article, I’ll focus most of my attention on the app store version of the client, but much of this applies to a custom version a well. Any feature I describe in this article is already available to SDK customers as that product was released before the app store version was created. The only differences between the two versions is that a custom version of the application can be, well, customized (application icon & title, splash screen, additional Cordova plugins, custom security configurations and pre-configured server configuration).
Here’s a list of the new features of SAP Fiori Client version 1.2:
- Support for Android 5.0 and for iOS 7.1 and 8.1
- Support for connection to SAP Fiori using a direct connection to the Fiori Frontend server or through the SAP Mobile Platform Server or HANA Cloud Platform mobile services
- Enhancements to the application’s initial configuration including support for the SAP Mobile Place Discovery Service
- Application Passcode
- Support for Basic Authentication and user certificate authentication (only with SAP Mobile Secure) and SAML
- Mobile Qualities & Feature Restriction Policy
- Enhanced error pages – we’ve cleared up some of the error messages to make it easier for users to understand what’s happened
- Settings Screen enhancements
I’ll describe most of these enhancements in the sections that follow.
Mobile OS Support
The SAP Fiori Client supports Android and iOS today. Since the SAP Fiori Client is an Apache Cordova application, OS support is limited to versions supported by Apache Cordova. Other issues limit SAP Fiori Client supported to a subset of the OS versions supported by Cordova.
For Android, there is a known WebView memory leak issue with Android 4.1.2, so the SAP Fiori Client is only supported on Android 4.1.3 through Android 5.0.
For iOS devices, the SAP Fiori Client is supported on iOS 7.1, 7.1.1, 7.1.2, 8.1, 8.1.1, and 8.2. There are known issues with iOS 8.0, so that version of the OS is not supported.
Support for Microsoft Windows 8.1 is planned, but I do not have any details I can share.
The team has spent a lot of effort to enhance the security capabilities of the application. This version of the application has additional certificate configuration options including an option to configure certificates through SAP Mobile Secure. We have also added support for Basic Authentication, user certificate authentication (only with SAP Mobile Secure) and SAML.
I’ll try to go into more details on these capabilities in a future post; in the meantime, you should be able to obtain additional details in the SMP and Fiori documentation.
Native Device Capabilities (AKA: Mobile Qualities)
With this release, the SAP Fiori Client adds the first set of Mobile Qualities (which I described in this post: http://scn.sap.com/community/mobile/blog/2014/10/13/update-on-fiori-mobile). Added to this version of the SAP Fiori Client are Cordova plugins that provide support for the following native capabilities:
- Barcode Scanner
The plan is for the SAP Fiori Client to add native capabilities (through Cordova plugins) that SAP Fiori will be able to take advantage of. I’m not saying anything about when Fiori will take advantage of these qualities, only that it can after we’ve made them available in the SAP Fiori Client.
What’s interesting about this is that when the SAP Fiori Client is connected to the Fiori back-end through SMP, the SMP server can restrict access to these Mobile Qualities. We did this to provide customers with additional protection for their environment, if they want it.
The mobile qualities will be enabled in the application by default. Nothing is being been done (or can be done, really) to hide the operating system prompt of the user to allow an application to use specific native capabilities (like camera or geolocation) if they’re in the application and/or being used by the application. Android applications prompt the user to enable certain qualities when the application is installed, iOS prompts the first time the capability is used by the application. In an SMP environment, an administrator can disable specific qualities and they won’t operate in the affected SAP Fiori Client application.
The SAP Fiori Client is being used by companies of all sizes, and simplifying the initial configuration of the SAP Fiori Client was one of the goals for this release. In previous versions of the SAP Fiori Client, the application only worked directly against the Fiori Frontend Server and could be configured with a simple endpoint URL. With this release, we’re adding support for SMP to the app store version of the application.
The SMP configuration is a little more complicated. The application needs the SMP Server endpoint URL as well as the ID of the application on the SMP server. So, if you think about the SAP Fiori Client initial configuration, the user would have to either provide a Fiori URL or an SMP server URL and, only if it’s a SMP configuration, an app ID. Those things can all be easily configured in a custom SAP Fiori Client, but it would be hard for end users to know the difference and be able to accurately provide all the values the app would need to complete its configuration.
A custom SAP Fiori Client application can be pre-configured at build time, so the application deployed to end users, either through an Enterprise App Store or a Mobile Application Management solution, already includes the settings it needs to operate in the customer’s environment.
With SAP Fiori Client 1.2, all the user has to do is enter a URL or email address as shown in Figure 1.
Figure 1 – SAP Fiori Client Initial Configuration
The email address is used to retrieve the application settings from SAP Mobile Place (http://scn.sap.com/community/mobile/blog/2014/07/29/what-is-mobile-place-new-mobile-app-managment-capability-in-sap-mobile-secure) and apply it to the application’s configuration. Essentially the application uses the user’s email domain and an application ID (hard-coded into the app store version of the SAP Fiori Client) to lookup the corresponding settings for the application in Mobile Place.
The URL can either be a Fiori endpoint URL or a specially formatted URL that provides the additional information the SAP Fiori Client uses to configure for an SMP connection.
For SMP configuration, you would provide something similar the following:
The fioriURLisSMP parameter tells the SAP Fiori Client whether (or not) the endpoint URL points to an SMP server. When this parameter is true, you will also have to add the appID parameter which must match the application configuration definition ID on the SMP server. There are other parameters supported as well, please refer to the Fiori and/or SMP documentation for details.
One of SAP’s security requirements is that all applications be protected by an application passcode. With some of the SSO and authentication capabilities of the SAP Fiori Client, it’s possible that an unauthorized user could access application if they were able to obtain physical access to the device (if were lost for example, but not password protected). To add an extra layer of protection, the app store version of the SAP Fiori Client comes preconfigured with settings to enable a passcode for the application as shown in Figure 2. The application is configured to require a passcode of a minimum of 8 characters.
Figure 2 – SAP Fiori Client Passcode
Now, as you can see in the figure, the passcode can be easily disabled by the user. Simply tap the Disable Passcode button and you’re ready to go. If you later forget your passcode, you can use the Forgot Passcode capability provided by the application to reset the application settings.
If you’re using a custom version of the SAP Fiori Client, you’ll be able to set your own passcode policy for the application by making some simple changes to the application project’s appConfig.js file.
If SAP Fiori Client is used with SMP, any local passcode policy is ignored and instead the application uses the passcode policy that has been configured for the application by the SMP Server. In this scenario, the passcode can be required or disabled based on the administrator’s settings.
First Use Tips
After you have provided the Fiori endpoint URL and set or disabled a passcode, the SAP Fiori Client application will display the Tips page shown in Figure 3. This page will only display the first time you use the SAP Fiori Client after setting the Fiori endpoint URL.
Figure 3 – SAP Fiori Client First Use Tips Page
The content of this page can be customized if you’re using a custom version of the SAP Fiori Client. You can change the content or you can modify the application so this page never displays.
With previous versions of the SAP Fiori Client, changing the application’s configuration was a simple matter, you opened the settings application and made the changes you needed. On Android, the settings app was an integral part of the application where on iOS, application settings were accessed via the external Settings application. In SAP Fiori Client 1.2, settings are accessed directly from within the application for both operating systems.
As mentioned earlier, the SAP Fiori Client configuration is now a little more…complicated, the application has to deal with more access scenarios. Because of this, we had to make some changes to the way the settings worked. Figure 4 shows the new settings screen.
Figure 4 – SAP Fiori Client Settings Application on Android
With the previous versions of the application, the application user could directly edit the Fiori endpoint URL in the settings screen. In this version of the SAP Fiori Client, in order to make changes to the endpoint URL, you’ll have to remove the existing URL configuration by tapping the Clear All Application Settings button shown in the bottom of the figure.
Once you do that, you’ll be taken to the configuration screen shown in Figure 1 where you can enter the updated configuration URL or email address.
Emailing the Application Log
The SAP Fiori Client comes with default settings that control what information is logged by the application. In the past, there was an option to enable the log and a separate option for setting the log level. In this version of the SAP Fiori Client, the log is enabled by default and you can only set the log level.
To view the log, open the menu on Android or the toolbar (by double-tapping on the screen) for iOS and there’s an option for viewing the log file. New in this release is a button, shown in Figure 5, that allows you to send an email with the log contents. Users will use this option when they encounter an issue and need to send details about the issue to an administrator or help desk resource.
Figure 5 – SAP Fiori Client Log Viewer
The log is not intended to be consumed by application users. There’s a lot of stuff in there and no effort has been made to make the content easily viewable from within the application.
With earlier versions of the SAP Fiori Client, the application’s user guide was published as a PDF file which wasn’t very readable on a smartphone. For this release, the SAP Knowledge Management Team published the content as a mobile-friendly web site as shown in the following figure. You can access the application’s user guide at http://help.sap.com/Download/Multimedia/fc12/index.html.
Now you can easily get the help you need directly from within the SAP Fiori Client application as shown in Figure 6. To access help, open the menu on Android or the toolbar (by double-tapping on the screen) for iOS and select the Help option.
Figure 6 – SAP Fiori Client Online Help