Question about scheduled reports and sync We...

(Joseph Pentheroudakis) #1

Question about scheduled reports and sync

We started testing our iPad-based app today. Our operators use the app in the field, and they’re online while they do (default state on our iPad).

I don’t use the automatic sync since that’s too slow given their connection; waiting for every new record to sync takes too long.

The operators shut down the iPad when they quit at 8pm.

I have instructed them to do a sync before they shut down the iPad, but if they get busy they can easily forget to sync manually before shutdown. The device will sync when they launch the app the next morning (I have it set up to sync on start).

So, my questions:

Does any data get saved to the AppSheet servers while the app is online even if no sync has been initiated? Do reports use data on the backend or on the AppSheet server? In other words, will the reports still run and contain the day’s data even if there hasn’t been a sync?

I’m testing this scenario tonight, but I thought I’d ask anyway since I should know all that.


(Philip Garrett) #2

+Charlie Wells

I am not sure what you mean by “backend” vs “AppSheet server”.

Data is only sent from the client to the server when a sync occurs. The sync can be automatically or manually triggered.

When the data reaches the server it is written to the worksheet or DB.

AppSheet reports see data that has reached the server as the result of a sync. The reports also see any data written directly to the worksheet or DB (without going through your AppSheet app).

Data that only resides on the client (not synced) is not present on the server; therefore, the reports cannot see those pending changes.

(Joseph Pentheroudakis) #3

@Philip_Garrett_Appsh thanks, that’s what I thought (apologies for the inaccurate terminology). So the users need to sync before the client data can be reported. Got it.

For a fast and data-intensive application like ours it would be good if I could define a Sync action, say, that would be triggered when data on a column changed, for example on the form operators fill out at the end of their shift. I know that syncs are initiated by the server, not the client, so this is not doable. But it sure would be nice.

For now I’ll just post a reminder on the end of shift form.

(Philip Garrett) #4

+Charlie Wells

It might be possible. Ask me about this tomorrow.

(Joseph Pentheroudakis) #5

@Philip_Garrett_Appsh thanks! I may not get to it tomorrow, but I’ll definitely follow up.

Have a good evening.

(Joseph Pentheroudakis) #6

@Philip_Garrett_Appsh ping! If possible, the best solution for us would be to be able to schedule a sync at regular intervals. The other solution (a Sync action on changing the value of a column) would work too, but it’s a second best.

Thank you for looking into this.

(Joseph Pentheroudakis) #7

@Philip_Garrett_Appsh Me again. I’ve been testing the app all week and it’s behaving beautifully. AppSheet is a great tool, and totally fun to work with.

I just wanted to another reason in support of scheduled syncs. This came up during testing. While regular staff knows to sync at the end of each shift by now, we often have temporary staff using the app who might forget to do that. That did happen a couple of times this week.

If I could schedule syncs at regular intervals, or even at specified times, that would get around the user-error problem.

I realize of course that the data will eventually sync when the staff turns on their iPad every morning, but I’d like to send the scheduled daily reports to go out the night before, at the end of the day.

I hope that’s doable!

Thanks, and have a great weekend.

(Praveen Seshadri (AppSheet)) #8

Hi +Charlie Wells, I presume you have the delayed sync option turned on (to avoid having to wait for a sync each time a form is saved).

However, if you also turn on “Automatic background sync”, then the app on the device will automatically try to drive a sync in the background. This will kick off within 10 seconds of the form being saved. This is probably the best way to ensure that changes are being synced from the app to the backend in a timely fashion.

You may have an additional concern – what if at the very end of the day, after the last change, the user switches off the app before the sync is complete. It is possible this could happen, in which case, yes you will have the app sync the next morning.

Now, we have just added a new option which permits the app to be synced by clicking a button (but this is the equivalent of clicking the sync buttin at the bottom right, so I’m not sure whether this adds any extra benefit in your scenario).

@Philip_Garrett_Appsh FYI

(Joseph Pentheroudakis) #9

@praveen thanks Praveen. Yes, I have tried all options. Automatic Background Sync was too slow for our purposes - it drove operators crazy. They need to be able to get working on a new form a few seconds after saving the current form, and having to wait for the sync was just not workable.

And yes, my concern is that an operator might forget to sync before the end of the shift. Our full time crew knows how to do that now; the problem is our temporary/fill-in crew.

I suppose I could set it up so that all of a day’s shift reports aren’t sent out until first thing the next morning, when the crew powers up the device and signs in. That might be the way to go. In that case, what is the correct date expression to use in a filter to match to the date for the previous day?