1 2 3 9 Previous Next

SAP BusinessObjects Mobile

123 Posts

-

-

-Here is an outline of the features delivered with latest versions of SAP BusinessObjects Mobile for Android (referred below as 'MOBI' in short).

 

 

 

MOBI 6.1.7:

SAP BusinessObjects Mobile app for Android version 6.1.7 is a patch release, available in playstore since Feb 18, 2015

Below are the capabilities delivered with this version:

 

1. MOBI now supports Android 5.0 Lollipop.

 

 

2. MOBI SDK enhancements to support side-by-side installation:

MOBI SDK now supports usage of custom package name. This allows Customers to change default package name of MOBI and be able to install their customized build in the device, alongside the MOBI appstore build.

 

Following post details out the steps to configure SDK build environment:

Mobi Android SDK setup using Android Studio

 

 

 

 

 

 

========================================================================================================

 

MOBI 6.1:

SAP BusinessObjects Mobile app for Android version 6.1 has been released during end of Q4, 2014.

Apparently Playstore does not allow us to view 'What is new' text on previous versions of the app. Here is a reference of new features that are available since MOBI 6.1 release (version number 6.1.6) in Android:


 

1. Revamped Homescreen:

MOBI homescreen has been revamped completely, to provide better user experience.

 

  • User can navigate his BI documents conveniently using category navigation panel

 

  • User can organize document listing using various grouping options, toggle between Grid and list view upfront from secondary toolbar.

NOTE: Toggle List/Grid view is available only for tablet device. MOBI supports only listview in Phone.

 

  • Pull-down gesture in homescreen refreshes document list from server.

1.png

 

 

 

 

  • Both, downloaded document and documents available in the server are seen with unified listing now.

The option 'Show only downloaded reports' option allows user to view only the documents that are downloaded to the device.

Download status is differentiated by an actionable icon.

1b.png

 

 

 

  • Single tap access to document info and contextual/action menus of the document.

1c.png

 

 

 

 

 

 

 

2. Support for multiple document download:

MOBI now supports background download of documents.

User can tap on ‘Add to home option’ of multiple documents, without having to wait for sequential download and continue with other actions in MOBI

 

 

 

3. Download document 'instance':

‘Add to device’ operation now downloads both base document and latest instance of the WebIntelligence document, for offline viewing

 

 

 

 

4. Support for nested category view:

  • MOBI supports Nested category navigation, to resemble launchpad structure. Following screenshot illustrates the same.
  • This can be done by adding a client settings property 'feature.home.category.nested.enabled' in server

 

4.png

 

 

 

 

5. Notification panel:

Support  for new Notification panel to manage document updates conveniently.

 

NOTE: Notification alerts appear when  MOBI is running in foreground in the device and user is logged in to the connection.

Needs a manual homescreen refresh (pull down gesture on document list screen) to receive new notifications if any. Notifications are also fetched during Login workflow.

 

5.png

 

 

 

 

6. Auto-update documents on Wi-Fi:

  • Auto Update on Wi-Fi feature automatically downloads document updates/new instances when the application is active
  • Support for Auto-Download of Inbox documents: This option also downloads WebI documents from user's 'BI Inbox' to the device for offline viewing.
  • The option can be enabled in application settings page as shown below

6.png

 

 

 

 

7. SAP BI URL Enhancements:

  • SAP BI URL enhancements to Share connection details via share option in connection page
  • SAP BI URL enhancement to share document context via eMail (retaining section and page navigation)

 

7.png

 

 

 

 

Note that Sl No 8 to 11 below are applicable only for WebIntelligence content

 

8. Personal View enhancements:

  • Personal view now records Drill operation on WebIntelligence document
  • Retains table actions (except for Apply Filter operation)
  • Retains last selected prompt values
  • Retains last navigated section
  • Displays update alerts if base document is modified. User can update personal view to reflect this change

 

 

 

9. Table enhancements:

  • Support for Table level filter: Use ‘Apply filter’ operation on table columns, to filter out required data values in the table
  • Support for Table auto wrap: MOBI respects wrap text format set on the table of Web intelligence document

 

9.png

 

 

 

 

10. Geo map with default filter view:

You can configure default filter value of  a Geo-map document now, with a special syntax


10.png






11. Hyperlink support in freecells:

You can configure hyperlink in the Freecell to be displayed in even in Phone, using new parameter named ‘url’ in the cell configuration syntax.


[Syntax: ="<a href=\"laction://cell? attachedto='Block 1'&valign='top'&halign='left'&url='http://google.com'\">My Hyperlink</a>"]


11.png





12. Performance improvements:

  • Performance improvements in online viewing of Web Intelligence document having multiple report tabs
  • Performance improvement in downloading Web Intelligence Document having multiple/large charts
  • Web Cache support in MOBI for viewing Analysis Applications (Design studio documents): MOBI caches resources from Design studio documents when it is opened for the first time. Hence subsequent viewing of any Analysis application, sharing common resources is faster

 

 

 

 

Link to MOBI documentation on SAP help portal: SAP BusinessObjects Mobile for Android – SAP Help Portal Page

 

Do let us know if you need any clarifications..

Read me

SAP BI Mobile Server Single Sign On Support


SAML2 implementation is not shipped by default with SAP Mobile BI Server. The reason for that is - there is no one size fits all approach. SAML2 authentication response are quite different from one customer to another, even though it conforms to SAML2 specification. SAML2 tickets are different as they have different issuers, different assertions, different certificates, different signatures, different subjects and their attributes. Hence handling each SAML2 ticket need to be implemented differently.


Before you start exploring further lets look at some pre-requisites

  • You already have your Enterprise Authentication implemented to generate SAML2 tickets
  • SAP Business Objects Enterprise Server has been enabled for Trusted Authentication
  • Your SAML2 tickets do hold the enterprise alias of the user that is used to logon to SAP Business Objects Enterprise


Now, we will have to configure Mobile BI Server in a way so that when SAML2 ticket reaches mobile server, it performs the following

  • Validates the SAML2 tickets for expiry and authenticity
  • Extracts the user (BOE enterprise alias) and add it to javax.servlet.http.HTTPSession


At run-time, when configured for SAML2 scenario, mobile server will take this user id and log you on to BOE using trusted connection.


Implementing Custom Filter

SAP Mobile BI Server ships with a custom filter [Reference implementation attached] by default which can be enabled and modified to achieve this. The steps are as follows


First step

is to uncomment the following sections in web.xml (<WebAppsROOT>\webapps\MobileBIService\WEB-INF)

<!-- <filter>

            <filter-name>CustomFilter</filter-name>

            <filter-class>com.businessobjects.mobilebi.server.filters.CustomFilter</filter-class>

</filter> -->

<!-- <filter-mapping>

        <filter-name>CustomFilter</filter-name>

        <servlet-name>MobiServlet</servlet-name>

        <dispatcher>REQUEST</dispatcher>

        <dispatcher>FORWARD</dispatcher>

</filter-mapping> -->


Second step

is to enable the Authentication Scheme

  • Copy the authscheme.properties from default folder in to custom folder (<WebAppsROOT>\webapps\MobileBIService\WEB-INF\config)
  • Then modify the authscheme.properties file in custom folder
  • Un-comment line 'TRUST_WEB_SESSION=com.businessobjects.mobilebi.server.logon.impl.TrustedAuthSession'
  • Save and close the file


Third step

is to define the default SSO configuration

  • Copy the sso.properties from default folder in to custom folder (<WebAppsROOT>\webapps\MobileBIService\WEB-INF\config)
  • Then modify the sso.properties file in custom folder
  • Choose your default CMS identifier
    • "default.cms.identifier=abc"
  • Now define your authentication scheme (the one that you have enabled in first step)
    • abc.authentication.scheme=TRUST_WEB_SESSION
  • CMS can be provided as an Alias, IP or cluster name
    • Alias
      • abc.aliases=boe.xyz.corp:6400
    • IP
      • abc.aliases=10.10.10.10:6400
    • Cluster name
      • abc.aliases=@xyz
  • Now configure all the properties using this identifier as below
    • abc.authentication.type=secEnterprise
    • abc.product.locale=en_GB
    • abc.preferred.viewing.locale=en_GB
    • abc.trusted.auth.sharedsecret=<copy the shared secret here>
  • You need to additionally configure the header name that you shall be using to provide the user ID
    • abc.trusted.auth.user.param=<Key against which you would be adding user as value in HTTP Session Object>
    • abc.trusted.auth.user.retrieval=WEB_SESSION
  • Save the sso.properties file


Fourth step

is to modify the Custom Filter

  • You need to setup a web project in eclipse development environment
  • Create a class with name "CustomFilter" extending "javax.servlet.Filter" inside package "com.businessobjects.mobilebi.server.filters"
  • Identify the SAML2 parsing libraries that you would want to use to parse the SAML2 ticket. I have used opensaml 2.4 library in the reference implementation
  • Reference the jars from your web project to resolve build dependencies
  • Implement the SAML2 handling code in the CustomFilter [Reference implementation Attached]


Fifth step

is to deploy the CustomFilter

  • You need to place the CustomFilter class in '<WebAppsROOT>\webapps\MobileBIService\WEB-INF\classes\com\businessobjects\mobilebi\server\filters'
  • All your dependent libraries (opensaml 2.4 library in my case) should be copied to '<WebAppsROOT>\webapps\MobileBIService\WEB-INF\lib'. Just ensure that your libraries are not already present in that folder, if there do not replace.

 

Final Step

is to now deploy and test the MobileBIService.

  • You can download and install Chrome Browser Plugin 'Advanced Rest Client'
  • You should send your request to following URL

        http://<server>:<port>/MobileBIService/MessageHandlerServlet?message=CredentialsMessage&requestSrc=ipad&data=<logon logonViaSSO="true"/>

  • In the Payload section add the "SAMLResponse" as key and your BASE64 encoded SAML2 ticket as value
  • Click Send. If everything is fine you should get a valid logon response with success message, logon token, rights info, user info etc.

Important Note

Please note that since this is a custom implementation this will be gone if and when you upgrade the Mobile Server to a later version. Hence, the suggestion would be to back-up the following and perform above steps on the new war file

  • modified 'sso.properties', 'authscheme.properties' and web.xml
  • CustomFilter.class file
  • Dependent libraries (opensaml 2.4 library in my case)

In this blog we will understand how to set up the Mobi Android SDK project with Android studio.  We will also understand the changes to be made to create new product flavors of the SDK project which in simple words mean we create an application which can be installed along side the Mobi application published by SAP on google Play store.


The blog is divided into four major parts:

*Installation of Android Studio

*Configuring the SDK project in Android Studio

*Modifying the project to enable “Side by Side” installation along with Mobi application present on Android Play Store( Supported from Mobi Android SDK version 6.1.7)

*Signing the release build

Installation of Android Studio


(Note: Please make sure you install JDK 7 since that is the minimum required java version for Android Studio to run.

Android Studio is now the official Android IDE. For “side by side” installation of the play store app and the SDK app the gradle build system present in Android studio is required. Eclipse does not support this feature)


 

Download Android Studio from the link http://developer.android.com/sdk/index.html

Start installation by double clicking the downloaded Android studio Installer.
Click on ‘Yes’ if you are prompted with a security warning

warning.png

 

Click on Next to Continue the installation

Next_1.png

 

Select all the components for installation

selectall.png

 

Select the location for all the components to be installed. ( Default recommended)

location.png

 

Click on “Next” and “Install” in the subsequent Windows to proceed with the installation!

Now select the “SDK Manager” option from the tool bar to install the following Components

sdk_manager.png

 

Once the Installation is done Close SDK Manager and also Android Studio!


 

Configuring the SDK project in Android Studio


 

Download the zip file SAPBusinessObjectsMobileAndroidLib-X.X.X.zip

Extract it to the folder SAPBusinessObjectsMobileAndroidLib-X.X.X


(Note: The zip file name may vary from the actual file which you download from SMP and hence the name of the extracted folder name will also not be the same. The name used here serves as a placeholder)


Download the Android support Library version 19.1 from the below URL:

     https://dl-ssl.google.com/android/repository/support_r19.1.zip

Unzip the downloaded file and select android-support-v4.jar from the support/v4 folder.

Paste it in the following folder SAPBusinessObjectsMobileAndroidLib-X.X.X /libs

Run android studio and you should be greeted with a welcome menu as given below. Select the “Import Non-Android Studio project” option as highlighted.

Welcome.png


 

Go to the location where the unzipped folder exists and select the root level folder as shown below and Click on ok

Projectselection.png

 

Select a destination directory where you want the project to be copied( To make sure the original project is not disturbed Android studio creates a full copy) and click on next.

destination.png

 

In this screen all three options are “checked” by default! Uncheck the first two as shown below and click on Finish

uncheck.png

 

Open build.gradle under the app folder and add the following.

 


    configurations {
      all*.exclude
group: 'com.android.support', module: 'support-v4'

    }

          lintOptions {

              checkReleaseBuilds false     

          }     


 

 

(Note: lintoptions is a child of the “android” tag while configurations is a root level element. Please refer to the screenshot below to know where to place them)

Click on “Sync now” present on the yellow bar found above the file editor

gradle_1.png

gradle_2.png


 

Now select File->Project Structure->app (under Modules)->Select Dependencies tab->Click the green ‘+’ button on the right corner and select the “Library Dependency” option.
Now select the play-services (com.google.android.gms:play-services:6.5.87) option from the popup and click on OK. Click on OK in the Project Structure Popup as well!

Let the build happen.


play_services.png


 

The project is all set! You can run the application by clicking on theplay button.png button in the tool Bar

 

 

 


 

Modifying the project to enable “Side by Side” installation along with Mobi application present on Android Play Store

 

 

 

Open the build.gradle file under app (as done before)
Add the following lines and then click on “Sync now” like before.


    productFlavors{

          <Your-Flavor-Name>{

              applicationId <Unique-Application-id>

          }     

    }

Example-

    productFlavors{

          sdk{
              applicationId "com.sdk.mobi"

          }

    }   

 

(Note- Please make sure your applicationId is not com.sap.mobi )


productflavours.png

 

 

Now open the AndroidManifest.xml (Under Android->app->manifests)

manifest_path.png

 

Change the android authority attribute under the provider tag! This value should be the same as the applicationId given in the previous step.

authority.png

 

Open the file defaultSettings.xml and change the value under the feature.package.name.default tag to the applicationId given in the previous steps.

defaultsettings.png

 

Now select Build->Rebuild Project.

The project is all set! You can run the application by clicking play button.png on the button in the tool Bar.



Creating Multiple Applications

 

You can create more than one application by having multiple product flavors. You can select different build variants from build variants tab.

An important step after this is to make sure you change the values in AndroidManifest.xml and defaultSettings.xml with the application id of the variant chosen currently. ( As shown in the previous section)


multiple_productflav.png


build_variant.png'



 

Signing the release build

 

Select the ‘release’ build variant under the build variants tab and then Sign your application!

Release.png

 

Sign your application following the guidelines given by google. http://developer.android.com/tools/publishing/app-signing.html

Align the APK after signing http://developer.android.com/tools/help/zipalign.html

Publish your APK onto the play store by signing up on Google Play Developer Console.

 

 

 

 

 

 

 

 

 

 

What is Mobile Page Layout?

            The Mobile Page Layout has been implemented mainly for supporting all layout scenarios of Webi Reports, as per the Report Element arrangements, defined on BI Launch-Pad.  This layout model helps user to design the Webi Reports with minimal design work, and user does not need to strain to place the report element in exact pixels or to align the report elements with accurate coordinate details. 

In this approach, the report elements are arranged and resized for the improved space efficiency and aesthetics, which work best when the report is displayed on tablet or a mobile device. The report page is cut up in to multiple columns and as per the coordinates the report elements will be grouped on the specific column. The report elements of a particular column will share space according to the proportion of actual size of the Report elements.

            It is recommended to use Mobile Page Layout, rather than Card Layout, as the Mobile Page Layout covers all the layout scenarios of a Webi Document, such as pagination, space efficiency, report element spanning.

 

A Report Page cut up into multiple columns:-

            The number of columns, created on the page, will be equivalent to the maximum number of report elements, which are located horizontally, without horizontal overlap with other report elements. In the below specified diagrams, it is explained with some examples.


 

Arrangement in WebiNumber of ColumnsDetail
1Screen Shot 2014-11-15 at 19.28.45.pngScreen Shot 2014-11-15 at 19.28.52.pngIn this layout, at maximum there are three reports elements, placed horizontally. The report elements are 1, 2 and 3. The Report element 2 comes to 2nd Column, because right side of Report element 1 ends before the left side report element 2.
2Screen Shot 2014-11-15 at 19.28.58.pngScreen Shot 2014-11-15 at 19.29.13.pngIn this layout, at maximum there are around 5 report elements, placed horizontally. The report elements are 1, 2, 5, 6 and 7.
3Screen Shot 2014-11-15 at 19.29.21.pngScreen Shot 2014-11-15 at 19.29.25.pngIn this Layout, the report element 2 remain on the first column itself, as it is overlapped with report element 1, and will be rendered one below the other.


Following statement will be easy to perceive, with the understanding of above examples.

 

In technical terms, a report element (2) will be placed in to a new column (on the right side), when at least one of its left side report element’s (1, 4, 8) right side boundary ends before the report element’s (2) left side boundary.

 

 

Why do we have column-based layout in Mobile Page Layout Model?

            For aligning report elements boundary to a nearest vertical or horizontal line, the layout needs to follow either a column based rendering or a row based rendering.  The main reason for following column based rendering in this layout model is to have space efficiency under a Vertical Table which may grow or shrink vertically, based on the number of rows, when filters are applied.

 

Pagination of Mobile Page Layout:-

            The Pagination of a Webi Report in mobile device will be done as per the Page Format setup of the report, defined in BI Launch Pad.  The default Webi Page Format is A4 size with Portrait orientation. When the page format is configured for other page size and orientation, the pagination with respective size is done in the mobile device screen as well.

 

Page FormatOn BI Launch PadOn Mobile Device
A4_Portrait on BILaunchpadScreen Shot 2014-11-15 at 19.39.11.pngScreen Shot 2014-11-15 at 19.40.08.png
A4_Landscape on BILaunchpadScreen Shot 2014-11-15 at 19.40.24.pngScreen Shot 2014-11-15 at 19.40.28.png

 

 

As shown in the snapshot, the arrangements of A4-Portrait of Webi Page in BI Launchpad will be same for both Portrait and Landscape orientation of Mobile WebI Page, i.e. when the orientation of mobile device screen is changed, the report elements will be just stretched to different dimension, and will not be moved to other page.

 

A Report element will not be spread across multiple pages:-

              In BI Launchpad, a Report element can be bigger than a Page size, hence it will spread across multiple page as show in the following snapshot.

Screen Shot 2014-11-15 at 19.40.49.png

But when the same report is rendered on Mobile Device screen, the Report elements will not be split or spread across multiple Pages. Instead a report element will be clipped with the page, where its origin resides. For instance, in the above example, the Pie Chart is spread on Page1 and Page2. But in the Mobile Device, the Pie chart will be displayed on Page1. And the vertical table in BI Launchpad is originated on Page1 and spread on Page2, Page3 and Page4. In the Mobile Device the table will be clipped and displayed inside Page1. Hence the report will be displayed in Mobile Device as per the below specified snapshot.


Screen Shot 2014-11-15 at 19.41.03.png

This webi report in Mobile Device has single page (only Page1) and the other pages (Page2, Page3, Page4) are not listed, as there is no report element, with its origin, on those pages.

 

Dimension of a Report element on Mobile Device:-

            Along with the space optimization on Mobile Device, Mobile Page Layout decides dimension of each Report element, based on the size proportion of a Report element against the size of a Report elements available on the particular page. For instance, the below Webi Report Page has Report elements with various different dimension and unaligned origins.

              When the same Report Page is rendered on Mobile Device, Based on the origin and dimension, each Report element will be aligned into a column, and the report element will be rendered one below the other inside the column.


Screen Shot 2014-11-15 at 19.41.21.png


The above Report Page will be displayed in Mobile device as per below snapshot. There are 2 columns, one column covers RP1 and RP2. And the other column covers RP3, RP4 and RP5. Here each column will get width based on the proportion of that column with all other columns.

Column width:-

On the first column, there are Report elements with maximum width as 2 inches (Width of RP1 or RP2). On the second column there are Report elements with maximum width as 3 inches (width of RP3). Here the width proportion of the columns is 2”:3”. When it is rendered on Mobile Device which has around 750 pixel width, as per the proportion, the first column will get 300px and the 2nd column will get 450px.

 

 

Report element height:-

              On the first column, there are 2 Report elements, one of which(RP1) has 3 inch height and other Report element(RP2) has 1 inch height. Here the height proportion is 3”:1”. When these report elements rendered on Mobile device, as per the proportion, RP1 will get 675px height and RP2 will get 225px height.


Screen Shot 2014-11-15 at 19.41.33.png


     On the Second Column, there are Report elements (RP3, RP4, RP5) with equal height of 2 inches. Here the height proportion of the report elements is 2”:2”:2”. Hence on the mobile device, each Report elements on the Column2 are rendered with equal height of 300px.

Report elements of a Column will have equal width:-

            The report elements of a particular column will have same width, which will be equal to the width of the column.

Space between Report elements:-

            Each Report elements and columns are rendered with 10px gap, on all of the sides. Even when there is more gap or no gap between report elements on BI Launchpad, there will be always a constant 10 px gap between report elements, when it is rendered on Mobile Device.

 

 

Report elements can be spanned across multiple columns:-

            A report element can be designed for spanning across multiple columns. For instance in the following Webi report page, the Line Chart is spread on both Column 1 and Column2.

Screen Shot 2014-11-15 at 19.41.52.png

The above webi report page will be rendered on Mobile Device as per the snapshot given below.

Screen Shot 2014-11-15 at 19.42.01.png

Tables on Mobile Page Layout :

            Tables on webi report may grow and shrink vertically, based on the applied filter values.  On the mobile device, whenever a Table shrinks on its height, the Report element, which resides under the table will occupy the space. If the below report element is another table and it is not spanned across multiple columns, then it will be moved up to occupy the space created by the shrunken table.

            When a Table grows on its height, it can grow up to the allotted height, which is derived from the proportion with other report elements on the same column.

  When the table content needs more height than the allotted size, then the Table will be vertically scrollable, within the allotted height. And when there is more number of columns, which could not be accommodated on the given width (column’s width), then the table will be horizontally scrollable, within the allotted height.


 

On BI LaunchpadOn Mobile Device
Screen Shot 2014-11-15 at 19.42.16.pngScreen Shot 2014-11-15 at 19.42.21.png

Based on the filter the Table has shrunk

and have just 4 rows

Screen Shot 2014-11-15 at 19.42.29.png

Table has shrunk,

and the gap is filled with Bar chart


Screen Shot 2014-11-15 at 19.42.34.png


Horizontal Alignment of report elements across columns: -

            The horizontal alignment of report elements across columns is achieved by keeping size proportion of the report elements equally on those columns. For instance, the following Webi Report page has 3 columns, and on each column report element height proportion is equal across the column.

            On the first column, the report element size proportion is 1.5”:2”:3”, likewise on the 2nd column also the size proportion as  1.5”:2”:3”. So RP2 and RP5 are horizontally aligned, as RP1 and RP4 heights on Mobile device are equal. And RP3 and RP6 are horizontally aligned, as RP1 + RP2 and RP4 + RP5 heights on Mobile device are equal.

            On the third column, the report element size proportion is 3.5”:3”. Based on this proportion, the sum of height of RP4 and RP5 will be equal to height of RP7. So RP8 will be horizontally aligned with RP3 and RP6.

              As the horizontal alignment of report elements are decided based on the height proportion, it is not necessary to keep the report elements exactly aligned origin on BI Launchpad.

Screen Shot 2014-11-15 at 19.42.44.png


Hence the above webi report will be rendered on Mobile device as per the below snapshot. Horizontal Alignment could not be achieved or will not consistent for the report elements, which comes below a Table, because when the table shrinks the report will be moved up automatically for space optimization, so alignment with other column report element will be disturbed. So it is suggested to use Charts or spanned Table, above the report elements, which need to be aligned horizontally.


Screen Shot 2014-11-15 at 19.43.10.png

Horizontal Alignment when there are Tables in the WebI Report:-

     When a table comes above to another Report element, due to the variable height of the table according to the number of rows, the other report element will keep on moving up and down. In such scenario, horizontal alignment across multiple columns can not maintained consistently.

Screen Shot 2014-11-15 at 21.50.34.png


In the above example report, the Pie Chart and the Line Chart is not horizontally aligned. In this scenario, we can follow following steps to arrange the report elements in horizontal alignment.

  • Make sure the table height is constant(for example, the number of rows of the table, or the content of the table should not be varied while applying different filter values)
  • Now the need is to slightly bring up the divider(between the bar chart and the line chart) in the second column.
  • This can be achieved either by reducing the bar chart height or by increasing the line chart height.
  • With some trials, we can achieve the horizontal alignment.


Sections on Mobile Page Layout:-

            When a Webi Report, which has sections, is displayed on Mobile Device, at a time a single section’s report elements only rendered. User can navigate to different section by selecting an item from the left side section navigation panel. For instance, the below webi report has 3 Charts are each section and it has one non-section report element(Vertical Table), above to the sections.


Screen Shot 2014-11-15 at 19.43.31.png


When the above webi report is opened on Mobile Device, initially the non-section report element will be displayed and no sections will be displayed. If there is no non-section report element, then initially the first section (2004) will be displayed. Then user can navigate to next section (2005), then the previous section will be cleared and the page will be rendered with the non-section report element (Vertical Table) and new section content (2005), as specified in the below snapshot.


Screen Shot 2014-11-15 at 19.43.45.png


Free cell on Mobile Page Layout: -

     Like other Report elements, Free cell follows all above-mentioned logics like size proportion, Spanning across columns and horizontal alignments. In addition to that the free cell can be used for creating empty space on the Mobile Device Report page, by keeping blank cell without any text.

One of the pain points observed when upgrading SAP BI Mobile SDK for iOS is migrating the preferences specified in DefaultSettings.plist file.This article provides a sample script to migrate the preferences.

 

We will be looking at two different approaches to write shell scripts.

 

Approach 1: Writing a shell script to overwrite specific values of the plist.

 

Let's consider the customization of the following 3 features:

  1. feature.email.enabled.default
  2. feature.streamwork.enabled.default
  3. feature.predefinedconnections.list.default:0

 

Sample script:

 

MOBI_BASE_PLIST="./DefaultSettings_v5.0.plist"

MOBI_MODIFIED_PLIST="./DefaultSettings_v4.4.plist"

MOBI_NEW_PLIST="./DefaultSettings_v5.0.plist"



declare -a cust_arr=( \

"Customizations:feature.email.enabled.default" \

"Customizations:feature.streamwork.enabled.default" \

"Customizations:feature.addconnection.SUP.enabled.default" \

"Customizations:feature.predefinedconnections.list.default:0" \

)

echo "The script uses files in following locations, please exit and change the paths in script if needed: "

echo "Base version of file: [${MOBI_BASE_PLIST}]"

echo "Customized version of file: [${MOBI_MODIFIED_PLIST}]"

echo ""

echo "##################################################################"

echo ""

read -p "Do you want to proceed? " -n 1 -r

echo

if [[ ! $REPLY =~ ^[Yy]$ ]]

then

exit 1

fi


# Loop through the items in the array.

for i in ${cust_arr[@]}

do

MOBI_MODIFIED_VAL=$(/usr/libexec/PlistBuddy -c "Print :$i" "${MOBI_MODIFIED_PLIST}")

if [ "$?" == "0" ] #Proceed only if entry exists in modified file

then

MOBI_ORIG_VAL=$(/usr/libexec/PlistBuddy -c "Print :$i" "${MOBI_BASE_PLIST}")

if [ "$?" == "0" ]

then

if [ "$MOBI_ORIG_VAL" != "$MOBI_MODIFIED_VAL" ]

then

echo Customization found: $i is changed from $MOBI_ORIG_VAL to $MOBI_MODIFIED_VAL.

/usr/libexec/PlistBuddy -c "Set :$i ${MOBI_MODIFIED_VAL}" "${MOBI_NEW_PLIST}"

fi

else

/usr/libexec/PlistBuddy -c "Add :$i string ${MOBI_MODIFIED_VAL}" "${MOBI_NEW_PLIST}"

fi

fi

done

if [ "$?" != "0" ]

then

  clear

  echo "##################################################################"

  echo "Script run is complete. No customizations were detected."

  echo ""

  echo "If you are sure that you had performed customizations, ensure that following information is correct, and you have sufficient read/write permissions: "

  echo ""

  echo "Base version of the file: [${MOBI_BASE_PLIST}]"

  echo "Customized version of the file: [${MOBI_MODIFIED_PLIST}]"

  echo "##################################################################"

fi

 

Approach 2: Writing a shell script that generates a shell script to overwrite specific values of the plist.

 

This script generates another script file(runGeneratedOverrides.sh in our example).

 

 

Let's consider the customization of the following 3 features:

  1. feature.email.enabled.default
  2. feature.streamwork.enabled.default
  3. feature.predefinedconnections.list.default:0

 

Sample script:

 

 

MOBI_BASE_PLIST="./DefaultSettings_v5.0.plist"

MOBI_MODIFIED_PLIST="./DefaultSettings_v4.4.plist"

MOBI_NEW_PLIST="./DefaultSettings_v5.0.plist"

MOBI_CHANGE_SCRIPT="./runGeneratedOverrides.sh"

 

 

declare -a cust_arr=( \

"Customizations:feature.email.enabled.default" \

"Customizations:feature.streamwork.enabled.default" \

"Customizations:feature.addconnection.SUP.enabled.default" \

"Customizations:feature.predefinedconnections.list.default:0" \

)

#Inform the user that they need to review the generate file for any discrepancies.

clear

echo "##################################################################"

echo "This script will generate the following file, deleting any existing copies: "

echo "  ${MOBI_CHANGE_SCRIPT}"

echo ""

echo "The script uses files in following locations, please exit and change path in the script if needed: "

echo "Base version of the file: [${MOBI_BASE_PLIST}]"

echo "Customized version of the file: [${MOBI_MODIFIED_PLIST}]"

echo ""

echo "You must review the generated file for its completeness  and make any additional changes that you desire."

echo "##################################################################"

echo ""

read -p "Do you want to proceed? " -n 1 -r

echo

if [[ ! $REPLY =~ ^[Yy]$ ]]

then

exit 1

fi

 

#copy the Modified plist file as Change plist file.

rm "${MOBI_CHANGE_SCRIPT}"

 

 

# Loop through the items in the array.

for i in ${cust_arr[@]}

do

MOBI_MODIFIED_VAL=$(/usr/libexec/PlistBuddy -c "Print :$i" "${MOBI_MODIFIED_PLIST}")

if [ "$?" == "0" ] #Proceed only if entry exists in modified file

then

MOBI_ORIG_VAL=$(/usr/libexec/PlistBuddy -c "Print :$i" "${MOBI_BASE_PLIST}")

if [ "$?" == "0" ]

then

if [ "$MOBI_ORIG_VAL" != "$MOBI_MODIFIED_VAL" ]

then

echo /usr/libexec/PlistBuddy -c \"Set :$i ${MOBI_MODIFIED_VAL}\" \"${MOBI_NEW_PLIST}\" >> "${MOBI_CHANGE_SCRIPT}"

fi

else

echo /usr/libexec/PlistBuddy -c \"Add :$i string ${MOBI_MODIFIED_VAL}\" \"${MOBI_NEW_PLIST}\" >> "${MOBI_CHANGE_SCRIPT}"

fi

fi

done

 

#Mark the script as an executable

chmod +x "${MOBI_CHANGE_SCRIPT}"

 

if [ "$?" == "0" ]

then

  clear

  echo "##################################################################"

  echo "Script run is complete. Please review the following file for its completeness and make any additional changes that you desire: "

  echo ""

  echo "  ${MOBI_CHANGE_SCRIPT}"

  echo ""

  echo "##################################################################"

  echo ""

else

  clear

  echo "##################################################################"

  echo "Script run is complete. No customizations were detected."

  echo ""

  echo "If you are sure that you had performed customizations, ensure that following information is correct, and you have sufficient read/write permissions: "

  echo ""

  echo "Base version of the file: [${MOBI_BASE_PLIST}]"

  echo "Customized version of file: [${MOBI_MODIFIED_PLIST}]"

  echo ""

  echo "Script output file: [${MOBI_CHANGE_SCRIPT}]"

  echo "##################################################################"

fi


Shell scripts implementing both the approaches are attached to this article as .txt files. Kindly rename them to .sh formats after downloading.


Prerequisite for this configuration:-

  • SAP BusinessObjects Platform Configured for SAP authentication.
  • Support for SSO is from SAP BusinessObjects 4.0 SP08 or SAP BusinessObjects 4.1 SP02 onwards.
  • Basic Authentication URL, Which takes in SAP Authentication details and generates the MYSAPSSO2 Cookie for SSO.
  • Support from SUP 2.2.4 onwards.


Configuring Mobile Server for SSO Via SAP Logon tickets MYSAPSSO2 Cookie based:-


Below are the settings that need to be done for making the Mobile Server Look for MYSAPSSO2 Cookie in client request


MobileBIService Configuration:-


sso.properties file in MobileBIService config folder

====================================================


# You can configure mobile server to connect multiple CMS, specify default CMS id here

default.cms.identifier=<id>

 

# You can specify IP Address/Qualified Name/Alias for your CMS here

<id>.aliases=FQN of Mobile Server, IP address

 

# You can specify the sap system details here

<id>.sap.sid=SAP system SID

<id>.sap.client=SAP system client ID

 

# [You can specify name of Cookie here, if its other than default (siteminder default is SMSESSION, sap logon ticket default is MYSAPSSO2)

<id>.cookie.name=MYSAPSSO2

 

# You can specify the Authentication type here.  secLDAP, secWinAD, secEnterprise, secSAPR3

<id>.authentication.type=secSAPR3

 

# Specify the default authentication scheme here. USERPASS, BASIC, BOETOKEN, COOKIE, TRUST

<id>.authentication.scheme=MYSAPSSO2

 

 

Authscheme.properties file in the MobileBIService config folder:-

=================================================


# default User/Password log-on implementation

USERPASS=com.businessobjects.mobilebi.server.logon.impl.UserPass

 

# allows you to configure WCAToken, Default Token or any other BOE Token

BOETOKEN=com.businessobjects.mobilebi.server.logon.impl.Token

 

# allows you to configure SAP SSO2 Cookie

MYSAPSSO2=com.businessobjects.mobilebi.server.logon.impl.MySapSSO2

 

Configuring SUP for Mobile SSO Via SAP Logon tickets MYSAPSSO2 Cookie based:-


  • Login to SCC

SCC.png

 

Steps to create Security Configuration:

  • Security -> New -> Enter name (here for Ex., MobiSec)

        Note:- Do make a note of this name as it will used in future steps and at the client.

  • Select the created Security Configuration from tab on left hand side
  • Go to Authentication Tab -> New ->Authentication Provider -> Select HttpAuthenticationLoginModule
  • Specify your BASIC authentication URL for Validation SAP UserName and Password

 

Note:- URL -> Basic Auth URL with SAP authentication should issue ticket with MYSAPSSO2 Cookie    


Example:-http://10.10.10.10:8080/MobileBIService/MessageHandlerServlet?message=GetVersion

Authentication Module.png

 

  • Specify SSO Cookie Name -> MYSAPSSO2


Cookie Parameter.png

  • Click to save the configuration.


  • Delete existing Provider Type(NoSecLoginModule)

 

     Delete Existing Provider.png

 

  • General Tab -> Validate and Apply

   

        Note:-This step has to pass before going ahead with any other configuration

 

     Validate Settings.png

 

Steps to create an Application and Application Template:

  • Applications -> New
  • Enter Application Id and name (Id = MobiApp). Make a note of the Id as it would be used by the client.
  • Select the Security configuration (here MobiSec).

Creating Application ID.png

 

  • On Next -> Proxy Tab -> Give value to Application Push Point -> http://<Mobile BI Server>/MobileBIService/MessageHandlerServlet

        Example:- http://10.10.10.10:8080/MobileBIService/MessageHandlerServlet

  • Creating proxy pool for Mobile Server


Creating Proxy Pool whitelisting URL.png


Configuring the Mobile Configuration Server for importing SSO connection


MobiServer Configuration:-


Server.properties file


Example Connection:-


SSOSUPSAP.DisplayName:SSO_SUP_SAP

SSOSUPSAP.BOBJ_MOBILE_CONNECTION_TYPE_STRING=SUP

SSOSUPSAP.BOBJ_MOBILE_SUP_APP_ID= MobiApp(your Mobile Application ID)

SSOSUPSAP.BOBJ_MOBILE_SUP_SECURITY_CONFIG_NAME= your Security configuration Name

SSOSUPSAP.BOBJ_MOBILE_SUP_SERVER=SUP server IP or FQN

SSOSUPSAP.BOBJ_MOBILE_SUP_PORT=5001(your SUP Message Server port)

SSOSUPSAP.BOBJ_MOBILE_SUP_FARM_ID=0(your SUP FARM ID)

SSOSUPSAP.BOBJ_MOBILE_SSO_ENABLED=true

SSOSUPSAP.BOBJ_MOBILE_SSO_TYPE=SSO2COOKIE


Import the connection and Connect from SAP BusinessObjects Mobile.

Hello Everyone,

 

 

 

There will be situations where we would like to hyperlink to a report from an email or pdf. In case if your users use both mobile app as well as browsers,

you need to make sure you put both these links in all your communications to make it easy for the user.

 

 

Here is a simple method to overcome the issue with a single URL for both mobile and laptop/desktop. When the user clicks on the link depending on the device the URL is accessed from he/she is redirected appropriately.

Developed the script in simple asp format(on IIS server of course), but with this logic you should be able to develop script in any language of your choice.

 

 


Replace the following with your server details.

 

<<YOUR_CONNECTIONNAME>>

<<YOUR_SERVER>>:<<YOUR_PORT>>

<<YOUR_CMS>>

 


Example URL with Parameters:

 

     http://<<YOUR_IIS_SERVER>>/redirect.asp?cuid=XXXXXXX&report_type=webi

     http://<<YOUR_IIS_SERVER>>/redirect.asp?cuid=YYYYYYY&report_type=album

 

 

Save the below code in an asp file and host is on an IIS server after replacing the text as mentioned above.

 

 

<%

Option Explicit

Dim user_agent, mobile_browser, Regex, match, mobile_agents, mobile_ua, i, size

Dim report_cuid

Dim report_type

Dim viewSetId

Dim url_mobile_redirect

Dim url_pc_redir

 

 

 

report_cuid = Request.QueryString("report_cuid")

report_type =Request.QueryString("report_type")

viewSetId =Request.QueryString("viewSetId")

 

 

user_agent = Request.ServerVariables("HTTP_USER_AGENT")

 

 

url_mobile_redirect ="sapbi://OpenDoc/?authType=secEnterprise&connection_name=<<YOUR_CONNECTIONNAME>>&server_url=http://<<YOUR_SERVER>>:<<YOUR_PORT>>&ConnectionType=BOEConnection&cms=<<YOUR_CMS>>&type="&report_type&"&iDocID="& URLDecode(report_cuid)

 

 

If report_type="album" Then

  url_pc_redir ="http://<<YOUR_SERVER>>:<<YOUR_PORT>>/explorer/index.jsp?application=portal&viewSetId="& viewSetId

  url_mobile_redirect=url_mobile_redirect&"&explorerID="& URLDecode(viewSetId)

ELSE

  url_pc_redir ="http://<<YOUR_SERVER>>:<<YOUR_PORT>>/BOE/OpenDocument/opendoc/openDocument.jsp?sIDType=CUID&iDocID="&report_cuid

END If

 

 

mobile_browser = 0

 

 

Set Regex = New RegExp

With Regex

   .Pattern = "(up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone|windows ce|pda|mobile|mini|palm)"

   .IgnoreCase = True

   .Global = True

End With

 

match = Regex.Test(user_agent)

 

If match Then mobile_browser = mobile_browser+1

 

If InStr(Request.ServerVariables("HTTP_ACCEPT"), "application/vnd.wap.xhtml+xml") Or Not IsEmpty(Request.ServerVariables("HTTP_X_PROFILE")) Or Not IsEmpty(Request.ServerVariables("HTTP_PROFILE")) Then

   mobile_browser = mobile_browser+1

end If

 

mobile_agents = Array("w3c ", "acs-", "alav", "alca", "amoi", "audi", "avan", "benq", "bird", "blac", "blaz", "brew", "cell", "cldc", "cmd-", "dang", "doco", "eric", "hipt", "inno", "ipaq", "java", "jigs", "kddi", "keji", "leno", "lg-c", "lg-d", "lg-g", "lge-", "maui", "maxo", "midp", "mits", "mmef", "mobi", "mot-", "moto", "mwbp", "nec-", "newt", "noki", "oper", "palm", "pana", "pant", "phil", "play", "port", "prox", "qwap", "sage", "sams", "sany", "sch-", "sec-", "send", "seri", "sgh-", "shar", "sie-", "siem", "smal", "smar", "sony", "sph-", "symb", "t-mo", "teli", "tim-", "tosh", "tsm-", "upg1", "upsi", "vk-v", "voda", "wap-", "wapa", "wapi", "wapp", "wapr", "webc", "winw", "winw", "xda", "xda-")

size = Ubound(mobile_agents)

mobile_ua = LCase(Left(user_agent, 4))

 

For i=0 To size

   If mobile_agents(i) = mobile_ua Then

      mobile_browser = mobile_browser+1

      Exit For

   End If

Next

 

 

If mobile_browser>0 Then

    'This means that the link was accessed from a mobile device

            Response.redirect(url_mobile_redirect )

Else

   'This means that the link was accessed from laptop/desktop

            Response.redirect(url_pc_redir)

End If

 


Function URLDecode(sConvert)

          Dim aSplit

          Dim sOutput

          Dim I

              If IsNull(sConvert) Then

                      URLDecode = ""

                      Exit Function

              End If

 

    ' convert all pluses to spaces

         sOutput = REPLACE(sConvert, "+", " ")

 

    ' next convert %hexdigits to the character

         aSplit = Split(sOutput, "%")

 

         If IsArray(aSplit) Then

                sOutput = aSplit(0)

                For I = 0 to UBound(aSplit) - 1

                  sOutput = sOutput & _

                    Chr("&H" & Left(aSplit(i + 1), 2)) &_

                         Right(aSplit(i + 1), Len(aSplit(i + 1)) - 2)

                Next

         End If

    URLDecode = sOutput

End Function

 

%>

 

 

~Naras~

SAP Business Objects Mobile 6.1.6 App for IOS got released 3rd November 2014.

 

 

Mobi now aligns with Flat UI design & supports IOS 8

01.JPG

 

Mobi now supports hierarchical display of categories

(disabled by default, enabled with “feature.home.category.nested.enabled=true” in client settings)

 

02.JPG

 

User can double tap on a report part to zoom in and zoom out

 

03.JPG

 

Notifications

 

Mobi App Icon now has a badge to show new notifications. New Notification Panel allows user to view all notifications in one place.

 

04.JPG

 

User can also tap on available notifications to view target documents. Now you have one “Auto update” for both BI Inbox and Documents. It can be disabled, enabled only for WIFI or enabled for both WIFI and cellular data. Newly added documents are also available as notifications in notification panel. Mobi application does not require a user action to get notifications & BI inbox content. It automatically gets them for an active connection.

 

05.JPG

 

06.JPG

Hyperlink Content in “work offline” Mode

  • Downloaded hyperlink content can now be accessed in “work offline” mode. This option is enabled with “feature.hyperlink.offline.enabled=true”.
  • This may require internet access based on the URL used in hyperlink.
  • Hyperlinks can now be created to access local html pages bundled with application built using Mobile BI SDK

 

 

Explorer Content Listing on Mobile BI

  • Currently all explorer content is listed on mobile devices, irrespective of being assigned to mobile category or not (category assignment possible for explorer artifacts since BI 4.1)
  • A new property is being introduced in mobi.properties to change this behavior. “default.listing.explorer.category.only=true” will force explorer documents to list only when they are assigned to mobile category
  • This property has a mobile server dependency

    07.jpg

 

Dashboards Listing on Mobile BI

  • Currently Dashboard content is listed on mobile device if any of the following is true
    • If it is assigned to mobile category
    • If it is enabled for mobile while saving
  • A new property is being introduced in mobi.properties to change this behavior. “default.listing.xcelsius.category.only=true” will force Dashboard documents to list only when they are assigned to mobile category (it should be noted this property only influence listing and in order for dashboard documents to be correctly displayed on mobile, they should be saved for mobile from dashboard designer)
  • This property has a mobile server dependency

    07.jpg


Dashboards Performance Improvements

  • Targeted performance improvements to reduce the initialization and loading time for dashboards (Has dependency on BI 4.1 SP05)
  • An option to enable “Prefer Cache” for downloaded dashboards. When it is set to true, application loads the dashboard content from cache even if the live connection is available. This option is available with client settings property “feature.dashboards.prefer.cache.enabled=true”

08.JPG

 

Option to clear HTTP Cache

  • An option is now provided to clear Http Cache.
  • Navigate to the option as follows:   Application Settings    >    Additional Settings    >   Clear Data   >  Remove Application Cache Data

09.JPG

 

Enhancement to SSO support

  • Support for more than one entitlement systems (SAP R3) for SSO using MYSAPSSO2 Cookie
  • Support for providing identity using X509 certificates when deployment involves reverse proxy or SUP/SMP or any such case where certificate reaches mobile server as “SSL_CLIENT_CERT” header
  • SSO enhancements have dependency on Mobile Server

        10.jpg

 

Enhanced Support for Report Element Linking (REL)

  • Support of REL (all objects) for all report parts
  • Support of REL (single object) on stacked bar chart. With this addition, now REL (single object) works for all report parts
  • Support of REL on tables with breaks

 


Enhanced Support for Open Document Link

  • Support opening up a Open Doc link in Lumira Story
  • Support for "sReportPart" and “mode" in Open Document Links
  • Support for navigation to report part within section in open document link (hierarchical sections are not yet supported)

 

 

Hyperlink & Report Element Link Color

Hyperlink and Report Element Link color on Mobi can now be customized by report designer

 

11.JPG

 

Enhanced Support for Input Controls

  • Support for Input controls defined on Variables that have Custom Lov defined
  • This feature has dependency on BOE 4.1 SP05 release of Mobile Server

11.5.JPG

 

11.8.JPG

 

Client Settings (Available since SAP Mobile BI 6.1 IOS)

 

feature.home.category.nested.enabledThis property allows the administrator to enable hierarchical display of categories on Mobile BI application. Its default value is "false".
feature.hyperlink.offline.enabledDownloaded hyperlink content can now be accessed in “work offline” mode. This can be enabled by setting the mentioned property to true.
feature.dashboards.prefer.cache.enabledThis property enables an option of "Prefer Cache" for downloaded Dashboards. [enabling Prefer Cache application loads the dashboard content from cache even if the live connection is available]
feature.notification.polling.intervalThis property allows an administrator to configure the time interval between two requests for checking available notifications.
feature.autoupdate.enabledThis property can be used by administrator to disable auto update feature for documents/instances. Auto update is enabled by default.
feature.autoupdate.bi.inbox.enabledThis property allows an administrator to disable the auto-download of BI Inbox documents only. Auto update  for BI Inbox content is enabled by default.

 

The SAP Help has been updated yet but when it is it will be at SAP BusinessObjects Mobile for iOS – SAP Help Portal Page

SAP Mobile BI App is available for Apple, Android & Blackberry devices. Content support across platforms and devices with different form factors is as follows

 

iPAD         iPhone        

Android Tablet

Android Phone
WebiYesYesYesYes
Webi As PdfYesYesNoNo
CrystalYesYesNoNo
Crystal As PdfYesYesNoNo
HyperlinkYesYesYesYes
DashboardsYesNoYesNo
Design StudioYesYesYesYes
ExplorerYesYesNoNo
LumiraYesNoNoNo

 

Note: As on today SAP Mobile BI App is not available on windows 8 tablet or phones.

 

 

Disclaimer and Liability Notice

This document may discuss sample coding or other information that does not include SAP official interfaces and therefore is not supported by SAP. Changes made based on this information are not supported and can be overwritten during an upgrade. SAP will not be held liable for any damages caused by using or misusing the information, code or methods suggested in this document and anyone using these methods does so at his/her own risk. SAP offers no guarantees and assumes no responsibility or liability of any type with respect to the content of this technical article or code sample, including any liability resulting from incompatibility between the content within this document and the materials and services offered by SAP. You agree that you will not hold, or seek to hold, SAP responsible or liable with respect to the content of this document

Listing of an artifact on SAP Mobile BI Application is controlled by multiple factors. Following factors influence all content types

  • Whether the content type is supported on that device platform (i.e. IOS, Android, Blackberry etc.)
  • Whether the logged in user has access to that content type (this is restricted by disallowing rights on certain folders)


Then there are content type specific factor which determines whether it will be listed or not

  • Web Intelligence (Webi) - Webi artifacts are listed only when they are assigned to mobile category
  • Crystal (CrystalReport) - Crystal artifacts are listed only when they are assigned to mobile category
  • Explorer (DataDiscovery, DataDiscoveryAlbum) - All explorer artifacts that user is allowed to access are listed in Mobile App
  • Hyperlink (Hyperlink) - Hyperlink artifacts are listed only when they are assigned to mobile category.
  • Dashboards (XL.XcelsiusEnterprise) - Dashboards are listed when they are saved for mobile from Dashboard Designer
  • Design Studio (AAD.AnalysisAplication) - Design Studio artifacts are listed only when they are assigned to mobile category


This will help an administrator/user to determine why a particular artifact is listed/not listed.

 

Update: Listing behavior can be influenced for Explorer and Dashboard content. For more information refer "Explorer Content Listing on Mobile BI" & "Dashboards Listing on Mobile BI" sections in What is new in SAP BusinessObjects Mobile 6.1 (iOS)

The compatible MOBI app version with iOS8 will be V 6.0.9. We have already uploaded the new patch (v 6.0.9) to AppStore and should be available for download soon.

 

If you have upgraded your device to iOS8, you might face few UI issues and abnormal exit of application on some specific workflows. We have fixed these issues in the next patch version 6.0.9

 

If you are using older version of MOBI app  (like version 5.x or even 6.0.8)  built using SDK, we recommend you to download the latest SDK package (version 6.0.9) from Service Market Place (SMP) and rebuild the app before moving to iOS8. SDK package will be available for download from SMP once app is live in iTunes.Please continue to use XCode 5.x to build the application. Compilation using XCode 6.x is not yet supported and application may exhibit user interface issues.

 

Feel free to reach out to me if you have further questions

 

Regards

Srikanth

A user can directly import connections from Configuration Server (MOBIServer). In order for end user to be able to do that, mobile server administrator need to add the connections and their details in server.properties.


The list of parameters that can be used while defining connection in MOBI Server are as follows


Parameterin server.propertiesBasicSSOSUPSMPPossible Values
Name of connectionDisplayNameY
Type of connectionBOBJ_MOBILE_CONNECTION_TYPE_STRINGY

"BOESMP" for SUP Rest Connection,

"SUP" for SUP Legacy Connection,

Value not specified means BOE Connection

 

CMS Name or ClusterBOBJ_MOBILE_CMSYsame as the CMS value entered on connection screen. It can be IP, Qualified name or cluster name (@abc)
Mobile Server or SUP/SMP Server URLBOBJ_MOBILE_URL (incase of Mobile Server)
BOBJ_MOBILE_SUP_SERVER (incase of SUP Server)
Y
AuthenticationTypeBOBJ_MOBILE_AUTH_METHODYsecEnterprise, secLDAP, secSAPR3, secWINAD
Is it a SSO connection?BOBJ_MOBILE_SSO_ENABLEDYtrue, false
Type of SSO Configured?BOBJ_MOBILE_SSO_TYPEYX509Certificate, SSO2COOKIE, SITEMINDER_BASIC,
TRUSTED_AUTH_Basic, TRUSTED_AUTH_FORM, SSO_Form, SSO2COOKIE_QueryString
If X509 Certificates used, then how are they configured?BOBJ_MOBILE_CERTIFICATE_REQUIRED_FOR_NETWORKYCertificateMandatory, CertificateOptional
URL that will provide SSO2COOKIEBOBJ_MOBILE_SSO_QUERY_URLY
Form that will generate SSO2COOKIEBOBJ_MOBILE_SSO_FORM_URLY
SSO Cookie Name if different than standardBOBJ_MOBILE_SSO_COOKIE_NAMEY
SAP R3 system in case of SSOBOBJ_MOBILE_SSO_SAP_SYSTEMYABC^200, XYZ^100 etc.
SUP Farm IDBOBJ_MOBILE_SUP_FARM_IDY
SUP/SMP Security Configuration NameBOBJ_MOBILE_SUP_SECURITY_CONFIG_NAMEYY
SUP PortBOBJ_MOBILE_SUP_PORTY
SUP/SMP Application IDBOBJ_MOBILE_SUP_APP_IDYY
SMP Proxy Connection NameBOBJ_MOBILE_SUP_PROXY_CONNY


As an administrator if you would like to create connections using SAP BI Links, you would like to have a ready list of parameters that are available to you for defining the connection correctly.

 

Parameter Description in SAP BI URLBasicSSOSUPSMPPossible Values
Name of connectionconnection_nameY
Type of connectionConnectionTypeYBOESUPConnection, BOESMPConnection,
BOEConnection etc.
CMS Name or ClustercmsY
Mobile Server or SUP/SMP Server URLserver_urlY
AuthenticationTypeauthTypeYsecEnterprise, secLDAP, secSAPR3, secWINAD
Is it a SSO connection?isSSOYYES,NO (in SAP BI Link)
Type of SSO Configured?SSOTypeYX509Certificate, SSO2COOKIE, SITEMINDER_BASIC,
TRUSTED_AUTH_Basic, TRUSTED_AUTH_FORM, SSO_Form, SSO2COOKIE_QueryString
If X509 Certificates used, then how are they configured?isCertificateRequiredYCertificateMandatory, CertificateOptional
URL that will provide SSO2COOKIEsso2CookieQueryURLY
Form that will generate SSO2COOKIEssoFormURLY
SSO Cookie Name if different than standardssoCookieNameY
SAP R3 system in case of SSOsapsysYABC^200, XYZ^100 etc.
SUP Farm IDSUP_Farm_IDY
SUP/SMP Security Configuration NameSec_ConfigYY
SUP PortSUP_PortY
SUP/SMP Application IDApplication_IDYY
SMP Proxy Connection NameproxyConnectionY

 

 

BOE connection


Add a connectionsapbi://addconnection?ConnectionType=BOEConnection&name=ConnectionName&server_url=ServerName/IP:Port&cms=101.01.01.01:Port&authType=AuthenticationType&default=yes/no
Delete a connection

sapbi://DeleteConnection?

ConnectionType=BOEConnection&name=Tom&server_url=10.53.10.10:8080&cms=10.53.10.10&authType=secEnterprise&default=no

Modify a connection

sapbi://ModifyConnection?ConnectionType=BOEConnection&ConnectionName_Prev=Conn1&ConnectionName_New=Conn2&Server_Url_Prev=10.53.10.10:8080&Server_Url_New=10.10.10.10

:1010&CMS_Prev=10.53.10.10&CMS_New=10.10.10.10&AuthType_Prev=secEnterprise&AuthType_New=secLDAP&default=yes&UserName_Prev=Administrator


SUP connection


Add a connection

sapbi://addconnection?ConnectionType=SUPConnection&Application_ID=MobiApp&Sec_Config=MobiSec&server_url=10.53.129.243&SUP _Port=5001&SUP_Farm_ID=0

Delete a connection

sapbi://DeleteConnection?ConnectionType=SUPConnection

Modify a connection

sapbi://ModifyConnection?ConnectionType=SUPConnection&Application_ID=MobiApp1&Sec_Config=MobiSec1&server_url=10.10.10.10&SUP_Port=5001&SUP_Farm_ID=0


Note: While modifying a connection normally you have to repeat each parameter twice - one with "Prev" and another with "New" suffix. However, in case of SUP connection that is not required. This is because you can have only one SUP connection.

SAP Mobile BI does not allow SSO connections to be created manually.

 

Following are the options for SSO connections


  • You can directly import these connections from the Configuration Server (MOBIServer)
    • Administrator can configure these connections at following location
      • Copy the server.properties from default folder in to custom folder (<WebAppsROOT>\MOBIServer\WEB-INF\config\custom)
      • Then modify the server.properties file in custom folder
    • Choose your new connection identifier, say we choose 'mysso'. Add that to mobi.connections
    • Provide the connection properties and save the server.properties file
    • Now deploy the MOBIServer again after changes mentioned above.Once done, you can execute the following URL to check if the properties are configured correctly or not. [http://<server>:<port>/MOBIServer/MobiConfigurationServlet?RequestType=ServerList ]             

 

       

  • You can use MDM tools to publish connections if devices are IOS7 and above
    • For devices with iOS 7 or higher, Apple provides the "Managed App Configuration" functionality. This functionality allows a Mobile Device Management (MDM) server to push down a configuration dictionary into the managed app's NSUserDefaults for the purpose of remotely configuring settings
    • You can configure a single predefined connection or multiple predefined connections in the application by specifying values for the conn.list.(n) property on the MDM server, where 'n' is the array index starting with a value of 1. Each array item is of the type "String" and the value of each item corresponds to a connection URL.
    • For example, you can specify a predefined connection URL for a BOE server connection with the syntax shown below

               conn.list.1=<specify the sap bi link for SSO connection here>


  • You can use SDK to generate build that already has connection created.


Useful Links


PS: Once you have created SSO connection on your device, you can always share that connection with other users. Choose that connection, click share and that will generate the link for you

Hello Mobi Users,

 

With the iOS 8 set to release this fall, we would like to understand which iOS version you are using today and what plans you may have to upgrade to iOS 8, once it becomes available. Today, App Store distribution by OS  shows us that 90% of iOS devices is already using iOS 7 ( link)

 

So that we can better plan for iOS 8 support, please respond to this short, 2-question survey (link below).

 

If you have additional questions/inputs, you can also reach me via this blog or email

 

Survey link: https://www.sapsurvey.com/cgi-bin/qwebcorporate.dll?idx=CVV5AX

 

Note: This survey ends by 8th August

 

Regards

Srikanth

Actions

Filter Blog

By author:
By date:
By tag: