Maximo

Maximo

Come for answers, stay for best practices. All we're missing is you.

 View Only
Expand all | Collapse all

When will records be transmitted back to the server after working in offline mode ?

  • 1.  When will records be transmitted back to the server after working in offline mode ?

    Posted Mon June 29, 2020 06:27 PM
    When will records be transmitted back to the server after working in offline mode ?

    Should this be an automated process that is checked every x minutes to see if this app is back in online mode ? Is this configurable ?

    Is there a function within the apps where a user could force a flush of the offline queue ?

    I have noticed that if I actively work on a record after being in offline mode it appears to flush out the queue and send all records along with the one I was working on. If someone could shine some more light on this for me that would be great.

    Thanks


    ------------------------------
    Ryan Medernach
    Application Support
    MEG Energy
    Calgary AB
    -
    ------------------------------



    #MaximoAnywhere
    #Maximo
    #AssetandFacilitiesManagement


  • 2.  RE: When will records be transmitted back to the server after working in offline mode ?

    Posted Tue June 30, 2020 08:20 AM
    Anywhere has had what they call a heartbeat setting (si.device.heartbeat.timeInterval) which defines how long it should go in seconds before attempting to reconnect when it realizes it doesn't have connectivity. The default is 1200 seconds (20 minutes) and yes can be configured. This is done to reduce the battery impact (instead of constantly trying to establish a connection). This used to be configured in the worklight.properties (in the MaximoAnywhere\server\conf) directory. With the platform shift in Anywhere 7.6.4, it's not in the config by default but the knowledge center still says to configure it there (https://www.ibm.com/support/knowledgecenter/en/SSPJLC_7.6.4/com.ibm.si.mpl.doc/configure/t_change_heartbeat.html) so I assume that's where it's supposed to go still. I haven't tested it on 7.6.4 to confirm whether or not it works.

    If the user has connectivity and doesn't want to wait for the heartbeat, they should use the Synchronize Data action (in the menu in the top right corner). This will attempt to establish a connection immediately to send any of their records that haven't sent to the server and retrieve an updated work list. The updated work list is different than the Download Work List, which attempts to download all supporting data (including potentially attachments) to support working offline. The synchronize data will get the basic header information of the work order, but would not download supporting data (such as materials) until you tried to access the record with connectivity.

    ------------------------------
    Steven Shull
    Director of Development
    Projetech Inc
    Cincinnati OH
    ------------------------------



  • 3.  RE: When will records be transmitted back to the server after working in offline mode ?

    Posted Tue June 30, 2020 08:36 AM
    I have had problems with ConnectionHeartbeat in Issues Returns app on iOS device. The heartbeat stops coming once the app goes in the background and comes back to foreground. The heartbeat also isn't called when app restarts and user logs back in.

    ------------------------------
    Nidhi Chawla
    ------------------------------



  • 4.  RE: When will records be transmitted back to the server after working in offline mode ?

    Posted Tue June 30, 2020 08:41 AM
    Inventory apps (such as Issues & Returns) aren't supported offline so I imagine a lot of the offline configuration is flaky at best in those apps. Good to know though.

    ------------------------------
    Steven Shull
    Director of Development
    Projetech Inc
    Cincinnati OH
    ------------------------------



  • 5.  RE: When will records be transmitted back to the server after working in offline mode ?

    Posted Tue June 30, 2020 11:40 AM
    Thanks for the information Steven,

    We are trying to start off with Item Move, Transfer and the Count app. None of these appear to have a Synchronize Data action. As well do you happen to know if when it says to "Build and deploy the applications" if its talking about the IBM\Anywhere\MaximoAnywhere build all process or building out the .apk files and deploying them.

    Can someone from IBM respond back about not having a Synchronize Data action as well as the comment about "Inventory apps (such as Issues & Returns) aren't supported offline". Should the action exist and is it true some of the apps are not supported in offline mode even though the options are displayed within the apps to enable offline mode.


    ------------------------------
    Ryan Medernach
    Application Support
    MEG Energy
    Calgary AB
    -
    ------------------------------



  • 6.  RE: When will records be transmitted back to the server after working in offline mode ?

    Posted Wed July 01, 2020 09:55 AM
    On the first part, I don't believe you were required to build native apps (the APK/IPA) for the heartbeat functionality to work. Until 7.6.4 we've always built native apps though so I don't have experience adjusting it while using the store app for example. 

    As for the aren't supported offline, see here: https://www.ibm.com/support/knowledgecenter/en/SSPJLC_7.6.4/com.ibm.si.mpl.doc/overview/c_mxanywhere_apps.html

    At the bottom it clarifies those two are intended to work online only. I thought I had seen an APAR to remove the option to Go Offline in those apps, but I'm struggling to find it. I agree that showing it if it isn't supported doesn't make sense.

    ------------------------------
    Steven Shull
    Director of Development
    Projetech Inc
    Cincinnati OH
    ------------------------------



  • 7.  RE: When will records be transmitted back to the server after working in offline mode ?

    Posted Wed July 01, 2020 10:16 AM
    The code for login and auth is common in all the apps, so I'm guessing all the apps will have the same issue. The connectionHeartbeat is also used for auto refresh of lookup data which is currently not working if user is already logged in. The refresh of lookup data currently happens only on login.

    ConnectionHeartbeat is initialized only on first time login and not when app is restarted.
    ConnectionHeartbeat has eventListener for foreground, for iOS it should be resume
    document.addEventListener('foreground', lang.hitch(self, function() {
    .....
    }), false);


    ------------------------------
    Nidhi Chawla
    ------------------------------



  • 8.  RE: When will records be transmitted back to the server after working in offline mode ?

    Posted Thu September 24, 2020 03:23 AM

    Hi @Steven Shull, I tried this but it did not work with Work Technician application​.

    - I changed the file based on the article, rebuilt app, redownloaded on the device.
    - Created WO in offline mode
    - Returned to online
    - The app identified that I am online very quickly
    - Newly created record (local data) has not been synced to the server until I made a change to an existing record/clicked Synchronize Data

    Any suggestion?



    ------------------------------
    Alexey Potanin
    ------------------------------



  • 9.  RE: When will records be transmitted back to the server after working in offline mode ?

    Posted Thu September 24, 2020 02:37 PM
    Unfortunately, no. At this point I'd open a case with IBM as it might be something they're aware of and working on fixing. With Anywhere 7.6.4 being a big change architecturally, it wouldn't surprise me if there are some situations like this that don't work properly.

    ------------------------------
    Steven Shull
    Director of Development
    Projetech Inc
    Cincinnati OH
    ------------------------------



  • 10.  RE: When will records be transmitted back to the server after working in offline mode ?

    Posted Thu September 24, 2020 08:34 PM
    Thanks for confirmation.

    ------------------------------
    Alexey Potanin
    ------------------------------



  • 11.  RE: When will records be transmitted back to the server after working in offline mode ?

    Posted Fri September 25, 2020 11:15 AM
    Alexey,

    If I read your post correctly, you state : "Newly created record (local data) has not been synced to the server until I made a change to an existing record/clicked Synchronize Data".  This is working as designed. Just because you come back on line does not mean any of your changes are sent immediately.  When you manual switch from offline to online, the action to Synchronize must be performed to tell the app to send all data. 

    Insofar as the Heartbeat is concerned, The heartbeat is still a part of the framework.  However, the property is no longer in the worklight.properties file.  The Knowledge 
    Center (it appears) is outdated, and in my opinion needs to be fixed.  The value IS in the Anywhere Administration application under the Anywhere Global Properties dialog box.  You can still change it there.

    If you DO change it that is fine it will simply tell the app to wake up and check to see it's connectivity status.  If connected it goes back to sleep.  If disconnected and you have NOT set you app to Offline mode (some apps have this not all), then it will attempt to connect and when connected it will send any changes.

    So... Scenario....  unbeknwonst to you, your app just finished checking at 10:03 am.  You are online.  All is good.  You then happen to Download Work List. Then switch to offline mode because you are going down into the basement where experience has taught you, you do not have good connectivity down there.  You go down and perform you work.  It has been 43 minutes since you went down there. (During this time your heart beat check at 10:23 and 10:43 to see if you were online.  You were not.  You now (at 10:46) turn you app back to online mode and connect. it will still be another 17 minutes before you heart beat runs.  

    You can continue on this way if your work is not critical and let the app do its work.  Or, you can Synchronize data immediately if the information you have is timely and critical. Most situations are not.  Some are.  Depends on your work and industry.

    In my opinion, too many people get caught up in "Is it online? Can I send that data now?" and get all panicky that the app is not updating immediately.  I think it is terribly ironic that when we move from a paper based system were data did not flow except in batches and only on a day later type basis. (Maybe at end of day if techs did the work prior to day's end.). Now when we are online we automatically expect it (the updated data) to be there instantaneously, and if it is not then the world has fallen apart.  If ind this mind set to be a bit silly.

    ------------------------------
    Bradley K. Downing , MBA
    IBM Certified Adv. Deployment Prof. Maximo v7.6.1
    IBM
    Bakersfield CA
    ------------------------------