Building an app for offline mode

Hello friends, i’m trying to make an offline-friendly app, among other things i’m looking for a way to recalculate values in a parent table depending on changes made to child records, is there a way to do this using actions while offline?
Also, what are the action types that are compatible with offline mode?

Any tips or tricks for working in offline mode would also be appreciated partyparrot (Appsheet)

EDIT: bonus question, if i add a child row, does it count as an update for the parent table? (since the Related Blabla field will change)

Avoid offline mode if you can help it. It just causes too many user issues for me. Mostly where users forget to sync the App then they clear the cache or turn off the phone, loosing all the data. Also iPhones sometimes do a random period sweep to free up space by clearing all the cache’s. This is not something you can control or stop.

Note that Appsheet will work with no internet connection in ‘normal’ mode. You just have to open the App using the internet. If the internet then disappeers then the app just queues up the changes.

AFAIK Appsheet will automatically try and send data every 30mins or so

Hope this helps, though not a direct answer to your question

Simon@1minManager.com

2 Likes

That’s quite dangerous for a production app, especially in the use scenario i had in mind where users could be in areas without internet or power supply.

It does help a lot ! thanks @1minManager

2 Likes

All App formula expressions and Initial value expressions triggered by Reset on edit? are recomputed immediately by the app directly every time a row is updated, either through a form or with an action.

Workflows and reports do not work offline, as they run from the server.

So your goal would be to trigger an action to update the desired parent rows when child rows are updated. With forms, you can use the Form Saved event action. With other actions (e.g., buttons), you’ll have to extend the existing action to include the parent row update.

Every one of these row updates will need to sync when the device goes online again.

All of them. Workflows and reports, though, cannot act on offline data.

Nope. You’ll need to update the parent row to force the recalculation of the Related … columns.

1 Like

If i try to manage the update of my parent row using the Form Saved event action only, i wouldn’t be getting updated values in the case the user decides to delete a child row right?

Maybe i could do a combination of workflows and event actions, the event action action would have me covered if the user adds or edits a row, but if he chooses to delete a row then it falls on the workflow’s jurisdiction, and that would only update once he’s able to do a proper sync.

As always, thanks for the help @Steve !

1 Like