Posted: 1 May 2017 9:10 EDT Last activity: 12 May 2017 13:13 EDT
Ask the Expert - Offline Mobile
Stephanie leads the mobile and multi channel groups at Pega. She started at Pega before there was a mobile offering, so has been responsible both for bringing the initial offering to market as well as maturing the solution and keeping up with the latest mobile trends. She helped lead the Antenna acquisition and has been responsible for integrating the technologies into the core platform.
James is a Principal Software Engineer of Mobile, Offline and Multi-Channel. He came to Pega in 2009 as a Senior Software Engineer of UI with the acquisition of Chordiant. James was the tech lead of the engineering team that first started working on mobile technology at Pega and has been involved with many aspects of UI, Mobile, Offline, Case Management and Multi Channel.
Radek is a Product Manager of Pega Offline. He came to Pega in 2013 as a Senior Software Engineer of Mobility with the acquisition of Antenna. Radek was the tech lead of the engineering team that first started working on offline technology at Pega and has been involved in creating the modern architecture of Pega Offline as well as with many aspects of Mobile and UI.
Message from Stephanie, James, and Radek:
Hello! We are looking forward to answering your questions about offline capabilities. Offline capabilities continue to evolve quickly and are very unique to the Pega platform. Please feel free to ask any general, implementation and how to questions. We will be happy to share our knowledge and experience with you to help enable you to build best in class offline apps!
Offline capabilities lie at the base of the Pega platform and as such they are not strictly related with particular industries or frameworks. Potentially all industries could benefit from leveraging offline capabilities, most notably those that deal with mobility, low quality networks, or that operate in the out-of-range areas: logistics, utilities, energy, etc. Because Pega Offline support is very generic, application developers can leverage the capabilities wherever they find them applicable. Sales force automation, and field service are naturally the frameworks that benefit the most. They are currently being expanded to make use of various possibilities that Pega Offline gives.
#1 - As Radek has mentioned, Offline is not necessarily industry-specific. Anywhere you have a workforce that is often going into remote areas, or locations with unknown network coverage benefit from offline capabilities. Field agents, field services, visiting nursing, canvassers, inspectors, etc. all benefit. Offline solves a logistics issue that is common to all of the industries you listed.
#3 - Several frameworks like Field Services and Sales Automation use offline as an integral part of their solution. However, Offline is integrated with Pega 7 at the core, so it can be used in combination with virtually any framework. For example, UnitedHealthCare successfully used Offline in combination with the Healthcare framework to greatly help their agents: https://www.youtube.com/watch?v=5zhlz9L6IxQ
Pega 7 mobile applications (apps) can use offline capability when running on a mobile device. Enabling this feature for an application means that when the app is running on a mobile device that is offline (as in, a connection with the server is lost or not available), you can still perform the following tasks:
Create a new case
Complete any of the assignments listed in your worklist
For Pega 7 mobile apps built with offline capability, an online and offline rendered version of a user case portal is available.
When your mobile device is offline, and you attempt to open or submit an assignment or to create a new case, all steps are saved in the data store. When the network connection state changes and the mobile device comes back online, data synchronization is triggered automatically for the app, and any saved data is updated to the server using the store and forward capability.
When your mobile device is online, completing an assignment or creating of a new case means that any changes are immediately submitted to the server using the online version of the case portal. The store and forward capability is not leveraged in this situation. However, if mobile device goes offline at any time, app information is saved in the data store using the data and forward capability.
Only single-step assignment processing is supported for the offline capability in mobile applications. This means that after each completed assignment in the case when working offline, the app's end user (or a user on another device) must first go online to continue to the next step in the case. It is not possible to perform more than one assignment in the case when in offline mode.
To successfully use offline capability, a mobile app end user must successfully log in to the server at least once. Only after the initial login takes place, can offline capability be leveraged with the mobile app.
When building the application, enable offline capability and choose optimistic locking in the case type settings. Additionally, when configuring an application to use offline capability, remember that a portal based on the Case Worker portal (such as pyCaseWorker) must be set as the default for every access group whose users will be accessing the application.
Also, have you discovered the "Sync issues workbasket" configuration for offline-enabled Case Types?
Under the General setting tab for a Case Type, if your case is enabled for offline, then you have the option to specify a workbasket. For offline, all of the work is stored on the the device and replayed on the server when it is available. By specifying a workbasket in this field, should any work items encounter errors during replay (validation, locks, etc.). The work object will be saved with the errors and routed to this workbasket. This allows you to open and repair the work items on the server, without the mobile user having to do anything on their part. This can be extremely helpful in certain circumstances.
If you have questions or suggestions about troubleshooting and recovery, now is a great time to ask those questions and give us your feedback. You want to make sure you are prepared for such eventualities before you go into production.
I am not sure if this is a Mobile/Offline question or not? In Pega, data exists in either the form, the clipboard or the database. The same is true for Offline. If you do a refresh section that has submit enabled, the data moves from the form to clipboard. If the other section refreshes as well, it will pull the data from the clipboard. This capability exist in Offline as well. However, for offline, you should use a Repeating Dynamic Layout instead of a Grid. I hope this helps.
I have a question related to Mobile touch id authentication on ios. we are using Pega Cloud ver 7.2.2 and have a custom mobile application for ios. We are unable to get touch id work even after enabling Dynamic System Setting for Touch ID.
Any clue of specific settings that we need to run-pass?
Enable and configure Touch ID in the operating system's settings. Make sure either "iPhone Unlock" or "iTunes & App Store" is turned on:
Log in at least one time using regular credentials (user name and password) and make sure the "Remember me with Touch ID" checkbox is checked on the login screen.
Hi RadoslawNowak, thanks for your response! I have verified the settings on iPhone and DSR to ensure they are as required. Also verified fingerprint scanner is working on iPhone independently.
User Interface expert has updated the style in Web-Login but have not removed any sections. I have also verified that pyWeb-login-mobile-touchId.js is being refereed in <script> tag and it does exists in system.
Any other setting /reference that might be worth checking?
Let me reply to your questions one after another as I have to look here and there to collect all the information.
So for question #1, the answer is "no". The nature of a jailbreak is that you can do virtually anything there, so you can modify it in such way that it adapts to any fancy mechanisms in our application that we could introduce in order to prevent that. In practice, applications can be equipped with such mechanisms that discover popular jailbreaks, but if someone (with bad intentions) purposefully would like to let our application work on a jailbroken device, then he could simply do it with a little skills.
For question #2 there is no such way in the mobile app. But please remember that such a copy is useless without the original device and user's credentials because the data is always encrypted in Pega mobile apps. What is more, many operating systems (specifically all modern iOS devices and some Android ones) use the additional system-level encryption.
For question #6, although Pega Mobile Client supports all external authentication schemes, not all of them will work with offline-enabled applications. The only scheme that will work is when Pega server serves as a kind of a "proxy" to the external authenticator. In such case the mobile app gives credentials to Pega server (through the regular Pega login page) which passes them to the external server for the actual authentication and returns the result to the client.