What’s New in the mobile development kit 2.0 (formerly SAP Enterprise App Modeler)
I am happy to announce that a new version of the Mobile development kit is available for download (client) and already available in SAP Web IDE (editor).
With the latest release of the mobile development kit, there are many changes to be aware of. In this blog, I’ll discuss all the new features and changes in the mobile development kit. The first change I’ll mention is the name change. SAP Enterprise App Modeler has been renamed to mobile development kit. Mobile development kit is still a feature of SAP Cloud Platform mobile services.
If this is your first introduction to the mobile development kit, I suggest you first read a few blogs that provide a great introduction to the feature.
- Mobile development kit
- Using SAP Enterprise App Modeler to harness the features of Offline OData
- Build Rich, Native Mobile Applications Without Writing Any Code
What is New in 2.0?
- Support for custom mobile app development
- New client on SAP Store
- New editor in SAP Web IDE
- Learning Map (coming soon)
- HANA Academy Tutorials
- Mobile Interactive Demo (coming soon)
- New features and changes
Support for custom mobile app development
The mobile development kit now officially supports building new native mobile applications. While all the features and capabilities have been there from the beginning, our focus was supporting customization of SAP Asset Manager. After an Early Adopter Care program with customers and partners, we have made support for building new mobile applications available to anyone who wants to build native mobile applications. Try it today.
New client on SAP Store
The mobile development kit client has separated from the SAP Cloud Platform SDK for iOS and is available for download from the SAP Store.
Don’t worry, the mobile development is just as tightly integrated with the SDK for iOS as before and leverages the controls visually in SAP Web IDE.
New editor in SAP Web IDE
Regardless of whether you have already been using the mobile development kit or this is your first time, you should now see a new editor in SAP Web IDE. As of Nov 9, 2017, the new editor was added to all SAP Web IDE full stack cloud environments. You should see the update without any manual tasks on the user side.
If you don’t see the changes, you may need to clear your cache in your browser or disable the plugin, Mobile development kit. Save changes and restart SAP Web IDE. You will then enable the plugin and again save and restart SAP Web IDE.
A new learning map is being released to guide users through learning mobile development kit based on skill level or line of business. Each section of the learning map has clickable areas for blogs, video tutorials, whitepapers, and more. The Learning Map can be found here.
HANA Academy video tutorials
New video tutorials are being posted on HANA Academy on youtube.com. These instructional videos walk users through everything they need to get up to speed on Mobile development kit from environment setup, add offline, creating your first list page, adding a detail page, creating an edit page, creating a rule, and more. View the playlist here.
Mobile Interactive Tutorials (coming soon)
Mobile Interactive Tutorial is the place to learn the basics about SAP Cloud Platform mobile services and its key concepts through easy, step by step tutorials. Simply select the topic in which you are interested, select the target platform for which you want to develop and you are on the way. Mobile development kit is being added as a new topic in Mobile Interactive Tutorials. These are planned for Q4 2017.
New features and changes
Time for the new features and changes. The following list is a combination of new features as well as changes in the product that may affect your development and/or existing applications.
Support for iOS 11 and Xcode 9
Mobile development kit 2.0 supports both Apple iOS 11 and Xcode 9.
Editor plugin name has been changed
When you enable or disable the plugin from within SAP Web IDE, the name of the feature is displayed. The name was formerly displayed as SAP Enterprise App Modeler and is now displayed as mobile development kit editor.
While the plugin name has been changed, you will see variations of SAP Enterprise App Modeler still in the product. Names include App Modeler, SEAM, etc. Our goal is to get these all updated in the next release, but feature changes are often higher priority.
Menu changes in the editor
The way the mobile development kit menus are displayed to the developer has changed. Previously, users would right-click on the project name and see all the options available in the menu such as New Page, New Action, New Rule, and Deploy Metadata to Mobile Services
- right-click on the Action folder to see New SEAM Action
- right-click on the Rule folder to see New SEAM Rule
- right-click on the Page folder to see New SEAM Page
This may seem like a minor change, but it took me awhile to realize the menus had moved. When I first tried out the 2.0 editor, I couldn’t find the menus and started calling around, so I will save you the trouble of calling or emailing.
Launch the device client and on-board via an email link
Users can click on a link in an email to initiate the onboarding process for the client on their device. The administrator can send them an email containing a link with all the required parameters.
The link should contain a custom url scheme to launch the client. The following parameters are included in the URL:
- App ID
- Client ID
- Endpoint URL
- Authorization URL
- Redirect URL
- Token URL
Example of onboarding email
“mdkclient” is just an example. The name that starts the email is the name of the app you set when building the client for the device. This means that if you have multiple mobile development kit applications on the same device, you can on-board both apps using email by starting the email with the name of the app you want to on-board.
To avoid the issues when editing the metadata files manually in the code editor, the metadata validation feature is introduced to give users guidance on whether the current editing content is valid or not. The validation can be done manually if editing the metadata in an existing project and is automatically triggered when importing an existing mobile development kit application. SAP Web IDE displays the errors automatically. A project folder context menu item [Metadata Validate] is available to validate the whole mobile development kit project manually.
All the actions, global variables, services, pages and application objects which have the predefined metadata schema in metadata github can support the schema validation.
This metadata validation context menu item is not only accessible at the project level folder, but also for the supported sub folders, e.g. Actions, Globals, Pages, Services.
When I imported my demoApp project from v1, I immediately saw an error at the bottom of the SAP Web IDE screen. The mobile development kit editor had an issue with my InitializeOfflineODataSuccess.action. It stated there was a Json error with Duration.
I went to that action and removed the value ‘3’ for Duration and typed it back in and re-ran the validation and I received no metadata validation error.
The mobile development kit editor is a cloud product, so the generated metadata is always the most current version. However, the existing metadata files from users may be from a previous version. To avoid the risk of encountering any unexpected issues in the client, a migration report is introduced to help users understand the potential changes required. The user can immediately confirm the changes and proceed with the migration if the changes are minor. If the changes are substantial, the user can review with other team members and decide how to handle any changes. The migration is not mandatory. The report is informational only and the user can optionally choose to migrate the metadata or make changes themselves.
If the user proceeds with the migration, it collects all the metadata files which need to be migrated in the projects such as actions, global variables, pages, services and the Application.app. The migration updates and saves each file one by one.
Doing the migration
1) Make sure the project type ‘SAP Enterprise App Modeler’ is checked in the current project setting.
2) Then a context menu item ‘Metadata Migrate’ will be available to trigger the action.
This context menu item is not only accessible at the project level folder, but also for the supported sub folders, e.g. Actions, Globals, Pages, Services.
The migration report view will display automatically once the metadata migration is triggered.
Demo mode capability
The client supports demo mode with the ability to switch from a demo mode to a non-demo mode through user selection. This is needed for clients published to the Apple AppStore. Especially SAP applications built on top of Mobile development kit.
View and Edit local objects in the client prior to the backend sync
Users can now view and edit notes or attachments created in the client app before the app syncs with the backend. If the user creates a note for a job and needs to add additional information, they can now edit that existing note locally before the sync. Previously if a user created a note or attachment for a work order or job in their application, they could not view or edit that object again until after the content was synced with the backend.
Local references and ID have been added to the client to make this possible.
Ability to use rules with extension controls
In the editor, developers can access rules from an extension control regardless of whether it is the only control on the page or not.
Define application timeout settings as a user preference
The end user of the application can define a configurable timeout for the application. They can choose for the application to timeout as soon as they leave the application (setting 0), timeout after a certain # of min, or never timeout.
This timeout allows the user to leave the application running in the background and return to the app within a specified time period without having to provide a passcode again. After the time expires, the password is required.
New clientAPI in the Rule Editor
If you have previously used the Rule Editor in the 1.0 or 1.2 release, there are a few changes you will need to make to your existing rules. The updated Rule Editor makes use of the clientAPI to interact with the client data. We will be working on a separate blog focused on the rule editor and rule examples. For now, I will just show what my rule looked like in my 1.2 application and what I changed it to for 2.0.
1.2 demoapp after opening in 2.0 editor
This rule validates that description is not empty
To fix, I had to grab my ‘if’ statement from Functions rather than Logic
I next grab the new clientAPI – evaluateTargetPath to use with my ObjectBrowser
ObjectBrowser values move into clientAPI and I don’t need to create a variable, just return true if I see a description and false if I don’t.
With v2 editor, it provides expanded support for the different types of API interfaces that the rules support so the user needs to pick the ClientAPI evaluateTargetPath first before adding the Object Browser selection.
Enhancements to iOS SDK support
- Support for Form Cell Button control
- Support for Section Table Button control
UI enhancements for SAP Fiori for iOS Guidelines
- Support the Filter as a pop-over
- Previously, the filter on the page covered the entire page and now shows up as a pop-over.
- Support for a “Help Style” in the Section Footer
- The editor and client now support a help style for the section footer
Support for enhanced feedback in wait indicators
A wait cursor / spinner with a configurable label. The developer can define what the wait cursor states to the end user. The wait cursor has the ability to change state.
A download status indicator on an object cell can be added as well to provide more detailed information to the end user.
Support for a client reset action to return to the original onboarding state
Users will have a permanently log off state to reset client to its original statue and clear the offline database.
Update a Toolbar using designer-defined rules
The developer can add styling, content, and media to the toolbar based on rules created in the editor.
Hide or disable a popover item in a popover menu
The ability to hide or disable a popover menu item on the client app based on a rule set in the editor by a developer.
Support for phone number, email detection in the application
In the editor, a developer can use the DataDetectorType in a Key/Value control in the Form Cell or Section table to detect if the content displayed in the application is a phone number or email and make it linkable to the user.
This is supported in full and modal screens in the application.