Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
Showing results for 
Search instead for 
Did you mean: 


we put great new features into this release


  • Document Service Integration

  • Event log Atom feed

  • Admin UI Overhaul

  • Fiori Mobile Packager improvements


Document Service Integration

As you may know there is a service available on HANA Cloud Platform that allows you to store and retrieve unstructured data, like images, movie files or office documents. This service is called Document Service (more information) and implements the Content Management Interoperability Services (CMIS) protocol to upload, retrieve and manage files.

With our integration feature, we make this service available to your mobile application in order to provide your app the ability to leverage extended document management features.

With the Document Service Integration feature you can upload, share, distribute, retrieve static content from and towards your mobile users. Here are some example use cases:


Cloud Sync

Let the user put products in his shopping cart on device A.

Upload the shopping card into your repository.

Download the shopping cart document (maybe a JSON file) to device B of that user.

Serve Static Content

You upload a lot of product images into your repository

The mobile app retrieves the product images directly from your repository.

Optional: Download product images to the device and load them into UI from local storage in order to increase the UX (decreased download times).

Private File Storage

Create user specific folders to let them store static content on their own, only available to that specific user. And let CMIS manage the usage rights for you.


I think you will come up with even more cool use cases.

Let us know how you use the Document Service integration feature!


This is how it works looks like from an overview perspective:

The CMIS workbench is an open source desktop application that can be used by HCP mobile service administrators to access the app specific repository without prior registration as a mobile app on HCPms (meaning you don’t need an APPCID as an administrator), while mobile apps need to register first to access the repository. This allows the admin to manage the content of the repository. Maybe he wants to upload new product images or wants to delete old content.


The blue communication lines describe CMIS protocol related communications.

Before I forget: There is no need to configure anything in the HCP mobile services cockpit to enable this feature. Every configured app gets its own storage folder in the repository.


Event log Atom feed

This one is for the administrators among us who are interested in supportability features.

The current log files include stack traces and other internal information not really suitable for a mobile administrator.

The event log framework that we introduced captures runtime events that are really interesting for mobile administrators and enriches them with important information.

In order to access the event log, we provided an OData RSS feed for administrators. There is no way to access the event log from our Admin UI (read more about it in the next section).  Event though you might think this is not really convenient, this has been some advantages – and we can put an UI on it afterwards if necessary.

First let’s take a look on how you access the event log:

In your browser you navigate to:


https://[host]/ mobileservices/Admin/EventLog.svc/EventLogs


for the trial landscape it would be: mobileservices/Admin/EventLog.svc/EventLogs


if S0000001 would be your SCN ID.


This would list a maximum of 1000 log entries in OData Atom format, which is potentially a little too much information. Before we discuss how to apply a filter on the data, let’s take a closer look to the event important properties:


Property Description Example Value
ID The ID of this event https://[host]/Admin/EventLog.svc/EventLogs(CorrelationId='0be83ade-731a-4a31-9559-cc9aca3b1cdf',Seq...)
ApplicationConnectionId The ApplicationConnection ID of the user/device/app that triggered this event 686a0af9-7e9d-4bf0-b811-0177bf4a4085
ApplicationId ODataSCCBasic_Basic
CorrelationId GUID that describes one request/response flow 0be83ade-731a-4a31-9559-cc9aca3b1cdf
DeviceType null, if device type is unknown. null
LocalizedMessage The actual message about what happened Request for unknown Application Connection ID 686a0af9-7e9d-4bf0-b811-0177bf4a4085 failed.
Type Component where the event was triggered Registration
UserName User id of the registered user responsible for this event P85457478438
LogLevel WARN


As you can see this is more helpful than the log UI we had before. The CorrelationId will be returned by the server in every request. Let’s look at an example:

In Postman (a Google Chrome plugin) I created the following registration request and sent it to the server:


The server responded with a http status code of 403 – forbidden. But I was sure that I provided the correct basic authentication credentials.

To identify the root cause of this issue, I copy the CorrelationId from the server response and put it as a filter criterion to the EventLog filter, directly into the browsers address bar:$filter=CorrelationId eq ‘e25d1fe9-6655-460a-939c-9edf25b53685’



Here I can clearly see that the application could not be created because it already exists. Well, this is the typical thing that happens when I use Postman, because it handles cookies automatically and I already sent the ApplicationConnectionID along with my POST request.


Since this is a real OData feed, feel free (I couldn’t resist to use this alliteration) to combine various filter criteria.

To get a summary of the last 100 events use:$orderby=TimeStamp%20des...



Admin UI Overhaul

Let’s start with an image:


As you can see, the Mobile Services admin UI now follows the design guides of HCP Cockpit. But despite the good looking UI we also improved the navigation flows. For example, you can now navigate from Applications to Logs with a single click. In the “old” admin UI you always were forced to navigate back to your “Home” screen in order to move to another section.

Even more convenient is the “multi-tab” behavior in the application creation screen, when you are about to create a new application configuration. You can now freely switch back and forth between tabs before you actually save your work.


I also like the new list view of applications and the “Filter applications” input field on top, that let’s you quickly find your app configurations – actually not an issue on the trial landscape.


Once the admin UI has filled its cache it should be much more responsive as well.


I hope you enjoy the new style.


Please let me know what you think about this release and how you are going to use these features.


Have fun,

Martin Grasshoff